It’s no secret that finding developers is tough, and it’s getter tougher because of an ongoing skills gap. Combine that with the high turnover in tech companies generally, where three years is the average tenure, according to the Society for Human Resource Management, and the magnitude of the issue is clear.
Now more than ever your most important job as an engineering leader is to keep your talent. As part of that, it’s also:
- Getting developers up to speed and adding value as soon as possible
- Providing growth opportunities to keep them motivated
- Fostering a strong team environment that magnifies everyone’s potential
- The cost of doing the opposite is steep, especially when you consider the thousands and thousands of dollars spent in recruiting and training each new hire.
But how do you stand up to your most important task and make every moment work for you? These three theories about time will help you do just that.
Despite common belief, development teams aren't built out to produce a higher volume of work. It doesn’t matter how much you produce if you don’t deliver value. And since scientists agree that time isn’t infinite, you’ll simply have to make the most of the time you have.
To deliver value, you need to know what your customer values. And you can’t know what value is unless you’re tightly linked with your end users. You need to know what your users really want from your application and there are any number of ways to suss that out.
Embedding developers with end users for periods of time to understand what the customer’s day looks like, what their frustrations are, where they want to be more efficient but are held back for reasons they don’t control, and the like.
Online surveys that provide opportunity for end users to share their opinions of how things are working or not, and where they’d like to see improvements. (At Pluralsight we find this especially valuable, and conducted more than 120,000 surveys recently to make sure we’re meeting our customers’ needs.
Provide feedback forms within the application itself. Building a tool that’s precut with analytics to document the features that people are using most and least. Once you know what customers want, you can assign developers to projects that make a difference. From there, you can prioritize your efficiencies.
Flow efficiency delivers more value than resource efficiency. At best, busy work, face time and multi-tasking are daily irritants. At worst, they’re the death of your team’s productivity. For development leaders, effectively managing the work in progress relies on minimizing those inefficiencies for your teams. It also paves the pathway to maximum value, ensuring that your developers can can get their work done.
Fortunately, continuous application delivery is another fast track to value, making both customers and developers happy because they know the feedback loops they participate in create iterative, tangible results and a better product.
Some of your team will get up to speed quickly, others will take longer. Some will stay years, others mere months.
So, now more than ever, it takes tight collaboration among your teams to deliver maximum value. And it’s a good way to make sure you’re gaining the most value from each developer on your team during the time they’re at your company.
Insight from “Drive: The Surprising Truth about What Motivates Us,” by Daniel Pink, points to the important role of leaders in making teams successful: “Human beings have an innate inner drive to be autonomous, self-determined, and connected to one another. And when that drive is liberated, people achieve more and live richer lives.” He promotes a concept called ROWE, a results-only work environment; in other words, a focus on what drives value.
Developers who feel safe are willing to take chances and put their best effort forward. According to Julia Rozovsky, an analyst within Google People Operations, here are the five keys to a successful team at Google:
- Psychological safety: Team members feel safe to take risks and be vulnerable in front of each other
- Dependability: Team members get things done on time and meet Google’s high bar for excellence
- Structure and clarity: Team members have clear roles, plans, and goals
- Meaning: Work is personally important to team members
- Impact: Team members think their work matters and creates change
- The most important point within this list, of course, is that your developers need to feel included. That they’re in an environment where if they take a chance they’ll get rewarded with constructive feedback. That both risk and failure are a natural part of the development process.
And it’s simple: without this, you won’t get the best ideas or feedback and your development teams won’t reach their potential.
Teams with the best leaders perform the best
In a field where many managers start out as developers, it’s natural to want to continue to be a high-performing doer. If that sounds familiar, it’s worth remembering: your job is no longer to be the best possible developer you can be. Up to now, your technology proficiency has no doubt given you strong credibility among your coworkers. But it has little to do with your ability to nurture your team.
As manager, your role is to facilitate the success of your team, to help deliver results by making what’s possible a reality in their career paths and in the value they deliver. You’re the one who creates a safe, open environment for their success. You hold them accountable for their dependability, make sure they understand your mission and have clear goals, remove obstacles, and ensure they’re focusing on work that matters.
You’re the multiplier, responsible for making every developer or engineer on your team individually better, and collectively amazing.
Show up and listen
The best way to facilitate this by showing up and listening. That may include regular one-on-one meetings where you hand over the time to your developer to focus – not on project status – but on the deep input and feedback that will help uncover issues and ensure they are able to add value. You can check in on a project any time. A one-on-one should provide the insight you need to help you help your team.
Learn by walking
Another good technique is management by walking around (MBWA). Step away from your overflowing inbox, slack distractions, lunch at your desk, and your too-many meetings. Watch them in action, just like you would an end user, to uncover their challenges and obstacles. Then, make a list of their concerns, mark your action items, and be sure to follow up.
Regular team get togethers, both work-focused and more casual team builders, are important, too. Making these meetings optional will help you stay on task – if what you’re communicating is important, attendance will happen organically.
Ultimately, there’s nothing more important that your team wants from you than your availability. Except maybe your trust to do their job well. Your commitment of your time to them helps make that possible.
Another thing: If your development team includes remote employees, make an extra effort to do this when they visit the office, and if that isn’t possible, make sure their one on ones are more frequent than the developers you see each day.
Okay, it’s definitely partially about the money – we all work to support ourselves and our families. But it’s not ONLY about the money.
And as far as we can tell, time’s arrows only move in one direction, and there’s no going backwards to pay your engineers more or make them feel more valued.
American business philosopher Jim Rohn says it best: “Time is more valuable than money. You can get more money, but you cannot get more time.”
Besides, creative teams like engineers and developers, desire something more than monetary incentives. They want the company they work for to invest in them and value their efforts. Recognizing that will help you get the best performance - and increase the length of tenure - for your teams.
Engineers want to be involved in decision making
At Pluralsight, the entire team collaborates with the customer as we work through the various project phases. That helps ensure we’re delivering a user-centered product of great value. We also use a directed discovery method of ideation. While initial vision and strategy may be built by our executive leaders, defining the scope of what we’re going to accomplish (as well as what we don’t intend to accomplish) is up to the development team. With a prescriptive focus on principles over practices, they have the autonomy to move forward.
Coding is also autonomous, and to ensure we’re delivering high-quality code, we use a “four-eyes-on-all-code” approach. The way that’s carried out is up to individual development teams, who may choose code reviews, paired programming, or other creative methods to meet the requirement.
Learning is an ongoing journey
To create the engineering culture you truly want to have, encourage your teams to learn many things and value the role of continued mastery. That might mean teaching them to learn – and doing so with a guiding philosophy of AND, not OR.
During our journey to a new technology in the stack, we turned to our own platform, leveraging courses and channels to get up to speed on the languages and tools we needed to know. Beyond our own platform, our teams use a range of learning opportunities, including books, meet-ups, and more.
As Sophocles says, “The long measured pulse of time moves everything.” But creating a strong engineering and development team known for its unsurpassed value and longevity is within reach. And the best way to make sure your developers don’t move on is to get comfortable being uncomfortable.
Let your developers and engineers challenge your ideas, practices and principles in search of a better way. Give them the autonomy they need to solve big challenges. The reward will be a high-performing team where each member builds off of and magnifies your collective success.