The Impact of a Skilled
SaaS Lead Developer
In this series of articles, we’re going to outline roles & responsibilities of critical SaaS team members. Adding to our recommendations to help SaaS providers build a strong core, we must emphasize the importance of hiring a skilled SaaS lead developer. While an excellent product manager helps set the vision, a lead developer puts ideas into action. Good ideas need to pass the challenges of a pragmatic and skilled developer. The end result should be a viable product, ready to help users reach their goals.
Role of a SaaS Lead Developer
We used the word pragmatic in our opening and mean it. Projects are doomed to fail if the dream is too big. Where an ambitious CEO may want to drive a grand vision, someone needs to put it through a reality check.
Let’s call the pragmatic lens a modified vision. Ideas are boiled down (or perhaps expanded) into something that can be practically built. Is it feasible? Do we have the right resources to do this? What other resources will we need? How long will it realisticly take? What might it become in the future? It’s like tumbling a stone — polishing the idea with realism. And realism isn’t necessarily pessimism, although it can be if it’s a bad idea…
A skilled SaaS lead developer delivers product. She believes in repeatable processes, good design, excellent user interfaces, high performance, security, and testing. If any of these elements are skipped, the project adds risk. Execution, then, is a process of its own, one that is repeatedly challenged and refined. A lead developer embraces the process.
Responsibilities of a SaaS Lead Developer
Lead developers often handle diverse responsibilities, including understanding business requirements, designing solutions, writing code, and leading teams.
Following the Product Roadmap
Although a lead developer can & should provide feedback on the product roadmap, the role is supposed to execute it. Sticking to a plan is essential. “I want to build Y” when asked to build X is akin to mutiny.
Design includes many elements: architecture, prototyping, designing database schema, and (gasp) documentation. The lead developer most likely delegates some elements but is accountable for them all. With an insufficient effort in design, a product will take longer to build and cost more to support. We’ll talk more about technical debt in a bit…
Yes, lead developers write code, GOOD code. They also review code regularly. They develop core functions and know how code interoperates (they hopefully designed it). They may not write the bulk of code — depending on team size — but they understand what’s going on with everyone else’s.
A lead developer who lets the inmates run the asylum is doomed. Coding standards must be ingrained early on for everyone on the team.
From design to DevOps, a good lead developer is involved in establishing repeatable processes. Without process, you find more errors, spend more time on troubleshooting, and miss deadlines.
Unfortunately, lead developers are pulled in many directions. Managing her own time and helping the team manage its time is valuable to the health of the project. What’s urgent, critical, and important? What is the risk of waiting on something?
We’re dedicated users of agile development, and we know the importance of building manageable “swim lanes” for our development team. A good lead developer understands the challenges of estimates and works to improve their accuracy to manage workloads. Whether your team uses t-shirt sizes or hourly estimates, you need to know what fits into the development calendar.
A lead developer needs solid communication skills, both written and verbal. We’re not talking Winston Churchill or Steve Jos, though — just being able to work with multi-functional team members. OK, maybe a little Steve Jobs helps.
Coaching & Motivating Team
To truly lead a development team, a lead developer must be part-time coach. She knows how to motivate team members to deliver great work. He sets up his team with good processes, solid templates, well-defined requirements, and then shows them how to use them. And she urges the team to make improvements too.
Managing Technical Debt
Over the lifetime of a SaaS solution, bodies will be buried… Shortcuts taken in the past lead to technical debt, whether in the form of infrastructure, code, testing, or support. A forward-thinking lead developer will know where the bodies are buried and advise the product manager on how to eradicate it over time. For example, if your SaaS product has a weak onboarding system, one cobbled together at initial launch, the roadmap should eventually include an overhaul to support scaling up. If shortcuts were taken in creating APIs in an older module, perhaps they can be fixed during another feature update for that module.
Skills of a SaaS Lead Developer
Anticipating challenges, improving ideas, and setting clear goals is valuable. Strategic thinking entails being flexible and decisive.
Over the years we’ve worked with many “cowboy coders” — they don’t believe in processes and, as a result, avoid accountability. Processes have a beginning, middle, and end. And the end is a result that can be measured. And then that process can be iterated or repeated.
Writes Optimized Code
Effective lead developers write high-quality code, including comments, that everyone on the team can read and understand. It’s clear, concise, and does its job.
As team size grows, delegation becomes essential. The product manager should “outsource” tasks to other team members when it makes sense. Adding redundancy is one advantage — more than one person knows how to manage product tasks — as is agility, where more things can get done faster.
Even Superman fears kryptonite. A lead developer knows where he is less skilled and finds the resources to help. Poor at documentation? Get help from a team member. Not sure about how everything can be secured for SOC II compliance? Ask about consultants who do. A lead developer may not check every box and earn five stars for each, but he knows where he’s weak and works around it.
We listed coaching and communicating as responsibilities. Lessons learned are important to share — else history will likely repeat. Documentation should reinforce what’s shared verbally.
Praises Publicly, Chastises Privately
Inevitably a team member will do something remarkable or make a serious mistake. As Dale Carnegie wrote many years ago, praise publicly (when things go right) and chastise privately (when things go wrong). Nothing impacts productivity and morale as much as getting this part wrong.
Keeps an Eye on Security
In this era, a security breach is more likely than ever. Security can’t be bolted on later — it must be included in design, development, testing, and deployment.
Stays Up to Date
There’s a difference between fads and trends. A smart lead developer knows which trends matter and incorporates them in experimental projects. The ones that matter (e.g., cloud computing, microservices, DevOps) are embraced and tracked. Ask your lead developer what industry blogs he follows — it’s a tell-tale sign.
The Impact of a Skilled SaaS Lead Developer
A skilled SaaS lead developer holds many responsibilities, primarily developing and testing software programs. Of course, the responsibilities can vary depending on the organization. Lead developers can expect to be involved in design planning, scheduling release dates, participating in product committees, and heading up project leadership. They are expected to manage their own work, as well as coordinating with the team. Ultimately, a lead software engineer also must possess the ability to review details and monitor product quality. Given the ability to do all these diverse tasks, the right lead developer is essential to SaaS product success.