Seniority level is the main factor in shaping the price of software development for the customer. Even within one team, the rate of a senior developer can be twice (or more) the rate of entry-level specialists. No wonder customers can be reluctant to have a high-level developer working on their projects—especially if they don’t fully understand what seniors are for.
This time, in Mad Devs blog post we explore the function of senior developers to show how projects benefit from their participation. An explanation of seniors’ contributions can help you as a customer to decide whether you need them on the IT team you’re working with or you don’t.
Who are senior developers, anyway?
Unfortunately, no universal criteria exist. From company to company, you’ll find different lists of requirements a developer must meet to be considered a senior.
Normally, seniority is measured based on experience and the range of skills. However, being a senior developer implies having very specific abilities that are hard to quantify: the perfect soft skills. Specifically, senior developers’ soft skills include adopting the business perspective on projects and critically assessing the costs. Let’s discuss these in a bit more detail.
Hard and soft skills
Hard skills encompass measurable and testable technical knowledge and skills:
- Specialized education*/ training
- Abilities confirmed by exams / certification*
- Using best-fitting patterns in coding
- Proficiency in programming languages and frameworks
- More business oriented with economic thinking in mind
* Education and certifications from respectable organizations signal theoretical knowledge. However, a paper with a stamp is never a guarantee that the candidates have successfully acquired the skills.
Hard skills characteristic of senior developers specifically:
- Experience in planning and building infrastructures for midsize to large projects (3+ services)
- Ability to see the big picture in projects
- Task prioritization (from critical to unnecessary) on each stage of product development
Soft skills, in turn, are interpersonal and creative abilities that help build relationships and find solutions:
- Effective communication
- Critical thinking
- Conflict resolution and problem solving
Soft skills characteristic of senior developers specifically:
- Understanding users’ needs and business needs
- Choosing effective solutions among various options
- Planning products’ future
Senior developers are expected to excel in both hard and soft skills. The latter are especially important in their work. Most of their time, seniors won’t be simply coding (coding is a hard skill; this can often be done by other developers). Instead, they will be solving non-standard problems that other developers can’t handle. And this brings us to the main point.
Why do you need senior developers?
Reason 1 - Senior developers translate ideas into technical objectives
Middle-level developers will often be able to complete technical tasks as successfully as seniors, so why spend on specialists of the top level?
The answer is: because senior developers will often be the ones to formulate technical objectives that are then broken down into tasks.
Unless your project is extremely simple (e.g., creating a basic landing page), it will have uncertainties. Even if you have a vision of your future product, you may not realize what technical solutions its development will involve.
The choice of technical solutions is exactly the realm of senior developers.
“People don’t want to buy a quarter-inch drill, they want a quarter-inch hole.”
It is the highly experienced members of your team, i.e. the seniors, who engineer the implementation of what you need. They select tools and plan step-by-step development by translating your abstract goals into specific technical objectives. That’s why their contribution is crucial.
Reason 2 - Senior developers calculate costs
We’ve so far argued that a true senior developer will tell you early on: “This is how we will develop your product”—and show you a detailed plan. Another thing seniors worth their salt will tell you is: “This is how much it will cost you”—and show you detailed calculations.
Senior developers always keep your budget in mind, find ways to optimize spending, and distribute expenditures proportionally to the value gained.
Let’s say you need to have a new feature developed for your product and approach an IT team asking them how to do it. There are two ways they can respond:
- “Sure, we’ll strain ourselves and deliver it to you ASAP.”
- “Look, we need to check if the proposed feature is compatible with the current system. We need to analyze whether the feature will even be useful. Its development will take this much time and will cost this much money. Should we really spend on it?”
The latter approach gives away the team’s professionalism. They won’t rush into development before they make sure that you’ll be able to benefit from it. That’s how you know that senior developers on the team are doing their job properly.
Reason 3 - Senior developers focus on the success of your business
Senior developers are not mere implementers of flawless software—they are your partners focusing on your profits. Let’s turn to examples.
Here’s what a good developer can tell you:
“We’ve found the technology that will allow creating the features you’ve requested. We know how to adapt it to your project, and it will take us a week to put everything together.”
Here’s what a good senior developer can tell you:
“We’ve done analysis and concluded that the features you’ve requested are unlikely to add any value to your product. They could also lead to performance degradation unless we refactor the affected parts, and refactoring will take this much (in time and money). So please consider these factors in planning these features’ development. We’ve also analyzed users’ needs, and we’ve come up with a better solution to help you meet those needs with cheaper features.”
The difference is that, in the first example, emphasis is placed on technological feasibility, whereas the second example is all about the value* of your product.
*Value is something about the product that can make it successful and help it generate profit.
Senior developers’ job is to constantly make sure that the team is not working on unnecessary things, i.e. things that don’t improve business performance. They adopt the customer’s perspective on development and critically assess the scope and the development processes.
Unless your project is trivial, it will probably need senior developers. They help shape the vision for it and manage the development team to increase efficiency. They calculate costs and make sure your money is well spent. Most importantly, they pursue not only the product’s functionality but also its successfulness.
You know a truly top-level developer by the way they talk to you about your business and its goals instead of talking about the product’s functions only. That’s how having senior developers on the team helps achieve maximum benefits and establish a partnership between you and your contractors.