Takeaways From Learn Enough HTML/CSS To Be Dangerous by Michael Hartl

Microsoft Frontpage: Back In The Day…

Many years ago in the late 1990s/early 2000s I had played around with Microsoft Frontpage as a way to learn how to make websites. It was a pretty clunky tool and I never got very far since the whole landscape was very new and there was nobody to really show you how it was done properly. After a few years of working in finance and fundraising, I eventually left to work on my own marketing consulting agency and had to revisit these skills.

By the time 2013 rolled around, most of the websites were using out of the box solutions like Wordpress (here) or Squarespace if you were really technically not-proficient. Wordpress was an easy way to get around being scared of HTML/CSS at the expense of giving up customization. But for many folks online this was enough to get them started. I would occasionally dabble in the trial-and-error of changing CSS, using the Chrome inspector tool to see where it was, going into the .css file, editing it, and then saving/refreshing to see if it was what I wanted. If I screwed it up, I’d just undo my changes and try again.

Learning about flexboxes in CSS

Learning By Trial & Error

Turns out this form of trial-and-error is how most self-taught developers/designers go through to level up their skills and is more common than I thought. Recently I stumbled upon a course series called Learn Enough To Be Dangerous by Micharl Hartl. I first heard of him a few years ago with his Ruby on Rails tutorial, and had some experience with an SMS Twilio app that was made on that hosted in Heroku. It was way over by head back then as I didn’t have the fundamentals down before jumping into Ruby on Rails.

The Learn Enough tutorials are a place to start building technical sophistication. It starts from the basics going all the way to RoR:

  • Learn Enough Command Line
  • Learn Enough Text Editor
  • Learn Enough Git
  • Learn Enough HTML
  • Learn Enough CSS & Layout
  • Learn Enough Javascript (Coming Soon)
  • Learn Enough Ruby (Coming Soon)
  • Learn Enough Sinatra (Coming Soon)
  • Learn Enough Ruby on Rails (Coming Soon)
  • The Rails Tutorial

Learn Enough Tutorials: Highly Reccomended

Originally, I wanted to start with HTML but then realized I was missing some basics in using a text editor (coding), command line (file management), and git (version control). By starting from command line, you are really getting a deep understanding of how everything works from the foundation of a development environment. What I liked about the courses is that they are not boring, he uses a lot of memes, and generally flows pretty quick giving you just the essentials that you need to know.

The best part of these tutorials is that they are also FREE online. If you want to download the book you’ll need to purchase it. I also highly recommend going through the course with a computer setup that has two monitors. You’ll have a text editor, command line, and browser open to go through the materials and if you only have one screen it really reduces your efficiency in learning the stuff.

I’ve completed everything up to the Javascript course as those are still in production, but I’m now very comfortable with inspecting a website’s CSS and knowing how to change the style or why things are built this way (i.e. mobile break points, flexboxes, display, etc.) Even this blog has some custom CSS that I added too :D Looking forward to the next one!

Visit more about the Learn Enough series here.

Why Learn Frontend As A Product Guy?

I believe there’s a difference between education and learning. Education is a piece of paper you get somewhere that says you did ABC at XYZ institution. Learning is something that never stops unless you want it to. I was never a good student in school when it came to GPAs, but was much better at exploring things I was curious about by doing a deep dive. Part of learning comes from asking better questions, which changes your way of thinking and use of knowledge. Learning frontend development is a way to improve my communications with designers and software developers. By speaking in the same language or at least having an understanding, it allows for better cooperation and increases my skillset as a product manager.

Originally published at Terry Lin.