Tips for Finding Your First Engineering Job at a Startup

David Garnitz
Dev Genius
Published in
6 min readAug 15, 2020

--

Photo by Proxyclick Visitor Management System on Unsplash

Congratulations! You’ve made it through your schooling or self-study and are ready to start working as an engineer. Finding your first job as a software engineer is notoriously difficult: many companies do not have the resources to train junior engineers. This is especially true at startups, which often lack the resources to hire any junior employees at all, let alone engineers. While many posts focus on how to find job opportunities at startups as a junior engineer, the importance of finding the right first job is often overlooked.

An engineer’s first position is how the engineer moves from the theoretical constructs of computer science into the concrete work of building real systems as part of a team, working under time and budgetary constraints. There are many aspects of software engineering that are difficult to learn in books or solo projects, and must be learned at work. This first job often imbues the engineer with views and work habits that guide the engineer through their career going forward. As such, it is paramount that job seekers carefully evaluate opportunities to ensure they make the right decision. Candidates must remember that the job interview process is two-way: the candidate must find a company that meets their need. The following tips can help job seekers evaluate startups during the interview process and avoid accepting job offers to work at startups that are not going to offer a good learning experience for junior engineers.

  • Look for an engineering team with a collaborative culture. As a junior engineer, you will have tons of questions. So many things will be new that you will forget things, you will get stuck, and you will get frustrated. In these scenarios, it is extremely important to be able to get assistance and reassurance from your colleagues. Unfortunately, many engineering teams have a culture against asking for help. Some engineers look down on other engineers as not resourceful or intelligent when they ask for help. Some companies want their engineers to be as self-sufficient as possible, even if it means taking forever to accomplish things. Avoid these companies: not only will they be a terrible place to learn and grow, but they probably will not make it as successful businesses. During the interview process, explicitly ask what their views are on engineers asking for help. Find out if they let juniors pair-program with seniors. Make sure the senior engineers enjoy mentoring juniors and see if you can meet them before accepting an offer. During the early part of your career, you will learn a great deal from the team you work with so take this part of the evaluation seriously.
  • The company will give you time to grow into the role. A good first job in software engineering should be almost like an apprenticeship program, where the skills needed to succeed in the profession are taught and time to learn them is given. If the company is too worried about revenue growth and your immediate productivity, you could end up getting fired, moved to another department or assigned tasks where you do not learn transferable skills. During the interview process, ask questions to see if they will do things like let you spend some of your time at work taking online classes through Coursera or Udemy. Make sure they will set aside time for senior engineers to help you and that those senior engineers genuinely like working with junior people. As a junior engineer, you will not be an economically viable resource to the company right away. It is important they commit to giving you time to develop, otherwise they are not truly looking for a junior engineer, they are looking for a mid-level engineer who they want to pay junior-level wages.
  • Look for a top heavy engineering team. This team should have at least three senior engineers with 5+ years of full-time experience. Preferably they are not siloed by domain or technology so you can go to any of them for help. For example, if there are five senior engineers but only one frontend engineer and you are looking at a junior frontend position, that’s not ideal because there will only be one person to help you.
  • The company has plenty of small, relatively easy engineering tasks for you to work on during your first 3–6 months. In particular, you should inquire if they have plenty of bugs for you to fix and if they intend for you to spend the first 3–6 months working on them. While developing new entire features from the start might sound exhilarating, it’s also stressful. In order to be effective, you must have design skills and domain knowledge that most juniors lack. On new feature, you are more likely to get stuck frequently. Lastly, developing new features often takes weeks or months to achieve the end goal, so it is easy to lose motivation or feel you aren’t progressing. Bug fixes let you learn the structure of the application and the company’s toolset in more manageable chunks. If they are not high priority bugs, you can usually take your time, so it is a good opportunity to learn. Lastly, most bugs are small, which these give you lots of achievable milestones to help build confidence. Building confidence is especially important early on, as many junior engineers are afraid to make mistakes.
  • The management team has held leadership positions at a startup before. Ideally the management team should have been involved in startups that have successfully exited. As an engineer, you should be particularly concerned with the CTO and product manager having worked at startups before, as these types of positions are immensely different at large companies. Managing developers at a large company is a totally different ballgame, from the amount of resources allocated to the scope of the developers’ responsibility. Startups are unpredictable by nature, but a good management team can predict and account for this instability to reduce stress on their employees. Another tip is to make sure the CEO, CTO and product manager are not all be the same person, as this will make software development chaotic. It is difficult to balance those three jobs, giving each the time it deserves. Without daily supervision, development teams can become a free-for-all of developers choosing what to work on independent of a product roadmap or business needs.
  • The company is in a good financial position. While the ideal situation is that the company is profitable, this is fairly rare for a startup. Instead focus on companies that have recently received fundraising from reputable investors. You also want to inquire about financial metrics like the company’s current revenue growth rate, customer churn rate, and their revenue target needed to reach the next fundraising milestone. This will help you get an accurate picture of the company’s financial health. When speaking to the management team, try to detect any doubt or nervousness on their end about meeting financial goals, such as an overly ambitious growth target, as this is a major red flag.
  • Make sure to articulate what you want to work on and where you see yourself headed during the interview process. You should not join a team just because they give you an offer, make sure it is the right fit for your longer term career goals. Be straightforward about where you see your career headed in the next 2–5 years and make sure your vision aligns with theirs.
  • Pick a location where you can be happy outside work. Yes it’s a cliche, but there’s more to life than work. Developer burnout is a real and serious problem in the tech industry, so pick somewhere that you can build a life. An extra word of caution for anyone thinking of changing countries to find their first engineering job at a startup: think carefully about working in a foreign country. Things work differently and you will spend a lot of time and effort integrating into a new society and working culture instead of focusing on your job. Don’t expect a startup to provide you any real help relocating. They might offer you a little extra money but they won’t help you find an apartment or offer much guidance with regards to immigration — you’re on your own.

While it may not be possible to find a position that meet all these criteria, and this list is not exhaustive, it will surely help you navigate to a good first engineering job at a startup. Good Luck!

--

--