Note: If you know me personally feel free to reach out for non-paywalled link
It still feels weird to say, but I’ve now been doing software engineering work at Google for over a year now. A lot of mentors and resources helped make that a reality. To pay it forward, I want to talk about four tips I keep in the back of my head as a software engineer. If you are an entry-level engineer like me, I think these tips could be especially relevant.
#1: The project success algorithm: design and familiarize and then implement and sell
This one is a mouthful, but I think I’ve put together a repeatable process for project success as an entry-level engineer.
At large technology companies, your engineering manager or Tech Lead will hand you a project to work on. The first step is to create a design document that outlines and prototypes your approach to solving the issue at hand. While putting together the design, I also recommend familiarizing yourself with the codebase by increasing the test coverage of the files your design will touch. Besides increasing testing, you could also refactor for readability or resolve TODOs. That way, you are already submitting code even as your design is getting approved. And once your design is in a good state, you can implement it faster since you already have some familiarity with the code base.
The second part of this algorithm is implementing and selling your project. Once it is complete, I recommend having a demo of your work you can show to your skip-level manager, cross-functional partners, and teammates. Never assume your work sells itself — you have to do that! This is also a good way to get feedback and come up with future project ideas.
And then when a new project gets handed to you … you start the process from the beginning. This is why I call it a success algorithm.
#2: Make it work, make it pretty, make it fast
Multiple engineers have told me this is a lesson they wish they learned earlier. The most important thing to do when writing code is making sure it works and not worrying about if it is perfect. Make it work. Then, later on in the project…