DEV Community

Mikhail Karan
Mikhail Karan

Posted on • Originally published at htmlallthethings.com

How to Learn Web Development Skills

What is HTML All The Things

HTML All The Things is a web development podcast and discord community which was started by Matt and Mike, developers based in Ontario, Canada.

The podcast speaks to web development topics as well as running a small business, self-employment and time management. You can join them for both their successes and their struggles as they try to manage expanding their Web Development business without stretching themselves too thin.

What's This One About?

Learning new skills is crucial for web developers. Junior developers need to learn all the time to expand their capabilities. Senior developers need to learn throughout their career to update their knowledge. Learning these skills is not easy, however, with so many different frameworks and tools available to learn, alongside the difficult decision on how to learn them - college, university, coding bootcamps, etc. In this episode Matt and Mike discuss how to cut through the noise, identify how you learn, and decide how to learn.

Show Notes

The Noise

  • When you decide to start learning web development there is an incredible amount of noise that you’ll have to contend with
  • Noise that pulls you in all kinds of different directions
    • Learn React
    • React is old, use something like Vue or Svelte
    • Svelte is only good for simple websites and web apps
    • Svelte is the only framework that you need
    • Use Github
    • Don’t use git user interfaces, only use command line
    • Learn git command line, but then use the UI because it’s easier
    • Learn vanilla HTML/CSS/JS
    • Don’t learn vanilla, use a framework
    • jQuery is easier to write than JS
    • jQuery is dead
    • Don’t use WordPress
    • Many developers make money using WordPress
  • This noise comes from all sorts of sources: written pieces, social media, videos, podcasts (including ours), other web dev professionals, and probably more that you could think of
  • Everyone and everything has an opinion on what you should be learning, how you should be building, and the best way to get the same task done
  • AND once you’ve finally selected a skill to learn, there’s even more noise on how to learn it
    • Project-based learning
    • Traditional school
    • Online Courses
    • YouTube videos
    • Bootcamps
    • Reading documentation

Getting Past the Noise

  • If you want to be a freelancer, think in terms of the the customer
    • Does the customer care about their website and web app functioning the way they want
    • Or do they care about whether or not you used WordPress
    • The customer cares about their and their customer’s UX, they don’t care about the details that don’t affect their goal
  • If you want to be an employee
    • Start looking at job postings that you’d be interested in
    • Are most of them using React and TailwindCSS? Then learn those
    • Keep checking job postings as you learn as tech changes quickly!
  • If you’re learning just for you
    • Maybe you want to build out a project for yourself - research how other people made similar projects and lean towards those skills
    • Maybe you want to just learn a new skill with no specific goal - then read about some different options and choose the one you’re interested in, without factoring in someone else’s opinion
  • Cutting through the noise on how you should be learning (bootcamp, self-taught, etc.) is largely dependant on determining your unique situation, which transitions nicely into our discussion on learning the skills themselves

