In the mad rush towards Internet glory, many tech entrepreneurs are missing some critical technical ingredients. Things like security and scalability and testing are getting brushed aside in order to get the app out the door and users on the site. While such slapdash methods may suffice for prototypes, it is borderline irresponsible once that web or mobile app is gaining users and processing real transactions.
I alluded to this issue in my post on the rise of API’s and the challenges ahead. In a world where the barrier to entry for building a web app has become so low, a DIY culture of self-taught coders has sprung up in our modern day version of the gold rush. Back in 1999, it was not so easy for just anyone to build a tech company because of the cost and complexity involved. In 2011 however, the tech equivalent of the pan, pick ax and shovel have given the intrepid tech newbie more than enough firepower to get him or herself into trouble.
So what is the magic formula? Buy a MacBook Pro, set up your LaunchRock page*, download a self-contained, all-in-one Ruby on Rails install, download a bunch of gems to avoid any real programming, hire a designer off of oDesk, load your app on Heroku, and release out to the public as a beta (for the next 18 months). Need a mobile app? Just fake it using AppMakr or throw a few bucks to some fly-by-night outsources mobile app developer.
The problem with this scenario is that while it is very gung-ho and entrepreneurial, your app is teetering on the edge of utter collapse or catastrophic failure. Why? Because even a sub-par hacker can break into the vast majority of these websites and steal your users’ emails and passwords, and often times those same passwords are used on other websites for accounts holding sensitive data. That same hacker could also bring your website down or spoof your site or plant malicious code that infects your users’ systems. Do not believe me? I am a mere novice yet even I was able to send SQL statements to various websites and get full access to user information (and their unsalted passwords)!
Does this mean entrepreneurs should stop building websites? No, I believe that there is immense value in the DIY coder culture. It shows drive and commitment and perseverance. However I am seeing a real dearth in skills that would be considered fundamentals and second nature to traditionally trained developers coming out of college or from a larger company.
For the non-technical founders that go the DIY route, they need to find someone or some people to take over the technology reigns as soon as possible. Make sure that the people you bring on board however are truly technical and have experience. For technical founders, this means boning up on the non-sexy parts of development and putting together a solid and secure architecture. Note that this does not mean you should become an expert in all things; some people excel at system code whereas some are more comfortable writing application code. Whatever your background however, know what you are good at, what you need help in and who to ask. And do not forget to pay attention to the fundamentals.
*To be fair, most people that setup a LaunchRock page never actually get to the point of building anything.