Soft Skills: The software developer's life manual
Nikita Kazakov
Nikita Kazakov
5 min read

Bottom-line — 9/10 —This is an excellent book with practical tips on how to market yourself as a software developer. I took away gold nuggets on improving my blog and technical writing from this book.

I read this book as I was transitioning from my previous Petroleum Engineering career to becoming a software developer. I highly recommend reading this as it helped me market myself as a software developer.

John Sonmez runs Simple Programmer and went from a full time programmer, to creating many courses on PluralSight, to becoming an entrepreneur and retiring at an early age.

Sections 1 and 2 focused on career and marketing yourself as a developer. Those were most relevant to me. The other chapters focus on learning, productivity, finances, and fitness.

By using advice from this book, I further refined my blog and technical posts.

Selected Book Notes

The biggest mistake by far is not treating your software development career as a business.

This kind of mindset is crucial. When you start to think of yourself as a business, you start to make good business decisions.

It’s better to think of an employer as a customer for your business of developing software.

Businesses are constantly revising their products and improving them. You should too.

You can imagine that software developers starting out don’t think about their careers in this way.

Most software developers create a resume and blast it out to companies and recruiters. But when you think of a business, is that the best way to prospect potential clients? No. Don’t go out chasing clients one by one.

Most software developers are afraid of committing to a long-term vision for their career. They want to leave all options open to them because they’re afraid of choosing one path and going down that path.

Instead, we take the first job we get an offer for and stay at that job until a better opportunity comes along or we get fired—I mean “laid off.”

Don’t randomly walk through life without a purpose for your career.

It can also be one of the most intimidating things you do when looking for a new job. Interviews are somewhat unpredictable.

Imagine this scenario: you walk into a job interview, shake the interviewer’s hand, and as he looks at you, his face lights up with a moment of recognition. “Hey, I know you. I recognize your picture from your blog. I’ve read a lot of your blog posts.

I’ve seen the most technically competent, yet arrogant and unfriendly people lose out on a job to a much less skilled but likable person. See my post on skill stacking.

I’d rather hire a developer who knows a little less but knows how to figure out what needs to be done and how to do it, than someone highly skilled who requires constant hand-holding.

And don’t forget to practice. You might want to interview for jobs just to get practice doing interviews—even if you have no interest in a new job right now.

On visibilit: All of your hard work can easily go to waste if you can’t find a way to let your boss and upper management know what you’re doing. One of the first things I did whenever I started a new job was to start keeping a daily account of where I spent my time and what I accomplished during the day. I’d then take that information and compile a weekly summary every Friday to send to my manager.

It was a great way to gain visibility and it often appeared that I was much more productive than my peers simply because my manager was hearing about all the work I was doing.

Visibility: One of the best ways is to offer to give presentations on some topic or problem your team is facing.

Many developers go into a job interview with an apologetic and nervous demeanor that projects a lack of confidence.

But unless you’re a seasonal worker, an employer isn’t hiring you for the short term. Just about every other developer interviewing for the job is also going to lack skills or experience in a certain area. It’s better to project an aura of confidence that you can rise up to the occasion.

Hire a professional resume writer to do your resume.

You should have an online version of your resume (pdf is okay).

On marketing yourself

The real difference between great musicians and superstars is nothing more than marketing. Marketing is a multiplier for talent.

When you apply for a job, your resume is essentially an ad that is marketing your services. Even the things you post on social media or your blog give a message about what you have to offer.

You could be the most talented software developer in the world, but if no one knows that you exist, it won’t matter much. Sure, you’ll always be able to find a job, but you’ll never reach your full potential unless you can learn how to market the skills you possess.

Marketing yourself begins with developing a personal brand.

Create a sense of familiarity when someone is exposed to you or something you created multiple times. Branding helps you do that.

One of the most prominent ones I recommend for software developers is a blog. I consider a blog to be your home base on the internet.

Obviously, a brand should have a logo, because it’s a simple visual representation of that brand, but a good brand will use visuals everywhere it can.

You actively work to spread the word and get your name out there. You do this by blogging, writing articles, speaking, creating videos, podcasting or using another medium.

It’s my firm belief that every software developer who cares about their career should invest in creating a blog.

It’s very difficult to assess the skills of software developers from their resume and a short interview, so many employers have a difficult time knowing whether or not someone is a right fit for a job.

But imagine what happens if a software developer has a blog that has been updated regularly. You can tell way more about a software developer by reading his or her blog than almost in any other way.

Your stuff doesn’t have to be perfect.

Valuable content can come in different forms. Just sharing your experiences might help someone who comes to your blog.

Out of a room of 100 developers, I’m lucky if I see a single hand of people who not only keep a blog but keep it UPDATED. This will easily put you in the top 1% of developers, at least in terms of marketing yourself.