This is a guest blog post from Don Abrams, lightly edited. Enjoy.
Dear new developer,
When starting out, the hard part is balancing two things:
- Asking questions
- Banging your head against the wall
Additionally, as a new developer you’ll likely be encountering something for the first time: a codebase that is really really large. Like large enough no one knows all of it. You’ll want to learn how to navigate the codebase ASAP. Every place is different. If you can checkout all the code and get the product running in less than a day, you’re at a world-class shop. If it’s more than a week, I’m sorry.
After you learn to navigate the code, my recommendation is then to learn and copy the patterns that other team members use. So your questions should mostly be “how did someone solve this before?” or “hey, have you seen anything like this before?” If you look at the code they referenced and still have questions, then bring it back up ASAP.
If someone offers to pair, DO IT! Tip on pairing as a junior: be the keyboard and basically have them tell you what to do. You’ll learn how they think about the codebase and learn to navigate it better. You’ll feel stupid when they tell you “just” to do something, but those are the things you need to know. (“just XXX” signals that XXX is complex thing that you’ll take for granted soon– documenting those will really help the next junior).
I also recommend reading a LOT of code.Then, as you get a better command of the codebase and team patterns (3-6 months), you can start asking questions like “why did someone solve this before this way?”
That’s when it gets fun.
Don Abrams has over 10 years of software development experience and recently moved to France.
Dear new developer,
I talked previously about a technique to help you network with strangers.
But networking isn’t just about meeting strangers and starting up conversations easily. The easiest way to build your network is to foster it at work. Again, this will help you if you are looking to hire, learn more about an interesting company for a job or partnership, or want to ask someone about technology they’ve used or problems they’ve faced.
Here are some tips that will help you do so.
- Use LinkedIn. I’ve already written about that, so I’ll just say that you should keep your profile up to date with your positions and accomplishments, as well as link to folks you have met in a professional context.
- Never leave a job on bad terms. This means giving the requisite notice, running through the finish line by documenting your work and preparing for a handoff, and not speaking ill of your former employer (of course, I am not a lawyer and there are definitely grounds for speaking ill of your employer if they’ve violated laws). You may be very excited about the new job, but think about how you’re leaving your current position, and treat your teammates as you’d want to be treated. Doing so means that when you want to tap your network, they’ll respond.
- Reach out periodically. This can be as simple as sending them a LinkedIn note when they have a work anniversary or have changed jobs. If you know they are interested in a technology or domain and have run across an interesting article (perhaps via your RSS feed or your online community) send it to them with a quick note. If you are going to be in the town where they live, suggest meeting up for a coffee to catch up.
- If someone has a request for their network, try to help. Depending on how strong your relationship, you may want to reshare the request, think of someone who could help, or attempt to help yourself. Be wary of doing too much for the strength of the relationship. I was overly enthusiastic once and sent a bunch of intro emails for a new service an acquaintance was starting. The service didn’t go anywhere and I felt foolish for asking people I was relatively weakly connected to for their help.
- If you ask for help, follow up if someone provides it. Thank them and let them know how you used their help. Nothing is less fun than helping someone in any way and then having them go dark on you. And don’t ask for help too often from the same person–this is more qualitative and you have to judge the strength of the relationship; the stronger the relationship, the more often you can ask.
I’ve used these tips in the past to keep my network alive and will do so in the future. Unlike in other professions, the bar for network activity in development is very low, so if you do even one of these, you’ll likely stand out.