|
|
|
|
|
by pjreddie
4863 days ago
|
|
At my last job I worked at a YC startup where the entire codebase was written in the 3 months leading up to demo day when the team was under a lot of time pressure. Sure it worked fine as a demo, but with the pace of startup land this same code was then thrown into production and as the startup grew the codebase couldn't quite keep up. There weren't many catastrophic failures but there ended up being a lot of patching that had to happen on a daily basis. I would say 80% of my time was spent tracking down weird bugs in the code and trying to figure out what the hell the original authors were thinking when they designed things so poorly. The point is, you probably will write really bad code if you are under a lot of time pressure. Hackathons seem like they are probably useful for some things like bouncing around ideas and quickly fleshing stuff out but please, for the love of god, if you decide to take your hackathon idea and run with it DELETE ALL OF YOUR CODE. Just do it. Then take some time and think through your overall design because trying to make major modifications when there are paying customers relying on your site every day really sucks. |
|
Regarding unfamiliar technologies, choose a stack you're used to (that way, you don't waste time debugging/googling how to do something) and use whatever helps you get things done fast. If anything, have one unknown thing in the mix so you can take advantage of the learning opportunity. Just make sure that thing is necessary for the product you're working on of course - for example, use mongodb's geospatial indexes for that geo-aware app, or try out d3 for those nifty interactive charts, or use websockets/zeromq for a real-time system.