Starting from ScratchJanuary 31st, 2015 by Jeff Winget
When I was a kid, I used to infuriate my mom because I had an intense yearning to understand how things work. This wouldn’t have been a problem at all (I think my mom really liked my curiosity); however, it usually resulted in me taking apart everything I could get my hands on in my room with a screwdriver.
I distinctly remember taking apart a calculator in my room, looking at the basic circuit board inside, pulling off every piece inside I could, and putting it back together. The only problem with this was that I had two pieces left over when I was finished and the calculator didn’t work. At that point, sadly, I didn’t have a very good understanding of how a calculator worked. I just understood that there was a board inside, and I didn’t know what all the stuff on the board did.
This curiosity has followed me into adulthood. I don’t often take things apart any more; however, I love to build things from scratch and learn how things are put together and work. I have done this with computers, and I am now doing it often with websites.
There are many frameworks out there for building websites now. Most of them are solid frameworks and grids to build on top of, and they allow you to lay out your design quickly without the normal fiddling that comes from laying out a site from scratch. Opinions seem to be mixed on these frameworks, many people saying they are invaluable, and many other people saying they are unnecessary and lead to overcoding.
I’m of a more nuanced opinion. I build from scratch for the same reason I took calculators apart when I was a kid. I want to know how everything works. I want to struggle through the process to make a perfect product. I want to be able to give my clients the confidence that I’m giving them a product that is solid and that I can explain to them piece by piece when needed. I also like to be able to give them the confidence that there isn’t an unnecessary piece of code in their site.
Right now, this is a viable option. I have a limited amount of clients (they are coming in steadily, but not insanely fast), and I’m able to spend a lot of time on each project. If it gets to a point that I have more work coming in than I can handle with my current process, I might have to turn to a framework. But, I won’t do that until I understand how the framework works and how I can use it to deliver the same individualized and understood quality that I can deliver now.
So, I’m not anti-framework by any means. I just have to understand what I’m doing before I do it. I have to know how things work inside and out. It’s an obsession, but it’s also a solid process for me to work with.