I have been thinking about writing a follow-up to my post on Eight Reasons why Most Technical Interviews Suck, more from the perspective of the person being interviewed, as the two different perspectives are crucial for both the employer and the job-seeker to understand.
However, I saw a post (via LifeHacker) on Shiyan Koh’s blog: 5 Questions to Ask before Taking a Job, and it covers some pretty good and salient points, many of which I would echo. And there are some things I would add to it.
The main points in Shiyan Koh’s post are to meet the people one will be working with/for, knowing whether or not one can learn from those people, are they invested in one’s own growth and opportunities, does one feel good about working with them and trust them, and how focused are they on value creation?
The latter point is more nuanced, and the post goes on in detail about that (head over there to read it, don’t just glance through my minimal summary), and all the points are relevant and good things to think about and get answers to, though there are some additional things I would add.
Are you Excited about this Job?
Doing a job, just plugging away at a keyboard, is surviving, not excelling. Times are hard, yes, and maybe that is what is required at a certain point in time, but optimally any job seeker (and any employee I would look for) needs to be excited and passionate about what they would be doing there. And its not just a matter of working on a platform or language that one is passionate and excited about, and neither is it just about working on a product, brand, or at a company one is excited and passionate about. It’s both of those things, and more.
Realistically, there’s nothing technically wrong with doing a job just because one can. However, it’s like looking at pictures of Paris instead of going to Paris, experiencing it, feeling it, being a part of it. In my experience, the best people to hire are the ones who are excited and passionate about what they would be hired to do, and the place where they will do it. They will provide feedback, push ideas and concepts forward, bring fresh perspectives, bring energy to the group, etc. Working at a specific job just because one can do that job isn’t all that bad in and of itself, but it cuts out so much more of the capabilities, and ultimately (in my estimation) isn’t a good way to spend one’s days. After all, people tend to spend more time at their jobs working on those things than they do with their own family and loved ones…it might as well be something that one has a passion about, and likes to do.
Is the Company Focused on Work/Life Balance?
This point is huge for me, and many others I know and work with. I come from a background of startups and the dotcom, then onto corporate behemoth Fortune 100 and 500 companies. None of those environments are typically good at keeping work/life balance as a priority, and many of them will pay it lip service on the one hand while forcing it on the other. I’ve worked 80 hour weeks for the past 7 years (I’m scared to see the average prior to those 7 years). There were 1-2 years in there, combined, where it was more like 100 hour weeks (one week I even hit over 118 hours). Why? Because I was excited and passionate about what I was doing, and I was extremely good at it. It was a self-reinforcing addiction. And I did not have leadership or environments that cared how much I was working, just that I was getting a hell of a lot done.
Working those kinds of hours is so negatively impactful on virtually every level. One loses touch with family, one is tired all the time, one’s brain is always in work mode, it becomes a habit that is hard to break, one doesn’t have time for a life, little things make one more cranky, etc. etc. Not to mention all the opportunities that are lost to the organization in this work mode (new innovations, methodologies, processes, etc.). It, quite literally, affects everything, not just one’s mental or physical health. And it makes time pass by so quickly, so deceptively quickly, that years later one may realize just what has changed in one’s life while one was busy. And it may be too late in some cases.
Besides, working more hours doesn’t directly equate into getting more done, and there’s plenty of evidence that says working more hours leads to more negative health impacts and inefficiencies (See: Why Crunch Mode Doesn’t Work – It’s the Single Most Expensive Way there is to Get work Done, and Overtime Doesn’t Always Pay, to name only a few).
So when I moved into management I was determined to not promote the same kinds of tendencies or expectations. I made it a point that the people who reported to me worked to live, and didn’t live to work. Especially since I look for people who are passionate and dedicated, which are traits that can easily lead to excessive work hours, and are thus easily abused by those who don’t have work/life balance as a priority.
Of course, there will always be times when more work is required, a launch or deadline is looming, etc. But these should be the exception, not the rule. These times should be balanced. And those who go above and beyond in those circumstances should be recognized and rewarded for it, as if they are not this is a very subtle cue that working insane hours is the expectation (though a manager should also be careful to not go too far with the recognition of working crazy hours, as that in and of itself can become the impetus for that manager’s reports to work even more hours to try and gain similar recognition). As with this overall point, things need to be balanced.
Any job-seeker should make sure to understand what the regular work hours are, what its like when a launch or deadline is looming, and how often do the hours go beyond normal work hours.
Is the Team Diverse?
Diversity is absolutely crucial to a strong team. I don’t just mean ethnicity or cultural backgrounds, I mean skillsets, technical backgrounds, and capabilities. In my experience, interviewing for a team where every person is virtually cookie cutter, all doing the same thing, is usually not a good sign. There are times when it works or is logical based on the work being done, but more often than not it tends to mean there is no other expertise to leverage, there is no drive for pushing the capabilities and knowledge of those on the team forward, and that they are doing the same tasks over and over. In the worst case scenarios, I’ve seen it equate into dictatorial middle management, rife with micro-managers who view the people who report to them as people they can lord over and be smarter than. In those extreme cases, it couldn’t be more wrong.
So the diversity of the team is crucial, and just as crucial is the diversity present in that team’s manager and their approaches (and, ultimately, executive leadership). If the manager’s background is not in something related to what the team is working on, that’s a pretty strong warning sign. If the manager tends to say things that reinforce the idea of there being only one way to do things and no divergence, that’s a pretty strong warning sign. Conversely, if the manager says things that tend towards welcoming new ideas, pushing new processes and methodologies, asking for critical feedback, being open to brainstorming and collaboration, etc. those tend to be groups that are managed much better, much more diverse, nimble, capable, and a place where one can grow their skillsets, both technical and non-technical.
Can you Grow at this Job/Company?
This is similar to Shiyan Koh’s point about a company being invested in the growth of the individual, and is such a crucial area that it bears repeating and more detail.
Improving one’s abilities is great, becoming better as a tech lead, or knowing the ins and outs of SDLC or OOP, learning Design Patterns, those are all great. Yet those are all, ultimately, more narrowly focused, often to the role at hand. Realistically, however, they are only one part of the equation. To truly grow, one has to be exposed to different things, concepts that are new or unfamiliar, tools and platforms that question one’s preconceptions, new types of projects or roles. There is an adage that any company is going to want its employees to learn and improve on things that help that company’s bottom line, and unfortunately that definition tends to be interpreted of the more narrow variety as opposed to growth that is diverse and not in a narrowed interpretation of a specific job’s duties.
Everyone has latent abilities and interests. I’ve had software engineers, flash engineers, and web developers who were interested in more middleware engineering, or how project management works, or any number of things that were not directly related to what that team or individual worked on day to day. However, I recognized that my employees learning these additional things increased their own skillsets, lets them flex different muscles, exposed them to new paradigms and thought processes, but also increased the knowledge, diversity and potential opinions and feedback that can be garnered from those employees. In short, while it wasn’t always directly applicable at first blush, the increased knowledge of any one individual was directly applicable in the collective knowledge of a team, its capabilities, understanding the “big picture,” and the happiness of a company’s employees.
Granted, that is my management style, and every person is different, but at the very least one should be able to know if a job will allow for additional training or knowledge, the room to expand and grow in different directions. And, much more to the point, one should know if the position is meant to do that one task or set of tasks and nothing else. If one is expected to simply do what one can already do, if there isn’t a focus or even possibility of growing in different directions that arise naturally and organically through one’s career, if the people who lead that team do not see the benefit of the people on that team understanding the bigger picture and being exposed to different things, then it could be argued that the position in question is far more limiting than others still out there, and has a much sooner expiration date than other positions would naturally have.
As a job-seeker, don’t accept jobs where one gets the sense or hint of stagnation or repetition. Those jobs will quickly tire, and quickly drain an employee of their energy and drive.
Never Make Assumptions
I really can’t stress this one enough, it is absolutely vital to a good interview and being able to make an informed decision as a job-seeker. Every company has their own quirks, their own definitions, their own ideas…many of them even have their own language or ways of describing things that are not common or industry standard at all. Not all of those will be the same as one’s own past employment experience. A Web Development team at one company may not be even remotely close to a Web Development team at another company. They could be doing more creative work, more design-focused, they may not have any focus on Front End Engineering. And, if the similarities are assumed, a Web Development team that hires Front End Engineers is the same as a Web Development team that hires designers, when they are quite clearly not the same. Assumptions would make them appear the same in this example.
Besides the potential pitfalls of those more extreme examples of how making assumptions in the interview process can be fatal, assumptions also sidestep key questions and answers in that a job-seeker may not ask any number of questions because they assumed commonalities, similarities, or that things were the same as a past job because it was referred to in the same way during an interview. Things like “Our process lets us do this kind of work more easily.” One may assume what that process is, for any number of reasons. Instead of making the assumption, ask what the process is. Understand it.
This also has the added benefit of coming off as a stronger candidate in the interview, who was more interactive and asked more questions. Never making assumptions and instead always asking questions is a better way to go about an interview (and countless other interactions in life). So don’t assume. Ask and understand.
In summary, there are countless other points one has to consider before deciding a job is right for them, and some things are only quantifiable or measurable for that individual (how far of a drive is it, benefits, perks, pay rate, culture, etc.), while others are more objective in commonalities, such as those listed above.
Overall, always know what you are getting into, think about things that have been pain points for you in your past experience, and ask questions to help you see if any place you are interviewing at has those tendencies. And I can’t stress this enough: never make assumptions in interviews, even down to the point of assuming one company’s definition of a development or tech team is what you think it is…they aren’t always the same. Know what you are getting into.
Remember what G.I. Joe said: “Beach Head, I wanna talk to you about your deodorant.” (And you thought it would be about knowing being half the battle.)