The best way I can explain to you how important, yet difficult, it can be to find the right app developer or app development company is to tell you about my own personal experiences. I have literally tried, failed, learned, and succeeded in almost every avenue of finding and using the vast range of app developer options available (note: this article is also relevant for those looking for website designers as well).
I can safely say — this is not a “one size fits all” type of solution.
In summary it ultimately comes down to this non-exhaustive list of factors:
The technology your project requires;
Your expectations (quality of design and execution required — yes, this can vary depending on what stage you are at, i.e. prototype vs final version);
Team skill-sets — does your developer need to think strategically or just code?;
Importance of accountability for all of the above (where does the buck stop?).
A number of years ago I left the relative security of my role at a big corporate accounting firm in Brisbane to pursue my passion for technology, as well as to start my own business — control my own destiny kind of stuff. I’ll be the first to admit it, my knowledge of technology was pretty basic at the time, confined mostly to Microsoft Office’s suite of programs, like Microsoft Word, Excel and Powerpoint.
I’ll skip the whole part about how scary and tough it was quitting my secure career as an Accountant, moving into my girlfriend’s (now wife’s) parent’s investment property at subsidised rent, to focus full-time on my new idea for a website for designers. The focus of this story is to summarise 5 years worth of encounters with the mind bending range of website and mobile app developers out there to choose from.
Here are some of my most pivotal, life changing experiences with developers great and small:
1. Found an Australian based developer who outsourced to a development team in India: This one was a tough experience, one that involved a lot of emotions, legal battles, lost savings and a whole lot of steep learning curves. If you want to talk about throwing yourself in the deep end and learning to swim fast, this is how you do it.
Background: I wanted a custom iPhone app developed, I didn’t want to pay much (I actually had no idea how much an app would cost to develop), and so I filled out a bunch of enquiry forms on any app development site I could find via a Google search. The developer I went with was at least from Australia, but not Queensland (where I was living at the time). It turned out he was merely farming the development out to freelance developers in India.
Eventually when the deadline for a deliverable would roll around he would make up reasons why it has been delayed, and when he would give me something to review it would not resemble anything of quality or substance.
From that point on the project fell into a tailspin of what felt like an endless back and forth of emails and calls trying to get him to deliver the goods, expecting things to be better next round, but ultimately falling well short.
Key lesson learned: Detail specifically what it is that you require as the output, and read about the technology solutions your developer puts forward in their proposal.
What I would do differently next time: I would not pay a 50% deposit upfront. Pay in milestones for work achieved to a standard agreed prior to commencement.
2. Found freelance developers on Upwork (known as oDesk back then): I figured I had learned so much from my previous app development nightmare that I could manage a developer on sites like Freelancer, Elance or oDesk (now Upwork), and get them to build components of the technology. This was compared to getting an app developer to manage the whole development project, thus avoid paying them a premium to do so. I am a massive fan of using freelance developers, and believe that utilising remote talent can be great for saving on costs, as well as increasing your exposure to a larger global talent pool.
You just have to do your homework, and be prepared to manage the whole process carefully.
Background: I was building a marketplace website that would let people get their stuff moved by other people traveling that way. It was during the early days of the sharing economy, and sites like TaskRabbit and AirTasker were only fresh on the scene. I needed a backend developer to build the business logic, as well as a front-end developer to do the HTML and CSS for the beautiful user interface my wife had designed.
The two freelance developers did their respective jobs to a decent standard, but it involved a significant drain on my time. I had to micro-manage the process by providing super detailed instructions for every scenario possible (as these guys were not paid to think strategically), and then reviewing their work, reporting the growing list of bugs, re-testing, and repeat. The site went live, worked well enough for a minimal viable product (MVP), but ultimately there was no way this arrangement was built for scale (or change).
Key lesson learned: Like a lot of things, the more you pay the better the quality usually is. Freelance developers are no exception (don’t get me wrong, some developers might charge you a lot of money and still be terrible). Test their skills, view their portfolio of work, seek testimonials or evidence of their abilities.
What I would do differently next time: I would be sure next time to map out my future plans for the website and clearly communicate these to the developer, with the intention of hiring a developer who could assist all the way through (or who had colleagues who could assist at these later stages).
3. American based company called Sourcebits, who utilised their lower cost team in India, but managed the project via a New York City based project manager: It was time to go to the big guns to get things done right (i.e. on time, on budget, and does what it says on the box). This is where the savings account was raided out of desperation to have an app development agency in the United States of America turn my app idea into a reality.
Background: I had an idea for a smartphone app (iOS and Android), and after the failure of my earlier experiences I needed a company with a great reputation and a substantially credible client list to show for it.
Key lesson learned: If you require a custom mobile app with a reasonable degree of complexity delivered on time and within budget, you have to go with an experienced and proven team or agency. They have the human capital and strict processes that keep both you and the development team accountable at all times. You pay for it in “now dollars”, but you ultimately save in the long run. Quality development teams consist of project managers, UI/UX designers, business consultants, front and backend developers (software architects, software engineers and coders) who all think about the strategy behind what they are doing when building your app.
What I would do differently next time: Think more about what will happen after the developer hands over my app. Once the app is signed off the relationship is pretty much over with the agency unless you want more work done (at a cost that is). Mobile apps need upgrades as new operating systems are released by Apple and Google (Android).
4. Met local developers in Australia and formed my own startup with them: Looking to connect with others in the tech startup space I joined a bunch of local startup Meetup groups and tagged along to various Startup Weekend events. I met some great people by stepping outside my comfort zone and participating in these startup networking events.
We were the winning team at a Startup Weekend event, which is where I met two exceptional developers and formed our own tech startup together.
Background: Our startup was based around a mobile app that aimed to disrupt the tourism industry. Taking on the role of product manager I was involved heavily in communicating with customers, potential investors, the developers and the UI designer. The learning curve was second to none, and worth every moment.
Key lesson learned: Everyone on a team has their own motivations and drivers. Learning to recognise early who shares the right vision and who does not will help avoid costly conflict down the track.
What I would do differently next time: Break the project down into milestones and clear deliverables from all involved. Ensure that everyone is comfortable with the timeframes, expectations and takes accountability. Respond swiftly when people deviate from the agreed plan.
Whether it is a website, mobile app, web app, or database design, there is no simple answer to the question “How do I find a developer”, but I hope that through my experiences outlined above you have a better idea of where to start.