The demand for agile developers far outweighs the supply. And by far, I mean by light years. Take a look at this infographic that shows how wide the gap is between the available pool of agile developers and the number of job openings for agile. This "agile gap" has significant implications for developers and hiring managers alike.
The first implication is this: Most shops looking for agile developers aren't yet agile. They're either just starting out with agile, or they want to be agile, or they say they're agile but really aren't. Odds are high that the shop you're interviewing with for that agile position could be a potential nightmare gig in the making.
If you're a committed agile developer and you're interviewing for a new gig, how can you figure out if the company you are interviewing with is full of hot air or really is an agile shop? You don't want to discover your new team is just starting out with agile unless you wanted to help build such a team in the first place.
The truth is that there's no such thing as a perfect agile shop, because the industry is decades away from full maturity. There are companies that understand adoption of agile development requires a complete change in culture, and they've made or are making the transition. But there remain far more companies that don't have a clue about the culture of agile.
[ Looking for a promotion? Check out our Secret CIO's advice on moving up the career ladder -- 5 Steps To That CIO Title. ]
For agile developers, it's crucial to understand where a prospective employer is on the agile maturity curve before signing on the dotted line:
If they are agile, it will probably be a good fit.
If they aren't agile yet but realize they need to change, and are willing to commit to change, then it might also be a good fit -- assuming you're interested in taking on the role of change agent. Not an easy job, to be sure, but some people (like me) thrive on these challenges. If that's you, the position is worth considering.
If they aren't agile and think they can get there by hiring agile developers without really understanding the cultural change required, that's a recipe for disaster. Run for the exit.
How can you know where a potential employer falls on the agile continuum? Here are 10 questions designed to get at an organization's culture, because culture makes all the difference between organizations that succeed with agile and those that just talk a good game.
This is the number one question that needs to be answered, though it may not be a question you ask out loud. Use your eyes. The physical work environment can be an indicator of the culture. Do they work in an open space? Do they work in cubicles? You can still have an open work culture in a cubicle, but it does mean that the space is working against openness and, perhaps, that the company doesn't value openness enough to build it into its work environment.
2. How do you structure your work teams?
Next, I would ask about how people are organized. Will you work in a cross-functional team or are you going to be working in a silo? You're really looking for a collaborative, open, team-based work culture. Siloed teams by definition cannot be agile.
3. What tools and languages do you use?
While agile isn't associated with any particular language or toolset, these can give an indication of the culture. A tool doesn't make or break a collaborative culture, but a tool designed for a top-down development process is not well-suited for an agile environment. According to our research, the most popular language platforms in shops that self-describe as agile are Java and .Net (this usually means C#).
4. How much customer contact will I have?
Ongoing and iterative customer feedback, whether for internal or external customers, is essential in the agile process. How does this company or department engage with its customers or users? Does the company or department just go out and gather requirements? Or do they have collaborative sessions with the customer or user? That's really what agile techniques are all about. If the prospective employer asks you how you would use a set of requirements to create a solution, you know they're not doing agile!
5. Will I speak with my potential coworkers during my interview?
If you are interviewing with a company that shields you from the people you will be working with -- e.g., if you're just talking to managers and HR people -- it's possible they haven't discovered the value of building a team-centered work environment. When I was VP of development at Primavera, we conducted group interviews. If we knew someone would be working with three other people on a team, we'd have those three people interview the candidate. Sometimes we'd actually give them a problem to solve together, because we wanted to see how they interacted as a team.