Digital Design Nerd & LAMP Developer
Consultant and creative executions for start-ups, and fortune 500 companies such as Ralph Lauren, Verizon, NBC Comcast, and agencies including Branding Business, Davie Brown, and Burson Marsteller.
Information Technology
Digital Design Nerd & LAMP Developer
Wow, this is sort of the penultimate question. I answer this not as a founder, but as a co-founder that watched several other founders and investors wrestle with this dilemma. I've seen the pattern repeat as a consultant as well. It's an issue! The problem with this common situation, is all about information... meaning who's got what information. When partnering with a developer, there's a brutal but sobering fact that a great developer will bring up right away: "Without someone like me, this technology can't happen." Like I said, it's brutal but sobering in a good way. A developer knows better than anyone else when things are being built versus being invented. In the case of the latter, all developers feel this is worth quite a bit. Conversely, most developers don't have the business vision to create a digital version of a successful analog business process, because they're supposed to be busy coding! That's exactly why developers are very into sharing, because writing code for a living is a process to achieve some other goal, and isn't magic. So both parties need each other, but one has the execution while the other has the vision. Geez, now we've got to negotiate? Before talking shares, you as a business visionary should keep one major risk-point in mind. The developer you're partnering with MUST be personally invested in the project. The difference in the code quality between a project done to get paid, and the code from a developers personal project are monumental. You want a dev that is ready and willing to give your model heart + soul, and obsess about things you don't fully understand during your shared journey. If the dev isn't personally invested in the project, you run a high risk of them giving you the code equivalent of a 3-door coupe when your business needed a custom rally car that raises eyebrows. In a start-up, you'll have to leverage what you envision against the cost-vs-quality debacle of acquiring a skilled developer. I can tell you from experience, that no matter where you try to save, other costs will pop-up in the development process. Cutting costs in the beginning, comes back three-fold in the end if the code is not easily maintainable. And worst of all, the first build is never perfect - while the second build usually results in epiphanies derived from the mistakes in the first build. This is the sort of stuff that a developer knows well, but it never gets brought up in meetings, because the cost of programming is so significant yet typically not understood by the key stakeholders. So when you negotiate with devs, be sure to keep in mind that their role in the team is massive, and their work (in their mind) will become the entire business sometime in the future. Even if that's not the case based on your model, a programmer who thinks that way about a project will give you bleeding edge work at all times. ;) So find a comfortable fit personality-wise, and with the right shared ambition. Then treat your programmer as democratically, and as evenly as you can afford. A great programmer will by pure habit give you more than you asked for, which seems to always be something that businesses need these days. The trade off is that you show the programmer in shares, just how important their best efforts are.
Mobile applications
Digital Design Nerd & LAMP Developer
I've been involved in several projects that hinged upon this question (generally start-ups or web+mobile apps), and it's not a clean or easy answer unfortunately! Plus every developer you talk to is going to try to sell you their services, but what you need is simply the truth! I'd suggest that you consider shifting your focus away from finding a best language. That sort of premise can eliminate options that are actually quite valid solutions. Keep in mind that any mobile app will require multiple languages working in harmony - all while used in a commercially consistent and standards-based manner. That's the part that determines your technical scalability! Almost every programming language can achieve this functionality with an experienced developer on your team. The best advice I can give you, is to consult with at least two people on this, and three if your app is os-specific. The most important insight will come from a "full stack" developer. One who's got a variety of enterprise experience, and can code at all levels of the stack. This person needs to have experience in leading a team of other developers, which forces the strategy of which technologies to use and why onto their plates daily. Secondly, you'll want to consult with a "front end" developer, who can tell you what's possible using advanced OOP JavaScript techniques (like Google's angular.js), because in an absurdly fast change over the past 3 years, much of the formerly back-end work has made it's way to the front-end, and is driven by JavaScript, predominantly JSON data, and awesome API's. The game has changed and the front-enders are the poor souls dealing with this rapid shift daily. To do this, they're also fantastic JavaScript programmers, which is a language that runs on all mobile devices and all browsers, too. Love it or hate it JavaScript is the most commonly used language in the world. Finally, if your app is OS-specific, you'll want to consult with a developer who works predominantly with the OS your app is built for. This person lets you know what's possible from the device POV, should know what stacks and JavaScript approaches can and can't be done on that OS, and how to leverage the resources of the device for your app as well as extend it's functionality. BONUS - loop back to the full stack developer to double-check the claims of the front-ender and the mobile developers. Always double check with your most senior programmer ;) All of these consults together in addition to your own research and due diligence will get you comfortable and allow you to navigate on this rather daunting but deeply important journey. There aren't any turn-key options. Instead it's a series of inter-connected modules driven by different languages, and all working in tandem. Every solution will have bugs, and no one group of technologies can do everything without proper developers. If you'd like to go further down the rabbit hole, then we should definitely set-up some time to speak. Otherwise, I wish you great luck in research and encourage you to learn as much as you can! :) It's going to seem hard, and might give you a headache here or there, but learn everything you can about how different technologies "talk" to each other, and then you will be able to build a map for keeping your app and business scalable regardless of the changing tides of technology!
Stats
Answers
Calls
Areas of Expertise