Research and learning

Note: The content in this article is currently incomplete, sorry about that! We are working hard to improve the MDN Learn Web Development section, and we will have places marked as incomplete ("TODO") finished soon.

There is a lot to know as a web developer, and you are constantly learning. But how do you find out what you need to know most effectively? This article provides useful tips on research and learning.

Prerequisites: N/A
Learning outcomes:
  • Effective research methodologies
  • Get into the mindset of constant learning.

Effective research

Web developers spend a lot of time searching for solutions to problems encountered in their work. Students should learn effective strategies for finding answers, and when to use which methods (e.g. don't jump straight to pestering the senior dev every time you hit a roadblock).

These strategies include:

  • Consulting the documentation.
    • When you are stuck with using a tool/product, consult the official documentation first. It is surprising how many people do not think to do this; official docs are often geared towards beginners, so people with experience may not think of them as being suitable for them.
    • Learn about different types of documentation — for example, tutorials, references, and other types — and understand when each type is useful.
  • Using search engines effectively (See How to use search like a pro: 10 tips and tricks for Google and beyond).
  • Choosing valid information sources:
    • Choose recommended sites such as Stack Overflow and MDN(/).
    • Check the dates on articles, and consider whether the techniques discussed are out-of-date. For example, does an article on CSS layout talk about modern approaches like grid and flexbox, or does it still present obsolete techniques like multi-column layouts with floats? Does it still talk about hacks for ancient browsers like Internet Explorer or Netscape 4?
  • Using social media effectively:
    • Build a network of folks who can help.
    • Join community groups where you can look for answers. For example:
    • Learn to give back as well as take; web developers who reciprocate are much more likely to build strong relationships and keep getting help.
    • When you find a useful answer, write about it. For example, blog about it or share it on a social network. Not only will the process of writing clarify the concepts to you, but you'll also get validation and/or feedback from the community. It could also help you to start making a name for yourself in the industry.
  • Making effective use of an experienced contact's time:
    • By "experienced contact", we mean a teacher, mentor, or senior developer.
    • Ask them what communication methods they prefer.
    • Think carefully about what questions to ask them beforehand, consider their time limited and precious.
    • Be sure to do some background research about the topic beforehand and don't ask questions that you can find answers to by searching the web or the official documentation.
    • Timebox the session to say 30 minutes.
    • Prioritize your issues.
    • Set a goal for the session, for example, "try to find a solution to the highest priority issue"; solving the biggest issue may also lead to a fix for other issues.
  • Rubber ducking as an effective help mechanism. See also Rubber Duck Debugging.
  • Using AI to help with coding issues (for example ChatGPT or GitHub Copilot). You should use AI tools with caution, and familiarize yourself with their strengths and weaknesses:
    • On the plus side, they can speed up research/searches enormously, and help with structuring code and copy.
    • On the other hand, AI tools have no reasoning skills and frequently provide answers that are misleading or just plain wrong. You shouldn't just assume that AI answers are correct, and test them/verify them with other sources.

Note: There is definitely a balance to knowing the right time to ask for help. Web developers shouldn't constantly pester their peers/colleagues, but equally, they shouldn't soldier on and pretend they know what they are doing when they don't. Consider the value of saying "I don't know" at the right time.

Constant learning mindset

Students should get into the mindset of constant learning. The web is constantly evolving and technologies and trends are always changing, and they need to constantly update their knowledge to keep up.

  • Get into the habit of regularly reading technical news, blogs, and browser release notes.
  • Engage in reading tasks or small research projects semi-regularly.
  • Set aside specific learning time to spend on acquiring new skills.
  • Be curious.

Recommended news and information sites:

See also

Learning and getting help

This article provides some hints and tips in that will help you get more out of learning web development, as well as further reading so you can find out more information about each sub-topic should you wish.