Create blogs and auto tweets. Analytics. Unfollow users that do not follow back. Go to Home.


Coding a startup

Starting a company from the ground up is a challenge - Here I am going to outline the decisions and trade offs I made. Easy blue print to start coding a startup.

Getting up to speed with technology: Unless you graduated a few years ago, the curriculum and paradigms are outdated. Business students are learning about Steve Jobs from 80s or Computer Science student studying C or Java is not really practical in the work field. Pick up a few books and thoroughly get updated with technology. I picked Grails because I can always go back to Java if needed. Grails is a full on web framework with GSP like JSP, MVC, spring, hibernate, syntax mixture of Rails, Java, PHP, etc. It has built in application server, dependency injection, logging, many plugins. It also has plugins for twitter, facebook, paypal, etc. Code can be written 1/10th of lines compared to before.

Selecting hosting: I started with 1and1 hosting, but Rackspace is awesome. Great service, new company, easier product to use, cloud computing rocks and they also provide file transfer service through their cloud as well. You can upgrade or downgrade memory and CPU environment without having to reinstall anything.

Source control: Subversion SVN works great for startups. Very low overhead, lots of documentation on the internet. Many people in the industry are using it so easy to get help.

Database: I choose postgres over mypsql because I have previous experience using it. Either one is fine.

Docs: Sharing documents among team members or even contractors is never been easier than using Google docs.

Scripting: I am a strong believer in writing strong shell scripts to minimize the amount of typing and making errors. A strong script when written well never fails. I usually just login to server and type 'reinstall' to get the latest deploy from my laptop onto the server. Keep it really simple.

Process: Using continuous deployment patterns, It takes 3 minutes from the point I checkin my code into repository to code being deployment on production server. There are many shell scripts to run commands and do the validations. The key is to make the process sooo simple that the focus is 100% on the product development.

UI/UX Skills: Technology is getting so simple that more and more startups are leaning towards Lean Startup to make software development faster. Startups engineers are not only expected to know backend, but really understand User Interfacing design and experience. Hence html, javascript, css skills have to be sharp.

Platform: Twitter and Facebook provides great details on users using their authentication schemes. Signups are dead. People don't trust them as much. Twitter and Facebook provide really easy API to use. I use Twitter4J for all Twitter api calls because it's written in Java.

Security: Web is very insecure, hence it's important to code with security in mind. Input forms should always check for hacker code in Javascript, server should have ssh security with ports, etc.

So there you have the blueprint on how to start a startup. Please contact bilal at mytweetmark dot com with any questions.


Go to top.