Okay gang, I was supposed to have another hardcore hacking session with some buds this long weekend but our times didn’t quite align and I’ve also been totally caught up with this project that I’m working on in my capacity as CSA (Chief Software Architect) at Caribbean Ideas.
While I don’t think that I should let the cat out of the bag about that project just yet, I think I can talk about some of the old lessons that I’ve learned that I need to keep in mind as I do production application development again. I will say that the project makes use of HTML5.
I’ll drop some bullet point notes here that I had to remind myself of as I hacked my way through this app I’ve been working on for the past couple of days:
- Decompose your problem – Don’t just start coding, break down the problem in to the important parts and start prioritizing, even if it’s only in your head … and focus! don’t loose sight of the bigger picture.
- Get the big things out of the way early – I spent a whole lot of time tweaking the look & feel of the application before I built out the things that really made it functional. Don’t get me wrong – looks are important … which leads me to my next point …
- Stick to what you know – I’m a pretty good back-end developer, but I have little experience in application design and user experience (UX) design. In the time that spent tweaking the HTML and messing with CSS, I could have written the backend code 3 times over … IMHO, it fine to work in your comfort zone when you’re hacking, it’s just faster that way, but be sure you hire a designer to clean up the interface and UX.
- Code now, refactor later! – While I’m certainly not advocating churning out “spaghetti code” as the fairly well known quote goes “Done is better than perfect”. As I said earlier keep the big picture in mind, don’t over architect your application for scalability, and speed when you app isn’t even done and you have no users, but do use good judgment in your implementation.
More on the last point … If your app is just a proof of concept, then go to town on the hacking, but if you want to move the application from POC to production code base with a large amount of code re-use, then I suggest that you put some more thought into you baseline architecture, and then you can start hacking away. It’s much easier to change the implementation of a feature inside of a well architected app than it is to have to make changes to the underlying application architecture with loads of code built on top of it.
Anyways, those are just some quick thoughts. Happy Hacking!