To aspiring software developers: the interview is a two-way street
All new software developers entering into tech are hungry to land their first job. It is the breakthrough moment for many. Most folks I meet that are out of college or code school are passionate and hungry to learn.
Some are willing to do anything to land that first position. I often mentor folks that are so excited at the prospect of writing code for a living that they lose sight of key things during the interview process. Some companies exploit this excitement during the interview/offer stage.
So I am here to remind you, the aspiring developer, that the interview is a two-way street. You are evaluating the company as much as the company is evaluating you.
In that vein, here are three things that I evaluate when I am considering a company.
1. Is the work impactful and interesting?
Do you enjoy having your teeth pulled for 8 hours? No, probably not. For me, sitting at a desk for 8 hours a day doing work that isn’t impactful to the business or its customers is a waste of my time.
Do work that matters and that interests you.
As someone with a brain that is never on pause, I can assure you the worst thing for me to do is meaningless work. I view meaningless work in the same arena as sitting in traffic, having my teeth pulled, or [insert some other uncomfortable activity].
Therefore, for me to move to a company, the work needs to be impactful to the business. If it’s a Software Engineer position, I want to know that I am going to build features that delight customers. If it’s a Developer Advocate position, I want to know that I am going to help customers/developers solve problems they are facing by educating them.
This isn’t complicated. It is dependent on the definition of impactful within your context. Only you know the things that interest you versus the things that don’t. But, you must evaluate those things during the interview.
Here are some common questions I ask to help uncover the answer to this:
- What is the most impactful thing a person in this position could do?
- Who is the customer/consumer of my work? What is the goal of my work?
- How does this role impact the business?
2. Is this a place where I can evolve?
Stagnation. Lack of learning opportunities. Pigeonholed.
These are all the enemies of you evolving into who you want to be. Everyone has an idea of who they want to be, and that idea almost always changes. Therefore, a position or company has to be elastic and able to adapt to that evolution as well.
I am someone who prefers to wear multiple hats and not be tied down to a job description. This is how I evolve both in my career and personally. Not everyone is in this dinghy with me and that is perfectly OK. If staying down one track for the entirety of your career is your jam, go for it.
To join a company and be happy means that a company needs to offer the ability for me to go outside my comfort zone. Take on new responsibilities, learn different ways of doing things, and evolve into the person I want to be tomorrow.
A few simple questions I ask to help me see if a company supports this type of career evolution:
- What are the career growth opportunities for someone in this position?
- If I had an idea for X, but X was outside my responsibilities, what is the company philosophy on me doing X?
- How do you help developers stay in sync with current technologies?
3. Would I enjoy sitting next to these individuals for 8 hours a day?
You are potentially going to be spending 40 hours/week with people you meet during an interview. Which means you should enjoy speaking with them. Even if the position is remote, team collaboration and communication can either make your job enjoyable or absolutely miserable.
The tricky part is that this is very hard to determine in a 45-minute interview with someone.
The best approach I have found is to chat with folks about what they are passionate about. Don’t know what they are passionate about? That’s your first question to them. For me, when someone is passionate about something, they exude their true personality and what motivates them.
What if they have no passions? There is nothing wrong with that. Go further and figure out what they enjoy about their job. Get them talking about the things they like/dislike so that you can have a conversation.
The point here is to have more of an informal conversation than to ask a specific set of questions. In my experience, informal conversations bring out more of what a day to day interaction would look like. From there it's all about assessing that interaction and whether it was pleasant.
To conclude
This is not a comprehensive list of everything you as a developer should evaluate when considering a new position. The three things discussed here are my own personal opinions. I believe these likely overlap with a lot of others’ views as well.
The point here is that a job interview, developer or not, is a two-way street. As technical individuals, we can become obsessed with working with Big Company A because they are the leader in X. This isn’t a bad thing. But it shouldn’t be the only reason you decide to take a position there.
When you interview at a company, evaluate them for what is important to you and your career. Don’t take the responses as the full truth either — do some research on your own as well.
Remember, they need to hire you as bad as you want to work there.
Thanks for reading!
PS: are you hungry to learn about Amazon Web Services?
Want to learn more about AWS? I recently released an e-book and video course that cuts through the sea of information. It focuses on hosting, securing, and deploying static websites on AWS. The goal is to learn services related to this problem as you are using them. If you have been wanting to learn AWS, but you’re not sure where to start, then check out my course.