There’s more to cutting-edge software developers than just prior work on a similar project. In fact, matching experience is the least important thing to look for. Agile processes, deep technical knowledge and skills, and verified success are the real indicators of a cutting-edge development team. This article explains the most important qualifications to look for and how to find a dev team that has what it takes to create not just a specific product but a lasting solution.
Just because they did something similar
If you, as a developer or client, ask only questions like these in interviews, you probably won’t get the answers you need to make an informed decision:
- What social media apps like Facebook have you worked on?
- What retail e-commerce sites that use Shopify have you with?
- Have you ever integrated a website with Braintree payments processor?
- What video-sharing apps have you worked on?
- Have you built or worked with any apps for veterinarians?
Sometimes, all it takes for a company or job seeker get the job is to say that they did something similar, especially if they’re the only applicant with that specific experience. Questions about prior work on the same platforms might seem reasonable and relevant. And many non-tech savvy people select their vendors in this way because they don’t know how else to choose. If a team did work like what they need, and it appears to be working, that looks like evidence. But in the computer tech world, surface appearances can be deceiving. And these clients often don’t find out till much later that they made a terrible mistake.
Renting a car
What if you picked a car to rent by using this same thought process?
Me: Hello, I want to rent a car.
Attendant: Sure, what kind do you want?
Me: Well, I can drive stick-shift cars, so I’d like one of these.
Attendant: Of course. I have many options. We have a Ford Taurus with four doors and a 5-speed gearbox.
Me: Oh sorry, but I can only drive 6-speed gearboxes. And I’ve never drove a four-door car. It might have a different gravity center, so I might have an accident.
Attendant: Oh… Ok. I can offer you a Ford Mustang with a 6-speed gearbox and two doors.
Me: I’ve never really drove a Ford, so I’m not used to the clutch.
Attendant: Well, the last option is this blue Camaro with a 6-speed gearbox and two doors.
Me: Wow! That’s exactly what I wanted. I own a Camaro. But…. this is the newest model. I’m not used to driving this one, so I might cause an accident. And I never drive blue cars because they might reflect the sun and affect my vision.
I know you’d never choose a rental car in such a crazy way. But many companies choose their developers based on those same type of surface features and cosmetic details without ever looking “under the hood.”
The nuts and bolts of good software engineering
Industry-leading engineering practices and processes are always more important than work done on a similar project — by far. That’s because high-quality software development is an agile process, not a product. It’s important to have the knowledge, tools, mechanisms, and team to accomplish complicated tech projects. But those elements alone aren’t enough. The only way to real, lasting success is by co-creating amazing products through a process of ongoing close collaboration between the client and the dev team.
When you work with a team that embraces agile, you get more than just a point-in-time product. Agile-created software supports your evolving business in the present and never adds technical debt to your future. Agile developers dig deep into your existing platform to learn about your needs. They don’t just make band-aid fixes. Instead, they tell you exactly what needs to be done, even when it’s not what you want to hear. Developers with agile standards become your partner and support you through the process of initial planning, strategic development, and operations and maintenance. They want your platform to not only meet your current needs but to also scale to support your growing business. Read more about the dev process in this agile article.
Experience on a specific API doesn’t tell you anything about a team’s capabilities. That’s because Facebook API, Twitter API, Stripe API, and SalesForce API, as different as they seem, are all built on the same technology principles. With a countless number of APIs out there, it might not be easy to find a team that worked on a specific one. If you can’t go by exact experience on an API to assess a team’s skill, find someone with a proven track record who can. Don’t just ask the team’s references what work was done, ask how it was done:
- Did the team learn about your company and work with you throughout the entire process?
- Did they do a code audit on your platform to check its health and scalability?
- What work did they recommend or do that went beyond your basic requirements?
- Are they still involved with support for your systems?
The answers to these questions tell you much more than whether a dev team completed work like yours. You’ll learn whether a team is qualified to deliver quality software that can stand the test of time and expansion. Unfortunately, there are many underqualified but oversold companies and individuals who create products that work on delivery but eventually result in harmful technical debt. You can learn more in this technical debt article.
Cross-industry software engineering
Quality standards, automation, scalability, and architecture are concepts that don’t belong to a single vertical, which is an industry or application use. The beauty of software engineering is that the same technology can solve different problems in many different fields. From an engineering standpoint, the steps to build a social network or a music-streaming app aren’t that different. It’s all basic engineering. The most important factors are the technical skill of your team and their ability to work agile. A top-level dev team will also empower you to become a better product owner. Find a team that’s not just passionate about your work but also fully qualified to deliver a cutting-edge solution.
Some verticals might leverage more previous experience than others. As an example, work with genome analysis might be useful for an app that does something similar. But that scientific field is founded on an understanding of data analysis and pattern recognition. In other words, that experience shows that the team has genome knowledge, but it doesn’t prove they can build the best platform or even a decent platform. It’s much easier to gather some basic knowledge about a specific vertical like genomes than to learn and put into practice the high-level foundations of software development tech.
How to choose your team
Check your prospective company or developer’s portfolio. If they’ve accomplished great work, even if it was very different, they’ll probably do stellar work for you as well. You’re unique, but the same engineering practices apply to all verticals. Check your prospects’ references, ask about their quality standards, and processes, and please go agile! If you’re still in doubt, ask an independent entity to run code audits on the team’s past work.