Learning to code has been a great thing in my life; an exciting endeavor. Nothing beats that feeling of creating something from scratch and seeing it come to completion, piece by piece, all via code.
At the same time, in the beginning as a Code Newbie, there can creep up this sort of pride….a pride that comes from being able to now create applications or sites from “scratch.”
This happened to me shortly after things started to click and I had built a couple sites/applications from scratch. I began to look down on anything out there that made it “easier” to do this and that those who built on top of others were, for lack of a better term, cheating.
I disregarded things like WordPress, themes, drag & drops, boilerplates, or any system or process that made things more accessible to the user or easier for the developer to get started.
Why? Because I now had the ability to do those myself, I did not need anything by which I could “cheat.”
What foolish thinking? Here’s why:
Essentially the ultimate goal of your coding becomes your own pleasure and desires, not the best intentions of your client or the end product.
Those who are way smarter than us have created processes that speed up workflow or make things more efficient (for us as well as the client), and we should obviously be widely accepting of that. In fact, when it comes to getting things done, if someone can do it three times faster than you, then they will surely land the job or project over you. Its great if you can build a custom Jekyll website, but its absolutely meaningless if your client cannot maintain it or is left wondering how he can begin posting blogs, or has to wait 2 months while you hand code out everything from scratch!!!
On top of all the processes and systems we have to make things easier, there is still (plenty of) code and creativity involved and takes a developer to customize or create what the client wants. The faster you can get this done, the happier the client will be……in addition to you being happy because you can collect your pay and move on to the next project.
So just because it is not made from scratch, it still takes your skill to build or maintain it. Embrace systems that are there to help you and save you time. There is no need to reinvent the wheel or waste your client’s (as well as your) time.