You found a talented freelance developer and built the first version of your app. This new piece of technology has proven it’s worth for your business. You’re adding features and relying on it more everyday. But at a certain point, you may need to trade up for a larger development team to keep your app on track and hit your business goals. Here are five signs you’ve outgrown your freelance developer.
1. Your project is hitting a wall.
Programming is hard, and it’s better tackled as a team sport. We have many potential clients approach us after hitting the wall with a project. They’ve happily worked with a talented freelance developer for years, but suddenly, the app is showing its age and it seems to take forever to add new features. The software has reached a size and level of complexity where it’s difficult for one person to grow and maintain.
Many times the developer has hit a wall, too. It’s tiring to roll the rock up the hill by yourself over and over. And sometimes it’s nice to work on a different app with fresh new problems to solve. A burned out or bored developer isn’t doing his or her best work. In some cases, we’ve even heard about freelance developers going dark. They stop responding to requests and communication with no warning and leave you in the lurch.
2. No one is running your software project.
Think that’s your developer’s job? Think again. Developers aren’t product managers. And you probably aren’t one, either. A product manager is the person who sets direction for an app and makes sure it meets the needs of the business and end users. When we work with clients, we ask them to appoint one person at their company to work with us 20 hours a week. They provide domain knowledge about the business, help set priorities for new features and test out each new software feature as it’s built.
When you work with a freelance developer, it’s tempting to think he or she is handling all that for you. Independent contractors tend to be, well, independent, so they may not prod you to be involved at the level you’ll need to really be successful. We spend a lot of time coaching new product managers, because we know that the level of client involvement is the number one predictor of success for an app. A strong product owner ensures your development work directly supports your larger business goals.
3. You’re terrified of the day your freelance developer leaves you.
Talented developers have to fend off recruiters with a stick (or at least tersely worded emails), so odds are good that one day your favorite developer will move on to a new opportunity. You might get by for a while without a developer at all, but eventually, you’ll need to fix bugs, add features or just update your app to keep it stable and secure.
When you do hire, it’s going to take you a few weeks, at best, to find a new freelance partner. You’ll need to convince them your app has interesting problems to solve and find someone with experience in the languages and frameworks your original developer chose. And when all those stars finally align, it’s going to take your new developer some time to get up to speed on your app. At best, you’ll lose weeks finding a new freelance developer then weeks more as your new hire learns the code base. At worst, it all drags on for months and months.
4. Problems are taking longer to solve than you’d like.
Developing apps is hard, so two—and often more—developers are almost always better than one. A few weeks ago, a couple of us here at Gaslight were trying to solve a problem in our real-time transit app Bus Detective. When you clicked on a link to the Gaslight website inside the mobile app, you’d end up stuck on our website inside the app with no way to navigate back to what your really wanted—bus arrival times.
We kicked around a few solutions but all of them seemed iffy at best and required many hours of work. Then another developer, who overheard our conversation, walked over and suggested we take out the external link and instead, build a simple page in the app with a little information about Gaslight along with our email address. It accomplished our goal of doing some subtle marketing within the app and required much less work. One of our designers pitched in on the visuals and user experience.
Decisions like this are probably happening in your project on a regular basis. But with no daily, direct collaboration, your developer is probably taking the long way around more often than you’d like. Eating up hours that could be used for something else. Plus, a team provides a wider, deeper skill set than a single developer alone.
5. Your app needs to scale–either in functionality or to a bigger user base.
Once your app starts to become a critical part of your business, there’s a tipping point where you want to gut check your design and technology choices. Have you chosen the right languages, frameworks and architecture to scale? Or would a team of more experienced developers point you in a new direction? Could another developer jump into the project and easily understand and contribute to the code base? Do people look forward to using the app? Or did the interface and usability suffer from the lack of a UX designer?
It’s better to get an outside code review sooner rather than later. It can help you make sure your app is secure and sustainable, so you can meet those future goals. If it’s not, it’s better to find out about that technical and design debt before you invest more dollars. You might need to make hard decisions about upgrades, rewrites or in some cases, starting over with a new app.
Any of these sound familiar? It might be time to graduate to a team of developers and consider partnering with a development shop.