Lessons from The Complete Software Developer's Career Guide - Part 2

Posted by Alex Zdatny on November 10, 2019

Sonmez begins the second section by discussing the various types of internships. It’s a way to gain experience and also showcase that “you are willing to do whatever it takes”. He continues that it’s not about making money, but that it will open the door to more opportunities that will pay you later on. Sometimes interns tend to interrupt the time management element because they take time away from their boss and other co-workers. Sonmez says you should become “self-directed” and observe the workplace environment and anticipate the needs of your co-workers rather than having others constantly help you. This doesn’t mean that you can’t ask questions on tasks, but you want to be an active learner. It will be a lot easier to transition into a full-time job with this mindset.

In terms of finding a full-time job as an entry-level software developer, Sonmez expresses that the biggest risk for companies is hiring someone that doesn’t know how to code. It could be that your previous work experience doesn’t relate to software engineering, but I would think that recent graduates have a greater chance to get hired because they’re more likely to understand what’s happening now in the tech industry. I briefly mentioned in my previous blog post that Sonmez had interviewed a developer with over 15 years of experience who struggled with technical questions. The important lesson here is that you should always be coding something new because there are frequent updates and patches to the existing programming languages and frameworks that you’ve learned.

One of the greatest things that a developer can have to boost their resume is having an active online presence through social media, blogging, and GitHub. While this is a given, Sonmez states that this should never be neglected because it’s a genuine representation of your interests. If an employer sees that you’re active in the software engineering community through these platforms, it will greatly benefit you because it showcases your coding and writing abilities outside of what you’ve done through coursework. Sonmez also gives an incredible piece of advice that I’ve heard from several alumni. Building unit or automated tests along with your applications can make you stand out as a candidate. This is something that I want to work on as I continue to code.

Having applied to over 100 positions, I’ve been looking for strategies to improve my network and resume. Sonmez says that given the demand for software developers and the size of the candidate pool, it’s an incredibly competitive process. If you apply to 100 jobs, maybe 30 will give you a response and from there, the numbers become fewer with phone screens and interviews. One of the strategies that I’ve adapted to conquer this is time management.

Think about the amount of time that you alter your resume and write a custom cover letter for each application. Now combine that with networking emails, research the companies, scheduling meetups, it becomes a bit disorganized. But if you break down each day into time blocks and set a schedule for your tasks, it will reduce the stress level. I’ll admit that there have been some days where I’ve been more laidback than productive. I don’t think this is unusual, but it’s because I didn’t have the best plan.

Sonmez also talks about the importance of building a network, whether that’s reaching out to alumni and tech professionals, attending meetups and hackathons, or doing some freelance work before finding a full-time position. This can lead to referrals and opportunities that aren’t advertised online because you’ve now created meaningful connections with other software engineers and recruiters. Some of the best conversations I’ve had come from these experiences.

I completely agree with Sonmez when he says to be persistent because you want to go out of your comfort zone to move forward and onto the next chapter. This also gives you the opportunity to ask questions about what it’s like to work as a software engineer, the types of projects you’ll work on, which teams you’ll be interacting with, what languages you use, the day to day responsibilities, the culture and environment in that specific company, any advice to stand out from other candidates. It can be overwhelming to process all of this information, but it elevates your perception of what to expect and what you’ll be doing once you land a job. When communicating during interviews, now the experience is not so much of an unknown.