Developers: please, don’t use your own framework

I’m a software developer. At the beginning of my career I was learning new programming languages by reinventing the wheel and building my own solutions for known problems. Two things were most popular: self-built CMS and self-built framework. As many of you, I’m a self-taught programmer and my first lessons of object-oriented programming consisted in the fact that I tried to build my own CMS. Also, it was my first meeting with PHP5 (fortunately, several months later I felt in love with Ruby). I’m sure, many of you remember those days.

Sadly, many of today’s apps have root in those times. Too many. As a software developer and as a CTO I’m begging you: don’t build your business based on your self-built framework!

I know you’re smart. I believe you’re programmer because you love discover. I know you learn best when you build from scratch, but I’m here to remind you one important thing: every time we’re working for startups, we’re there to take whole business to the next level - as fast and as well as possible. 

Now tell me: is your framework well written? Is it well tested and well documented? Is it flexible, scalable, extensible? Look at most popular frameworks and honestly answer to yourself.

Below I present you only few reasons, why you shouldn’t base your apps on self-built frameworks:

  • probably startup you’re working for, doesn’t have a time for building everything from scratch. Another solution for authentication? Yet another ORM? Almost everything is done (and is waiting for you),
  • probably your work won’t bring as good results as work of dozens, more experienced developers, working on the most popular open-source frameworks since a really long time (think about scalability, optimization, security, tests etc.),
  • probably won’t be easy (or maybe impossible) to integrate tons of great open-source libraries with your framework,
  • probably your code isn’t well-tested,
  • probably your code hasn’t good documentation,
  • probably every new developer in your team won’t know anything about your framework and his learning curve will be so f***** really steep (btw. I hope your CEO is aware of this).

For your startup, time is the new money. Don’t waste it because of your own ambitions. Don’t waste it for building crappy things that world and your business don’t need. Be open-minded, keep looking, trust the others, learn.

Time is the new money. Spend it wisely.

Keep calm and quit your job

Few days ago I quit my job. Yes, I did it. I worked as software developer at quite good company by almost two years. I guess you’re wondering, who the hell quit such kind of job? I do. When you work from 9-5 and then you want to develop some side-project from scratch, you must know that this is a really bad idea. It just sucks. 3-4 hours was the maximum time that I could spend on designing or coding, so when you have fell in love with your idea you have to choose and ask yourself “what do I really want to do, what is more important to me?”. I know it sounds like from the “Steve Jobs” book, but we should start from answer for this truism.

On the one hand we’ve got full-time job, where we build someone else’s idea, but also we get regular salary. On the other hand we may build something big on our own rules. Extremely risky, but even more exciting.

I chose the path with my own dreams and risks, the way ended with my failure or my success. I chose journey which contains the reward in itself.

Stay tuned.