The Elusive Expert Web Developer
Expert web developers are hard to find and hard to keep. They operate in an industry in constant flux, survive by constantly reinventing themselves, and thrive on their ability to generalize insight gained through deep understanding and experience. To them, writing code is no longer about solving a problem so much as doing it in a particular way.
To the savvy web developer, time constraints, complexity, and technological requirements are no threat – simply another piece of a larger perspective. Software development is not a question of “how”, but rather a question of “in what manner”.
The thing that sets expert web developers apart from the crowd – it’s definitely a crowd – is their breadth and depth of knowledge. They understand software down to individual bits and bytes, but they also work well with the human aspects of software like design and usability, teamwork, and business decisions. A single expert can do the work of multiple developers in less time.
With all of this being said, how can you recognize an expert web developer and work with them to get things done? The first part is easy. If you’ve worked with one, you would have noticed. Just look over their shoulder for a few minutes, and you’ll see windows flicker, hear keys on their keyboard popping like bubble wrap under a steamroller, and smell the burning from their computer’s fan as it struggles just to keep up. Their productivity is magnitudes higher than other developers. They can work by themselves, communicate progress, and adapt to input from coworkers or clients. Some may demand higher pay, but many are just looking for something fun to work on.
There’s also another way to recognize the champions. Because of their abilities, they constantly seek challenges and new frontiers. Unfortunately, many people realize a great web developer after they have left to pursue more interesting work. They leave for many reasons such as too much busy work, lack of freedom, or too many rules and procedures. If they exist in an environment devoid of challenges and inspiration, there is nothing you can do to turn them around. For this reason, it is important to provide challenges and listen carefully.
When you’re working with an expert web developer, getting things done is a matter of accommodating the developer. Frederick Brooks does a great job of explaining what this looks like in his iconic book The Mythical Man Month. Individuals should operate like members of a surgical team. The expert developer is the surgeon, and members of the design team, copywriters, business analysts, and others surround him ready to provide him with what he needs at any given moment. They take his work and round it out with design assets, documentation, customer service, feedback, and suggestions.
Providing support is important when working with an expert developer, but it’s more important to satiate their craving for new challenges. When they work on the same thing day in and day out, you may notice their productivity slipping, and their general demeanor becoming more complacent. If this happens, you need to act quickly to engage them. One way is by giving them some time to themselves. Let them work on their own ideas. I think you’ll find that the time you’ve given up to them is made up for by increases in productivity. When they have a project they’re interested in, it inspires them, and this inspiration carries over into all of their actions.
Many times expert web developers are simply content with a change of scenery. This may mean moving them to a new project, encourage them to incorporate new technologies, or even just moving the furniture around (literally). Ask them for a prototype of an idea you or your team came up with but never focused on. Buy that latest gee-wiz software that lets them build widgets in a new way. Buy a couch. Give them gift cards to coffee shops and tell them to work from there. Send them to a tech conference. Sometimes they might need a breather, so give them a day or two of paid time off.
One of the biggest misconceptions when working with developers is that getting things done is a matter of management – setting deadlines, monitoring progress, adding new team members, having more meetings, etc. While this may be true for novice-level developers, it is just the opposite for the hero developers. Their success relies on inspiration, challenges, and mobility. I’ve known a lot of developers personally as well as professionally. A lot of them approach it as job or even a hobby, but the great ones stand out because their approach to software is holistic. Their demeanor is enthusiastic, their hobbies are unique, their style reflects their expert status, and the decisions they make are centered around software. There is no stopping them.