How to choose the right development partner
When building an app or software platform, the typical entrepreneur must hire a programmer or team of developers to build their dream. Outsourcing comes with a long list of challenges and issues that can be frustrating to deal with. In this episode, I’ll not only give you tips on how to choose the right development partner, but also how to work with them properly so that you’ll succeed.
Here’s the transcript from this podcast episode, please excuse any typos!
In today’s episode, we’re gonna talk about how you can choose the right development partner, and build a software platform. And then I’m going to give you some tips on how you can get the best results when working with a programming team, or a development company. Let’s face it, at one point, everybody thinks they have the next big thing. A new killer app idea. And then it’s going to be a unicorn. Unfortunately, they don’t take into account how difficult it is to develop a new software platform, and then market it to the public. Most non technical people who are familiar with business, finance, marketing, and other fields have never encountered a situation where they have to build a technological marble out of thin air. That’s why when I try to explain technology development to people, entrepreneurs, people that pitch me their ideas, basically, I always use analogies about houses or cars, and in some cases, I’ll take the person’s most recent, or current job, and I’ll use an analogy for them to understand using their job. For example, you can build a very small wooden house, or you can take it a step up and build a brick townhome or of course there’s the larger option and building a huge mansion. Let’s take those three options, and put it into an analogy in the software world, you can hire a junior, intermediate, or expert programmer.
So with houses, you can find someone to build you that wouldn’t house, or the brick townhome or the intricately detailed mansion. But in order for you to build a custom house, you first need to hire an architect to design a blueprint, and then a construction crew to build a foundation for the house, then the frame is built and eventually you have to build the kitchen, the bathrooms and bedrooms, of course finally you have to install lighting plumbing windows, doors, and everything else that goes into the house, you could say the same about a car too, because you can buy a cheap car, you can buy a nice middle car like say Alexis, where you can go with a sports car and buy a Ferrari, but again we get back to the same thing, no matter which car you buy, someone still has to design the car, and they have to manufacture tooling for a refresh or a new body. And that can be 200 million to $600 million for a full redesign. And let’s not forget about the engine. That’s what powers your car. Well, in the world of development the body can be what people see, such as the front end design, the graphical interface typography icons style and colors, the frame, could be quite literally a framework that you can build on such as Objective C for iPhone PHP MySQL or Node. js MongoDB for web or cross platforms. php MySQL, or Node. js MongoDB for web or cross platform frameworks like Facebook’s React Native, or Microsoft Xamarin.
Lastly, the engine could be compared to the main algorithms, the functions, the database, the back end servers and the overall infrastructure that powers your platform. While humans have been building houses for millennia, and cars, since the mid 1880s developing software is a relatively new endeavor. Even when NASA was sending astronauts to space in the 1960s, we were using a very basic programming language and massive clunky computer systems, even smartphones are only about a decade old, the internet, created a major paradigm shift that has caused a huge urgency and need for programmers, of which the world is in short supply. Not only that, but the number of available expert programmers is very low. And most of them work at the big tech companies in Silicon Valley, and other parts of the world, and oftentimes they’re running their own startups like me. Now, if you’re lucky to lay one of these guys as your chief technical officer or CTO, for your startup, then you are able to avoid over 100 mediocre programmers and find that one expert. And that number might even be 1000 to one, maybe even a million to one. But here’s the good news because there are so many programmers worldwide, just as you can hire someone to fix something at your house or fix your car, you can also get someone to build you a simple website.
Also, with the invention of WordPress, and learning how to use it through YouTube tutorials, anybody can realistically build their own website, but here is where the disconnect lies, building a simple website for a simple mobile app is extremely different from building a highly complicated mobile platform with superior functionality, infrastructure, and scalable servers. It’s the difference between heating up or frozen dinner and learning how to cook an entire seven course dinner, that is served in a restaurant with three Michelin stars. Now, I’ve personally built a minimum of at least 100 websites, both personally and professionally, along with almost a dozen mobile platforms to build them all. I had to hire several companies around the world to help. Now I can safely say I’ve worked with a minimum of at least 20 software development companies in at least eight different countries. One thing has been made clear to me, over the past 20 years building software platforms. The majority of software development companies hit a wall when it comes to their skill set. Most non expert programmers can build the basics of your platform, maybe even the back end, and title together, but they somehow always struggle to build the difficult pieces your app needs, and that’s when they get stuck. So then you have to find somebody to help them, things start to break, your app doesn’t work properly, it starts to crash. And you can’t market a broken product. At this point, you spent twice the amount of money you originally thought. And it took twice the amount of time you planned for you are behind schedule and running out of money fast. And to top it off, you don’t even have a good product. Let’s say you’re an aspiring singer who would you rather get to produce your new album, your friend down the street who has a podcast studio or Grammy Award winning Jay Z, or, who would you rather get to help you learn how to pay your high school art teacher, or Vincent van Gogh.
That’s the difference in quality and skill and development as well. You can find a ton of junior or even intermediate developers, but not that many experts, and when you’re building a complicated platform. Here are some of the things you may experience with the most non expert outsource developers that you hire the biggest one is, they won’t work with you and your timezone because they’re in a different time zone, usually a day ahead, or six to 12 hours ahead and it’s really tough to work with them during your hours, their level of English is basic at best so communication is going to be a struggle, and you’re going to be frustrated certain features, don’t work that well, if at all. And when you explain the features, they may not understand them in the first place. This one drives me nuts. There’s no creativity, when building your platform, basically what you ask for is what you get when you tell them what you want. they’re only going to build what you want, they’re not going to build what they think would be better for your platform, or they won’t help you make your platform better because they don’t care. It’s just a job for them, they’re just getting paid to build what you asked for the most difficult pieces of your platform, take forever to build, if at all, they most likely won’t get them done. And like I said, it’s more of a job to them. There’s no sense of team, they’re not going to feel like a team member, they’re going to feel like a contractor who’s just getting the job done for you. They’re probably multitasking other projects and not dedicated to yours. So when you think they’re working on your website or your app, they’re probably working on a bunch of apps or a bunch of websites and they’ll get to yours when they get a chance because another point, they could care less about your business or marketing objectives. They don’t care how successful your app is and why is that because these developers have been building dozens and hundreds of websites and mobile apps into them. It’s just a paycheck.
And of all the websites and apps they built so few have become successful that they just don’t care because they realize that most apps and websites are going to fail. And since they are not part of your team and they don’t own a percentage of your company. Why do they care if it succeeds, just brings up my next point, since they don’t care. They might just disappear for a few weeks, literally, with excuses, when they return, you know, weddings, or my father was sick or I was sick or I took a vacation, you know, I have gotten so many excuses from so many people that I’m just used to hearing them, which is why I stopped working with companies, overseas. This one is almost guaranteed, your platform will not be scalable, and it will be prone to crashing often so get ready for that, you will end up wasting your time and your money, you will become frustrated, stressed out, and even sad and depressed. And the worst part of all is, you will be back at square one. Back at the whiteboard. Back at the starting line, and you’ll be looking for an expert. Now here’s the question you should be asking yourself, how do I avoid this nightmare. Well, if you’re a non technical entrepreneur. The answer is simple. You have to find someone who is not only technical, but extremely well versed in running a startup.
This person will be your product manager, and potentially your co founder, usually with the title of CEO or Chief Operating Officer, that’s typically what I do. Now, if you can find a software development company who knows the ins and outs of a startup, and has the expert level skills you’re looking for, then you’ll be in even better shape, but I have found that to be very difficult to find. Which is why I’m in business in the first place. These are some of the things you should be looking for in a software development partner, when and if they hit a wall, they break through it quickly. They offer functionality suggestions, they don’t just build what you want, they say what if you do this or what if we change this or what if we add this or what if we do it this way. I love developers to do that. Same goes for UI and UX or user interface and user experience suggestions, they often they try to give you feedback and suggestions and they try to give you options like hey maybe let’s try this color scheme or maybe you should put this button over here, when they start doing stuff like that, that shows you that they actually care about what they’re building when it comes to frameworks or code bases, they usually will know which one will best suit your platform, because each coding language or each programming language is not meant for every single kind of app, believe it or not, different apps call for different code bases in different frameworks.
You’re not going to bring a motorcycle to a car race or vice versa. So they know which tool to bring to the job. And this goes hand in hand with the fact that they will know their way around back end infrastructure and scalability. This is the part most people don’t understand when you’re building an app Sure, you can click on an app and touch an app and play with an app, but it’s all running on the back end. And if the back end is not built properly, your platform will crash, all the time. So working with a good development company means your platform will rarely crash, if at all. It should not crash, and when it does, they should fix it immediately. They should be on top of those bugs and fix them right away. And they do want to know about your business and marketing objectives. This is part of the reason why a lot of entrepreneurs fail when building with a development company, they tell them what they want to build, but they don’t tell them why every single button and feature and function in your app is tied to a business and marketing objective. If you don’t understand why then learn why it’s important to know that they’re all tied together, and a good software team or a good programmer, they care about what they’re building, because they have a lot of offers. They don’t need to work with you. So if they do, they want to be on your team. One of the best parts is since they’re so expert. This means that they probably already built something like your app, which means you’re going to save a lot of time because they already know how to do it. A good programmer is always available in the mornings, to have a quick Scrum I’ve minutes. It’s an update, it just goes over what they worked on and what they were going to do next, and if they had any issues or problems or blockers. That’s how the scrum works every morning, and they can speak proper English, you should be able to understand each other.
One of my gripes with other companies is they don’t use the tools that I want to use in order to communicate. So, when you have a good developer, if they’re okay using slack and Trello, and Google Drive and video chats often. That’s a good team that’s what you want to use. You want to use those tools because they’re the easiest to communicate and collaborate. One thing I noticed from a good developer is they rarely take days off. And if they do, they do it in advance. They make sure it’s typically not during an important time and it’s not for a super long amount of time either just for a couple days or even a day or two. So they’re usually available, a lot more often than the other developers I talked about before. And here’s my favorite point of all, when you have a good developer, they don’t give you excuses. So when they come up with a problem whether it’s a challenge or a blocker that’s stopping them from building something instead of giving you excuses. They try to find the solutions. They try to find the answer on how to fix the problem. And they tell you all the different things they found. And then you can decide which one you should use or they might decide which one they should use, but the point is, they don’t give up. They keep trying to find a solution. And keep in mind, there are many other things you get with an expert development company. These are just the highlights.
The main thing you want to look for is a team who wants to help you get down to the nuts and bolts of your idea. By understanding your target market, they should be helping you make good technology decisions which affects your business. And this affects your user experience. Same goes for your UI, or user interface, your web and digital assets and your social media, your marketing and business development objectives should go hand in hand with the technology your team is building. Now, finding a capable partner is difficult, but it’s so worth it. Most of the clients I acquired over the years, hired me to fix the problems, other companies caused. So believe it or not, I’m literally in business because most people hire bad programmers, and then they hire me to help them find a good programmer and not only that, they manage projects for them to avoid making mistakes. Here’s an example. I had a client once, who told me they hired an outsourced development company, on the other side of the world, to build an app for $10,000. They were given a boilerplate mobile app that had barely any features, and it crashed over and over again. I then explained what $10,000 would have gotten them. If he’d come to me in the first place. I was hired on the spot. I might normally be the project manager or product manager. In these cases, but I can’t lead anything without an expert development team backing me up. Now of course, partnering with an expert level company will also cost you expert level rates. As the old adage goes, you get what you pay for. Do you want to win a house, a brick townhome or a mansion? Do you want a cheap car, an SUV, or a luxury sports car? Once you decide on the quality you want, or can afford. Then it’s time for you to do the research needed in order to make a decision on who you’re going to hire over the course of 20 years in the world of development both web and mobile, I am fortunate to have found my software partner, no other company comes close to this brilliant and diverse team of top tier developers, the list I gave you is what you should look for in a partner, And guess what, that is my description of them.
So keep in mind. They also admit that they have shortcomings, but they constantly work toward improving them, and that’s important to me. So remember, to find a company that can build a platform with the highest level of technical difficulty is similar to having my record produced by Jay Z, or Van Gogh himself helping me paint a masterpiece, the most impressive part of working with this company is their ability to do it with such ease and without limitations, they always get the job done. And they always solve every challenge that I throw at them. Now I want to give you guys a couple of tips before I go on how you can get results from a technology development company. Now, I’ve already made episodes on this podcast on how to build your MVP, I suggest you listen to that first because those are crucial in order for you to, you know, really understand how to build a platform from step by step.
Just because you have an expert level company doesn’t mean you’re going to succeed. Here’s why. Most entrepreneurs come to the table, thinking they know all the answers. This is wrong. You don’t know anything. Your market has all the answers. Okay, you have the idea. You have the concept. You have the platform features in your mind, but the market dictates what you should build. So I’m going to really harp on this one, you have to build as little as possible, as quickly as possible. You don’t want to build an entire version of an app with 10 features. You don’t want to build version two of the app with all these features, without watching version one. And you don’t want to launch version one before you launch a prototype. Yes, I said it was a prototype. You have to build a minimum viable product, something so simple that you can have your expert developer build it for just a couple $1,000, get it into the hands of people who you think will like your product, and then get feedback, do the colors look good. Do the icons look good? Do people like the font to people like the button placement. Does the navigation bar look good? Yeah, these simple little things. You should be finding out if people like it before you build the entire platform. This is what iteration is all about iteration is when you build something very small, and then you get feedback, and then tweak it according to the feedback, small changes. Also, when you’re building your MVP.
This means to leave out all the details, leave out the styles, leave out all the icons, you just want to get the core value proposition built. So let’s say your app is a music app, then your main piece that you have to build is the music player, don’t build social functions, don’t build video, you know, whatever feeds don’t build, you know, sharing and liking and all that stuff don’t build a profile, just build the music app, and then assuming your music app is different from all the other ones, start asking people what they like about it, what they don’t like about iterate build upon it, and your team will deliver. But if you start to step over these, and you start to build too much and you start to ask for too many features at once. I’m going to tell you right now. Don’t blame the developers. It’s your fault. You told them to build too much. They listened, because of course you’re the client. But if you had just iterated properly and listened to the developers. Instead, take things step by step, test it in the market, get feedback, iterate. You won’t fail, you may not succeed, but at least you won’t have wasted all the time and money you spent on a million versions of your app. And this is a known fact in the technology world. Anytime you hire a programmer to build your app.
Whatever they quote you want in terms of time or money, have what it’s going to take to build this platform, double it. It always takes twice as much money in twice as much time to build what you need. It’s just the fact of development. People don’t understand why. And I’m going to explain it right now. Let’s say you build a version of your music app and you do add social functions, maybe some of the pieces that you want it to build are a little more difficult than the developer originally intended, because maybe you didn’t explain it properly, or maybe you didn’t explain it properly. But you wanted it for iPhone and Android, and even on the web. And of course the developer is going to run into problems when it comes to Android especially because Android is just a horrible operating system to work with. So you can’t blame a developer for operating system issues. This is why you should build as little as possible. By building as little as possible, you will avoid having issues, especially if you don’t properly test the platform. So if you didn’t test your platform and you’re just building and building and building, and the app starts crashing, crashing, crashing, who is to blame the developer who built what you asked for. Or you for not testing it properly along the way. Also, when you start building more features onto a platform. Original features, or like the first ones might start to break. It’s just the way it is, when you start piling features onto a platform, and you don’t test them properly, they start to break things. So, the nature of development.
And to top things off all development sources, whether it’s programming languages, API’s and SDKs like Facebook’s API and open source technologies. They constantly need to be updated, literally every single day software is constantly updating and the developers have to constantly update the software for you. in order to make sure it continues to work this is development. This is literally the number one thing in development that everyone here has to listen to and everyone has to understand, you have to constantly update software on a regular basis. As an example, the next time you look in your iPhone App Store or Google Play Store at the apps you have installed on your phone. Look at how often the updates come in, it’s almost every single day. You have major apps pushing updates to the store. Why, because they’re constantly fixing bugs. They’re constantly updating software, it’s just the way it is. You have to keep doing that forever. It never ends. Once you can understand this, then you’ll understand development, and you’ll understand how to work with a proper team of developers, and my advice to you is if you have a team of programmers, and they tell you not to do something or they tell you they don’t think you should do it or they tell you that they don’t think it’s the right move or anything that is basically against what you think. Take my advice, and listen to them. They know what they’re talking about. Just because you think it’s the right answer doesn’t mean it is maybe an expert programmer knows the right answer, you’re hiring them using their expertise. And on that note, I wish you good luck finding the best development partner out there and working with them properly.