Learning the Skills

  • Determine what kind of learner you are and what situation you’re in (a few examples below)
    • You may find that you’re in a rush to learn, but you always procrastinate without a solid class structure - Bootcamp
    • Self-driven people that tackle anything they set their mind to might prefer to learn on their own, being completely self-taught at their own pace
    • Watching videos might work great for some people, but others might find their mind wandering leaving them absorbing nothing - which indicates they may need more project-based learning (or at least interactive activities mixed into traditional learning)
  • Determining the type of learner you are is no easy feat, and can easily go unnoticed if you’re not paying attention. Even if you are paying attention it can take a great deal of experience and time to nail it down. In our personal experiences…
  • Matt’s Learning Style/Type
    • I tend to get irritated and angry very quickly when I don’t understand things right away. I like the convenience of just understanding how to do things, which is of course a bit of a recipe for disaster
    • As I’m sure the case is with a lot of people - I did perform well academically in school, however, a lot of it was memorization and shortly after the classes were done, I completely forgot what I had learned. Or worse yet, I would memorize how to do question types on tests, not understanding the context or real-world application of what I was doing
    • I’ve been working on making my learning smoother the past few years and have been most recently trying to pay attention to how I learn best
    • I’ve basically determined that I’m quick to pick up on new topics, but it’s more of an exponential growth curve. I’m basically an idiot for the first few days, then suddenly once something clicks, I’m able to do it very quick and extrapolate those skills to other tasks as well
    • This, however, keeps me in a comfort zone rut where I try to build everything off of that one skill, letting other skills pass me by because I don’t want to be an idiot with something again
  • Mike’s Learning Style/Type
    • I tend to be kind of the opposite of Matt. I am way to willing to take on new Tech and that actually sometimes hinders progress in my work.
    • When I was starting out I would rely heavily on follow along videos/tutorials of people using the same or similar tech that I need to learn (including the full stack)
    • This became harder and harder to find as the tech I was using was more niche and specific to the job
    • This forced me to start to understand Documentation as well as code examples better (reverse engineering sometimes)
    • When I learn something new I tend to follow this order:
      • Glance at documentation as well as repo (issues, pull requests)
      • If it’s simple enough, try to implement right away
      • If it’s more complex try to find a tutorial, course, or video that shows a basic implementation
      • Follow along and try to implement for my own use
      • If I run into issues, go back to documentation > previous github issues > discord/slack > create new github issue
  • Tutorial Hell - Build something, don’t just read
    • Many people get bogged down in learning new skills via reading articles and watching videos, or even attending college over and over again
    • In the web dev industry we refer to this as tutorial hell, where people are stuck constantly learning things and never building anything
    • For industries that require a physical presence, this is the equivalent to having no real-world experience
    • You can read about how great Ruby-on-rails is and how innovative React is for years, but you can’t replace actually building an app, experiencing issues, researching and testing solutions, and eventually shipping a product with just reading theory
    • In the web dev industry, which is largely remote (work from home), you need to get experience not only by working on projects, but there is also the team dynamic - coding something up in a team has a variety of experiences in it’s own right like dealing with work orders, project management, and working in a multi-team member git repo
    • By building your own projects, you’re getting a big piece of the experience puzzle out of the way, which many employers will value
    • Open source committing for team learning (fill in some details on this)
    • Pull requests
    • Code review

Learning Resources

  • Traditional Schooling
    • Colleges, Universities, and similar institutions
    • Provide learning over a number of years or months
    • Possible traditional classroom learning with potential co-op/internship/placement opportunities for real-world learning
  • Articles/Blogs
    • Written guides on how to solve specific issues or implement solutions (ie how to fix a WordPress plugin that won’t update)
    • Some websites will run a series of content (blogs, articles, videos, etc.) on a specific topic (ie Into to Vue)
    • Topical stories and editorials that discuss new topics or small experimental projects as developers try out new features in browsers, coding languages, or frameworks
      • This is a good way to keep up-to-date after you’ve done the bulk of your learning - you’ll see first-hand where the industry is going
  • Coding Bootcamp
    • Traditional learning at an very accelerated pace
    • Some bootcamps have benefits like co-op placements or have tailored their curriculum so that you have a good chance of getting a particular job (sometimes even at a specific institution)
  • At your own pace online learning

Thank you!

If you're enjoying the podcast consider giving us a review on Apple Podcasts or checking out our Patreon to get a shoutout on the podcast.

Support us on Patreon

You can find us on all the podcast platforms out there as well as

Instagram (@htmlallthethings)
Twitter (@htmleverything)
TikTok (Html All The Things)

Top comments (2)

Collapse
 
sharonytlau profile image
Sharon Lau

Thanks Mike! This episode is very helpful for me as a junior developer. Love that you guys talked about your own ways of learning and discussed different sorts of learning approaches. Also thanks for the detailed show notes! 🎈

Collapse
 
mikehtmlallthethings profile image
Mikhail Karan

Thanks Sharon!

Really glad you got something out of it!