When I started reading “The Complete Software Developer’s Career Guide” by John Sonmez, I was overwhelmed when I found that would be 796 pages. Now I have read novels longer than this such as “A Storm of Swords”, but it’s difficult to compare reading fiction and non-fiction. Sonmez’s writing style eliminates any fear of this being a tiresome read and the way it’s structured has a remarkeable impact. It’s not only an incredibly conversational and comedic perspective on the tech industry, but also one of the most resourceful books that I’ve encountered.
Throughout the job search, I’ve been looking for any resources that could help me improve my programming and communication skills outside of what I’ve already learned. Sonmez discusses a lot of valuable lessons to conquer these challenges such as developing confidence, building new projects, and promoting yourself in a competitive market. In this blog post, I’m going to cover some of those from the first section that I’ve read so far.
Sonmez emphasizes that software developers should become “immersed in the ideas and concepts they want to integrate into their lives.” This ranges from learning a new programming language to networking with other programmers to expanding your resume. When building new projects and applications, it’s not just about what you code, but learning how to communicate it to others, especially in interviews and conversations with other engineers.
I found it interesting when Sonmez pointed out that a senior developer who came in for an interview, struggled despite having several years of experience on their resume. I think the reason for this could be that since programming is constantly evolving, some people forget that languages and frameworks are actively updated and there are different trends that the tech industry experiences.
One of the strategies that developers can utilize frequently to prevent this is exploring and comprehending the code of existing applications, open source projects, and software updates. Learning algorithms and data structures is important, but you also need to understand that applications go beyond one programming language from their initial deployment. Analyzing the code of real-world applications gives you a greater knowledge of what to expect when are you hired.
Sonmez explains that you should study the stack, the features and libraries, and how they all converge together. This is crucial to developing your own projects because they require work across multiple languages. Practicing consistently, whether that’s debugging or redesigning what you’ve already built, will help you discover more of your strengths. If you’re implementing the front-end and back-end, understanding how both sides collaborate to develop the finished product is more beneficial than just knowing concepts.
While Sonmez discusses what can help software developers from a technical perspective, he also describes how becoming actively involved in the software development community will lead to more career opportunities. All software developers, regardless of whether they attended college, a boot camp, or were self-taught, have faced similar challenges and experiences during their programming journey.
In the workplace, you’ll likely be working with a team or with a variety of departments to design and build applications. If you network with others in the industry consistently, you will get a much better sense of how to interact and collaborate with co-workers and understand their perspectives. Employers don’t hire machines, they want people they can trust and get along with. In the next blogpost, I will cover the benefits of job hunting and networking that Sonmez has discussed.
I would highly recommend to any software developer to purchase this book here at Amazon. I look forward to reading the upcoming sections and what advice and lessons Sonmez shares more about in the industry.