I have a confession. When I started developing websites, I relied on templates.
The reality is, learning how to program is hard. Over half of all programmers don't have a degree in Computer Sciences or a related field ¹. A quarter have no degree at all. That means that a large portion are self-taught, or received very informal education.
I'm a good example of this - I have no formal education in computer sciences.
Like many of my industry peers, I taught myself how to program. Thousands of hours of tinkering. Breaking things. Trying to put things back together. Much of what I've learnt was form looking through other, much better programmers code - it's still how I keep learning today! Over time, I got better. I knew how to do more things without having to consult with my old friend, Google. I got braver and was able to start learning some higher level concepts. Things like good database design, proper codebase organization, test-driven-development and where to optimise code for speed.
But that's just the thing, I've kept and continue to keep learning.
Unfortunately, not everyone else has had that opportunity, and I get it. Starting a web development business is hard. Hell, starting a business is hard. It's stressful. It takes up all hours of your day, because even when you're not 'working', it's still pretty hard to no be thinking about how you're going to get that next sale. It's pretty difficult to convince yourself at the end of a long day of making cold calls to sit down and learn the ins and outs of how to make a ORM query more performant. I've just been lucky that I was able to learn a bunch of this before I started NoBull.
Why does any of this matter?
It matters because as you become a better programmer, it's a lot easier to see the faults of bad code, and smell when and where bad code happens.
It matters because I now understand why Templates stink. From what I've seen, 95% of everything found on themeforest stinks. It is written to look great when you're demo'ing it, but with no regard to performance, proper SEO optimizations or even half-decent programming practices. They're written to play the volume game - the more templates you make, the better odds you have of selling a hit.
It's not the guy selling the theme's fault (well, it kind of is) - they're just playing the game by the rules and the only way to win is to keep publishing as many templates as you can. You only get to be the featured template for a week, once.
It's also not my competitor's fault - the ones buying a template, doing some edits to it (Swapping out the pictures, writing the new content and changing up a couple colors here and there) and selling it to a small business for $2000. They're just trying to make a living under the stress of running a small business. The reality is, if they're doing that, it's probably all they know how to do. Hopefully their business does well enough that they'll get enough time to learn how to build a site properly.
But I know better.
Which means I can't sell that garbage - I have a moral obligation not to. Instead, I'll hand code my sites because it's the right thing to do. As well because it's the best thing for my clients. I know how important a well optimised site is in the eyes of search engines. I know that using SVG format images for logos is better if possible because they scale. I know the value of meta tags. And I know that my clients are paying perfectly good money for what they're hoping will help their business grow, and I'm the one they're trusting to deliver that.
I hand code websites because it's the right thing to do.