Web Developers and Legos…
“To develop for the web is, by nature and necessity, to be a problem-solver.” –
“The comparisons between code and Lego are readily apparent: Lego is a system of discrete elements — bricks, plates, and many others — simple building blocks with infinite combination possibilities. Similarly, code is built out of many simple functions that combine to form ingenious solutions to innumerable problems.”
I didn’t write any of the above, but I had to share it. It all came from: https://www.easternstandard.com/blog/2019/03/create-web-component-library-think-lego-master-builder
I don’t know if I would have ever thought about how legos may have played a part in me becoming a web developer until reading this post, but as a kid I was always building things with legos. I was also always taking things apart to see how they worked and then trying to put them back together again (not always successfully).
Anyway, it is a Saturday morning, I just poured my second cup of coffee. Rather than see what I could find on Netflix or Hulu… I decided to check in on some of my favorite web development blogs. I just recently started following this company, but I have found several really good blog posts from Eastern Standard. The concept of “Components” is really what caught my attention. I have been working in the web world for about twenty years now. I have worked as both, a developer and project manager. In fact, I got my start as a developer, transitioned to project management and then back to developer. At times, I had wished I had always stayed in development, but I could also argue that being a project manager allowed me to learn lessons around gathering requires, understanding timelines, and perhaps most important for me today is understanding not just budgets, but learning how to come in under budget and be profitable.
As a project manager, I often asked my developers if the things can be built in a manner that we could reuse it at a later time. I often heard, “not really, there is too much customizations done for this one client to be reused for others…” I never totally understood that, but as the project manager, I just had to accept it and move on.
When I returned to being a developer, I challenged myself to figure out how to build sites using reusable themes and code snippets. I kept a library of code snippet and occasionally I was able to copy and paste one of them into my project. I also created a couple of simple Bootstrap themes that became “starter” themes, but inevitably, they needed so much customizing that I often questioned if they really saved me any time. I have certainly gotten better and faster at building website, but a lot of that is just experience.
However, the more I worked with CMB2 and ACF, the more I thought about ways to build a theme that could be completely customized from a “theme options” page or pages/tabs. I started designing a solution where an admin would log into the site and fill out a handful of fields such as:
- Boxed or Fluid Layout
- Background Color
- Slider or Static Hero image
- Font Family
- Body Copy Font Size
but in the early stages of this project, I learned that it isn’t always that simple and inevitably I would need to accommodate a scenario that I hadn’t thought of.
Then one day I heard about about FlyntWP a developer’s starter theme built primarily with ACF Pro. Immediately, I was intrigued and had to get it. It was developed by a company called Bleech (https://bleech.de/) out of Berlin.
So far, the theme has been great and I have gotten great support from the main developer of FlyntWP, which turns out to be the CEO of Bleech. It is always nice, when someone in his position takes time to answer support questions…
Anyway, FlyntWP forced me to get into understanding NPM, Gulp, WebPack and much more, so not only has it been a great starter theme, it has taking my skillset to the next level. I am excited to be using it as it has taught me how to build custom reusable components, which has always been a goal of mine. For now, I am loving it and I can’t wait for the next set of challenges with it.