This is an interview with Sean Hale about how he got into computers and then turned a degree in literature into a job as a software development engineer.

I met Sean at CppCon in 2019 and asked him to be on the podcast because of his experience.

You can become a software development engineer without a college degree.

This is something I mention all the time.

Sean has a degree in literature. But what gave him the skills to become a software engineer was a combination of a really amazing opportunity and a lot of hard work.

The opportunity didn’t just land with Sean by accident either. He made it happen by taking responsibility for his future and deciding to improve his skills. Then when he got the opportunity to learn directly from another engineer, Sean didn’t waste it. He worked his current job and took on extra duties at the same time. It was like working two jobs at once.

If you’d like to improve your coding skills and deepen your knowledge too, then browse the recommended books and resources at the Resources page. You can find all my favorite books and resources at this page to help you create better software designs.

Listen to the episode for more details or read the summary below.


Sean got into programming in high school. He enjoyed it but was worried about working with computers in a full time job. At this point, working with computers was more of a hobby for Sean.

He found a customer support role that made use of his skills with computer networking and building computers.

He later interviewed for a QA role and was qualified because of the product knowledge he gained while in customer support. The interview was looking for things like:

  • Can you reason well?
  • Can you work well with others?

Sean started learning programming on his own and then worked with a team member on building a game. He was also applying his skills to automate tasks.

About how long did the process take until Sean felt he was ready for a development role?

After a year and a half, he interviewed but did not get the job.

They needed a deeper knowledge of programming and reasoning. This showed Sean where he needed to improve.

Sean was presented an opportunity to work with a software engineer over a summer to improve his skills. He was pair programming to make Monopoly in Java over lunch each day for 3 months.

Then Sean started working side-by-side with other developers.

All this was done while still doing his normal QA duties. This was like working two jobs at once.

After another year or two, Sean went through another interview even more technical than the first and this time, he got the position.

The most important lesson to learn from Sean is this: Look for opportunities and be ready to work hard when you get them.