Categories
Job guides

How to get an entry-level Software Engineering job?

Role Basics: What is Engineering?

Engineers build products. 

Flavors of Engineering roles: 

Front-end engineers focus on what you see and interact with on your screen. Backend engineers focus on logic that powers what you see. Full stack engineers focus on doing it all. Data engineers work with large amounts of data. Growth engineers work in fast-cycle growth teams. 

Example Engineering projects: 

Every part of every software product you’ve ever used. The home page, signup experience, search algorithm, purchase button, A/B testing infrastructure… and everything else that happens in the background to make it all happen.  

Common activities in Engineering:

  • Writing code for new features
  • Finding the right open source library or third-party tool to save time 
  • Searching stack overflow for someone who’s solved your particular problem before
  • Refactor code 
  • Write automated tests
  • Debugging — figuring out what’s causing bugs and how to fix them

Engineering metrics: 

  • Velocity — scope of features built in a dev sprint
  • Product performance, depending on feature — e.g. latency/load time, retention
  • Code quality 

Engineering compensation: 

Entry jobs pay $60-150K. If you like the work and are skilled enough to get competitive jobs, Engineering is the most lucrative function in tech.

Engineering career path:

Great. If you love engineering, you can become a technical specialist. Or you can become an Engineering Manager, Product Manager or eventually lead a business. 

How accessible are Engineering jobs?

  • Time to learn. Takes 1-2 years and 2,000+ hours to become competitive for your first job.
  • Selectivity. Very selective. But Engineering is also very transparent — it’s easier to test if you’re great, so (while they help) formal credentials are less important than other roles.
  • Ease of working remote. Easy. Because of the cost of hiring in tech hubs and isolated nature of engineering work, many companies hire remote engineers. 

Job Requirements: What you need to be competitive for Engineering roles?

Key skills for Engineering:

  • Understanding of basic coding concepts. 
  • Understanding of concepts related to the kind of engineering role you’re applying for. 
  • Experience in the relevant software languages. 
  • Ability to create features and overall projects that are similar to what is required in the role. 

Professional background for Engineering:

Any. But must learn relevant skills and create a portfolio that proves capability. 

Prior accomplishments to be competitive for Engineering:

Has created a portfolio of learning and original projects that demonstrates capability to build things and solve problems relevant to the job. 

Personal characteristics for success in Engineering:

  • Enjoys building things. 
  • Systematic thinker. 
  • Enjoys difficult, focused work. 
  • Very analytical. 
  • Likes XKCD 🤓❤️.  

Key Engineering concepts and resources:

By Taylor Thompson

Taylor is a co-founder at Purpose Built Ventures, where he helps launch mission-driven companies. Before Purpose Built, Taylor led growth at Almanac, strategy for Curious Learning, and product at PharmaSecure. His work helps 100,000s of people collaborate at work, 4 million children learn to read, and protects billions of medicines from counterfeiting. He has hired dozens of people, helped raise more than $50 million, and contributed to HBR.org as a researcher with Clay Christensen. Taylor is an Echoing Green Fellow, and he has degrees from Dartmouth College and Harvard Business School.

Leave a Reply

Your email address will not be published. Required fields are marked *