How to find the right software developer for your project
Portfolio isn't everything
A lot of blogs and influencers will tell you the first thing to look at is a developer's portfolio. What have they done? Does their design aesthetic work for your brand? How robust was that software, and did it meet the client's wants? I'm going to tell you this approach is ass backward and wrong. None of this means a damn if they are incapable of providing you what you need, not what you want. While taking the approach of building a checklist and pumping out code to check all the boxes has worked for the past twenty years as the software revolution has boomed, it's unsustainable and you'll wind up losing more time and money than you care to admit; let's not mention the extra grey hairs you'll acquire in the process. The era of utilizing dev houses which follow a consultative approach is emerging and here's why.
UX/UI are king, but not by themselves
Everyone relates quality user experience to an elegant user interface that is intuitive, easy to use and performs more than anticipated. What so many companies aren't saying is the user interface isn't what determines quality user experience. Quality user experience is how easy it is to crack that can of Rockstar. Quality user experience is the speed with which your Facebook app opens and provides you that stream of content you're constantly consuming. Quality user experience is the V8 engine running under the hood of that sport's car and carrying you to 100 mph in under six seconds. A user interface may make your user experience easier to consume, but if the underlying engine is junk you will not have a great user experience. To continue with that sports car, does anyone remember the Camaros with the four-cylinder motors? Yeah, that's my point. Unpredictable behavior due to logic errors, slow load times, or inconsistent workflows all contributes to shitty experiences. Any developer that tells you their user experiences ride on their gorgeous UIs is blowing smoke, and you should turn and run.
Loads of projects with few completions
Considering freelancing has become a way of life with nearly 50% of companies outsourcing work to freelancers, it's easier than ever to find out details of who you're looking to hire. In the development sector, you have access to StackOverflow, Quora, Github, and countless other places where developers congregate. Don't hesitate to ask for their Github handle, or StackOverflow handle and investigate these individuals. How many projects do they have? How many appear to be completed? Are they actively contributing to OSS? What kind of questions are they asking or answering? You don't need to hire an individual that is capable of starting 20 projects, and only completing one every six months. These are individuals that (a) are unable to handle project management and/or (b) create more bugs than they fix and are simply not experienced enough to handle something complex or robust. What this translates to for you, as a client, is missed milestones, deadlines that are more suggestive than authoritative, and frustrations due to miscommunication. If you're looking for a basic website, hiring one of these individuals can save you thousands, and you're helping them out by adding to their portfolio. However, keep in mind that you likely want someone more experienced and a bit more expensive if you're looking for a complex enterprise application to improve your organization.
You get what you want, not what you need
The customer is always right, at least according to many large companies. Back in the 20's that may have been true -- don't piss off the customer because people talk. This is not the case when it comes to software development. Oftentimes you come to a developer with a nebulous idea of what you'd like. You don't have the finer details hashed out, you can simply provide the pain points. Many times a developer will sit down and ask you some questions, and compile a checklist of functionality that needs to be present. Off they go on their merry way to hack out some code and provide you some tools that meet those requirements. Scope is everything in software development, and it's the developer's job to make sure they ask the right questions to find out what you need -- not what you want. There's a significant difference between the two when it comes to a usable product for the client, and hiring a firm that cranks out every desire will not provide you the software that will streamline your workflow, increase your reviews, and boost your efficiencies.
Make sure you're hiring a company that inquires about how you do what you do. They need to understand your processes in and out, through and through. While they won't do your job for you, it's important you help them understand how you do what you do if you expect to get the best bang for your buck. While you may have ideas of what you would like in terms of functionality, a competent and professional developer will be able to direct your vision towards an end goal which provides you a product that will scale with you, doesn't have non-sensical usability, and truly compliments your business instead of forcing your business to complement the software.
Quit hiring overseas (if you're in the US)
So, this will be an unpopular opinion. I and most other American developers will agree, though: quit hiring those $3/hr developers on Upwork and Fiverr. We're fed up cleaning up the messes they create due to lack of quality education, language barriers, and cost-cutting attempts on your behalf. These developers will extend your build out time, cost you, even more, money than you aimed to save, and frustrate the developer that has to comb through their illegible code to clean it up and make it functional enough to be somewhat useful. Now, if you're wanting a cheap piece of software that won't do what you need, and you're ok with potentially losing money in your business for that immediate cost saving, go for it. Otherwise, hire a developer that's in-country, or even better, local to you and receive work that is worth every last dollar you spend on it. You'll save yourself some grey hairs, and you'll save your future developer some lost hours of sleep and curse words.
Now, let me clarify. There are some very talented and competent developers from overseas. The problem is they know they're talented, and they aren't doing contract work. They're working for Google, Facebook, AirBnB, Uber, and many of the other great startups we all love. The individuals you will find on Upwork and Fiverr are the ones that are either still in school or couldn't hack it to play in the big leagues, so they take advantage of cost-cutting organizations in other countries and leave them with half finished spaghetti code that ends up costing three times as much when all is said and done. So, choose wisely when it comes to hiring an overseas dev house.
Culture fit
You're outsourcing because you lack the talent in-house to produce what you need. This is fine! There's a reason we're able to have businesses as software developers. We provide a way for other businesses to have custom tailored software created at a cost that isn't prohibitive. This does not mean you hire the first result you see on Google. You need to evaluate each developer for their culture fit. Do you like the individual(s) you deal with? How is their communication? Do they ask thought out questions and provide prompt responses to your inquiries?
Too many times have I been complimented on my immediate responses, or heard the statement, "wow, I wouldn't have ever thought of that," to be content with the state of my industry. Shopping for a developer isn't simply a matter of finding someone with the chops to knock out your project. Obviously, there is a substantial amount of details to be considered aside from their capabilities. You, as the shopper, need to make sure who you're hiring is going to be a good fit for your business, provide you the tools you are paying for, and meet your requirements economically, culturally, and intellectually. This is not to say you shouldn't hire the inexperienced twenty-something -- oftentimes these individuals will be more in-tune with providing quality work as they have a chip on their shoulder to prove something. However, it does mean that whoever you hire presents a sense of confidence and capacity to handle your project efficiently, cost-effectively, and within the time you specify.
In conclusion, here's a checklist for you to check off when shopping for your next software developer:
- Inquisitive - they don't listen to you list off needs without inquiring why you feel you need X or Y.
- Competence - there is content to back what they're saying. Many developers produce content of some type, ask to see it.
- Availability - they aren't so buried in other projects yours will not get the attention it deserves
- Cultural fit - can you talk to this individual? Will you have access to the developer or a point of contact?
- Locality - your point of contact should be fluent in your native language. Barriers in this regard can derail projects.
While this article isn't all inclusive, it should give you a good idea of what you should be seeking when embarking on the adventure of having custom software built. With the right decision, you can be like that girl above this paragraph, relaxing in the grass, worry-free and content with the latest milestone! Don't hesitate to reach out if you have any questions, or would like a consultation on your needed project! Thanks for reading.