Ask HN: Founders from Non-IT/Programming Backgrounds
I am curious as to how many web-based startup projects have got off the ground by people whose software development/programming skills were either self-taught or were perhaps spun out of a hobby project.
I am never short of ideas, but I would imagine that as a self-taught programmer myself, there must be certain implementation practices that would be obvious to a professional, but not so much to an amateur like me.
What are your thoughts?
9 comments
[ 3.4 ms ] story [ 38.4 ms ] threadHere's a few things that I wasn't exposed to until I studied /turned professional - maybe some of these are the practices you are talking about?
- Version Control (Git, CVS, Subversion, etc.)
- Database design
- Performance optimization
- Caching
- Design Patterns
- Object oriented design
- Unit testing
Maybe you know these things already, but not knowing these things isn't going to stop you, none of those are worth losing sleep over, you'll pick up what you need on the way.
However, if I had to pick one thing out of that list that I wish I'd encountered sooner it would be version control.
Perhaps take the Joel Test in reverse: http://www.joelonsoftware.com/articles/fog0000000043.html
I started with PHP, which lulls you into thinking that procedural programming is all you'll ever need. For larger and more complex code bases though, OOP really makes things more organized.
That plus mentoring by the more experienced for a few years got me to at journeyman level in less than a decade. More reading, thinking and developing got me to master about two decades after I started.
Things that were non-obvious to me in the beginning: version control, database normalization, query optimization, and the importance of reliable infrastructure and testing your backups.