1 Becoming a successful software engineer


This chapter covers

  • Avoiding misconceptions about initial skill requirements
  • Focusing on skills that will help you become a better software developer

From the outside, the software industry looks very compelling: many countries have no unemployment in the industry, salaries are fair, there is always room to grow, travel is often involved, and there is the option to work from your couch for a Silicon Valley startup. Why isn’t everyone working on software?

The truth is that while the field might seem interesting, getting in is not that simple. I knew I wanted to be a software developer before I owned my first computer. I made the choice when I was a kid, based on the value computers were generating even then. But when it was time for me to jump into the real world, it wasn’t just difficult to get in, it was scary and unwelcoming. I had no guide, no map that would help me navigate the maze that was job interviews or even job listings. I would spend a few hours every weekend going through the Jobs section of my local newspaper, looking for opportunities for junior developers without experience.

1.1 What you don’t need

1.1.1 Bachelor’s degree in CS or related degree

1.1.2 Knowing the software development lifecycle

1.1.3 A math, physics, or similar degree

1.1.4 Certifications

1.1.5 The desire to work in a fast-paced environment

1.1.6 Experience

1.2 Useful skills to have

1.2.1 Patience

1.2.2 Determination

1.2.3 An eternal student mindset

1.2.4 Accepting criticism and learning from it