It is now the beginning of a new year, which inspires many developers to start working on a new startup. Building a startup is challenging, but with the right processes and planning in place, you could increase your chances of success and release a great Minimal Viable Product. During our Ynext Incubator Tech Days, we had the opportunity to work with some amazing CTOs of disruptive FinTech startups. We worked to educate them on best practices of utilizing our APIs. During this time, I was able to meet with the CTOs to get a feel for what their strategy of success is when putting together a startup. From conversations with startup founders and Yodlee technical experts, we discovered 4 key takeaways on becoming a tech success. 1. Determine Your Technology Stack As shown in this MEAN vs LAMP stack graphic by Backand, understanding what technologies are needed should be defined early on. It is not effective to base this decision on the existing skill set of your tech team. Just because your CTO knows PHP does not mean that this language is the right solution for your startup. Although it may seem easy to implement your solution using PHP, this language may not be the right choice for you especially in terms of scalability. Also, we have many options for native app development for iOS. So should you program in Objective C or Swift? By carefully evaluating each technology early on, you could save some problems down the road. When defining your technology stack, ask yourself the following questions:
- Will the current architecture and technology stack allow me to scale beyond 100K users?
- Have I asked industry experts for feedback?
- Are there developers available with the required skill set to join my engineering team?
- Will this technology become obsolete down the road?
2. Choose the Right APIs There is no need to build something that already exists. Some developers fall into the trap of building the code from scratch. Not only have you wasted time, but your competitor is possibly utilizing existing APIs and open source to get to beta stage sooner than later. Avoid reinventing the wheel and use existing development resources. Take a look at Programmable Web. They are an excellent resource in terms of listing every API/SDK, checking the frequency of updates, as well as notifying developers about the latest API releases.
3. Ensure Top-Level Data Security
Working with consumer data can be tricky. People are rightly cautious about where and with whom they trust their data. As developers, it’s your job to ensure that users’ personal data is treated with the highest security standards possible. For tips on how to choose a secure data provider, check out this article with insights from Fritz Robbins, CTO of Personal Capital, and Andrew Badstubner, CTO of Kabbage. They provide insights on how to set your own security standards, demonstrate your data security and rely on a qualified provider.
4. Refactor, Refactor, Refactor!
For your Minimal Viable Product, you may not refactor early on since the key focus is getting the core functionality implemented to successfully enter private beta. Consider this scenario: You are testing out APIs, writing sample code, commenting out extensive lines of test code and forgetting to remove some utility methods that you may not use in the future. All of a sudden, a million lines of code later, your codebase is difficult to maintain. You cannot fix the code and in some cases, may have not documented it. It is critical to clean the code early on and document the implementation. Remove complex conditional statements and focus on simplifying conditional statements. Construct a class diagram to evaluate the existing structure of your code. Look for repetitive methods where you can condense it into a Utility Class. Please keep in mind that your code needs to be easy to read for the next developer to review. Scale it down. Have another developer review the code to make sure that there are no other discrepancies. Perform extensive code reviews after each attempt to refactor your code. You could be the next billion dollar company. Act as if your company is worth a billion dollars and plan accordingly. Happy coding!