Back filling my front-end knowledge
During my junior year at the University of Lynchburg, I signed up for a single “Web Design” course as part of my graphic design major. The typical curriculum was learning Adobe Flash and making a Flash-based portfolio for yourself.
The usual professor was out, luckily for me (sorry Professor Bryant), and we had an interim teacher instead. He didn’t teach us Flash. He taught us HTML and CSS in a text editor and CSS Zen Garden.
I got things like margin and padding confused. I didn’t understand how floats interacted with each other. The site I made was terrible; rife with horrific uses of CSS even in its most basic of states.
Fast forward to now. 2018. I read an article on why
margin: 0 auto; works and it blew my mind.
It was an eye opening experience. Minus the one course in school, I’m primarily self-taught in the HTML and CSS realm. My degree is a design degree so the way I coded was in whatever way I needed to to make designs from other designers come to life. I am, not to toot my own horn too much, great at it. Sweating the small stuff and focusing on details is my favorite part of being a front-end dev.
All that said what I realized at the start of this year is that while I understand how to make things work correctly, cleanly, and flexibly, I didn’t know why a lot of it worked. I’ve learned about
auto, block-formatting context, and when to use flexbox versus grid.
I devalued the history of what I had come to learn and create. If I code it, and it works, what else is there to know?
The answer is a ton. Knowing the history behind how properties like grid are created, knowing why margin collapse happens, and knowing why setting an opacity on something changes it’s z-index are critical to being a better developer. There’s less shrugging and “I don’t know why it works, but it does!”
Front-end dev work in my industry is often referred to as “magic.” Clients are amazed that one day they can look at a static design file and the next be able to click on it and interact with it in their browser. To an extent, it was all just “magic” to me as well.
Back filling how I knew to create things with why I know to use those tools to create things has already made a major impact on my confidence in what I’m building.
So get out there! Read books, blogs, and tweets about the languages you work in but make sure it’s not all just the hot, new, bleeding-edge stuff. Learn why the bleeding edge is where it is, or why it’s bleeding edge! Learn the new stuff but also where that new stuff came from. Learn in both directions.