The Honest Guide for Coding Bootcamps V: Career Development and Growth
This chapter is part of The Honest Guide for Coding Bootcamps, a collection of thoughts after a full-time software engineer bootcamp.
Landing your first job isn’t the end of this process. Since day one as a software engineer, you must focus on continuing your career development and growth. These are my apprenticeship takeaways.
As an apprentice, you might be automatically paired with a mentor. If this is not your case, you should discuss with your company or team about creating opportunities for mentorship with senior engineers.
Not everyone is good or likes mentoring. However, if you find the right person, your onboarding and learning experience will highly improve.
As discussed in the networking section, don’t understand a mentorship as a quick or easy way to resolve problems. Google and documentation should still be your first go-to. However, your mentor should be a resource to get introduced to the codebase and internal tools, get insights on the codebase organization and history, discuss different solution approaches, get thorough code reviews, answer questions you haven’t been able to answer by yourself, and guidance on the next steps or areas you should learn and work on.
Turning Failure into Fuego 🔥
As in any new job, the first days felt pretty overwhelming because of my team’s seniority. However, the impostor syndrome faded away thanks to my colleagues’ and mentor’s support. A memorable moment came after my first incident. I pushed code, and our internal integration test failed. My mentor helped me revert the commit and communicate with everyone involved to fix the issue. I wasn’t proud of the fact that I had caused an incident, but instead of getting negative feedback from my team, my mentor shared the news on our team channel in Slack. Everyone celebrated it! It was a Win or Learn moment where an encountered problem turned into a learning opportunity.
Be cautious and detailed, but don’t be afraid of breaking code. Incidents aren’t just an opportunity to learn for engineers, they can also bring improvement to the company. After an incident, engineers meet for a postmortem. Postmortems are a process involving the analysis and discussion of the root causes; resolutions; lessons learned; and remediation actions for prevention, faster detection and recovery, and /or policy changes. For instance, an incident might surface the lack of integration test coverage that could have prevented the incident in the first case.
Ownership & Visibility
As an entry-level engineer or apprentice, it’s really important to make your work visible to your team and company. The first weeks of work will help you onboard and learn the basics to execute your job. However, you must show independence and leadership in your projects as soon as possible. If your project requires planning, use this to your advantage and deliver project management skills: create a planning document defining the project scope, objectives, and roadmaps.
Beyond your regular coding responsibilities, there are other strategies to achieve more visibility and increase your impact within your company.
- Writing documentation and doing technical presentations. Sharing knowledge is important. As you learn or develop processes, tools, or code, you might do online research or ask teammates. Documentation and presentations facilitate spreading knowledge and increasing the engineers’ speed. Your company will value your contributions and you’ll be consolidating your knowledge much faster.
- Reviewing lots of code. In the beginning, reviewing other engineer’s code is challenging but it gets easier with time. The more code you review, the faster you will learn. Reviewing code is not only an opportunity to improve the code quality in your company, but it’s also a constant source for learning and consolidating knowledge. Don’t limit your review to small suggestions, ask questions for code you don’t understand, and suggest best practices. If your reviews are thorough, other engineers in your company will start trusting your code quality and they’ll be comfortable giving you positive reviews.
- Writing blog posts. If you work on a challenging project, don’t hesitate to share it with the world. Keep the scope of your article very narrow, and describe what makes the project relevant. Ask a teammate to review it. Don’t forget to share it with your company and your professional network.
If you found this article useful, share it with anyone considering a bootcamp or already in the process of becoming a software engineer.
Thank you for reading this article and good luck with your future endeavors!