Wednesday, February 27, 2013

Getting help when you're stuck

sexy_cowgirl_stuck_in_mud_015


When you're learning web development, or any other complicated skill, getting stuck is a dreadful experience. Often times, you're stuck so badly that you don't even know the right question to ask to get help. Posting questions on social networks can be embarrassing, annoying to your online friends, and most likely fruitless. Resorting to Google when you aren't even sure of the problem is even more frustrating.

For beginners, getting stumped can be a momentum killer. And, if it happens often enough without quick assistance, it can demotivate from learning altogether. Finding the right help in a timely manner is incredibly valuable. In fact, it's so valuable that I've been mulling over an idea to provide a real-time solution. I even bought a domain name for it: unstumped.com.


Understand the problem


It should feel obvious, but getting help is predicated by you knowing what you need help with. However, I've found that when beginners are stumped it can be hard to define the problem. This could even be the source of the problem itself.

These are my methods for understanding a problem that is keeping me stumped. Your mileage may vary.

  • Step away from my computer to let my brain reset. Sometimes I get in a problem-solving rut and some fresh air (or playing with my son) helps to see things clearly.

  • Explain the problem aloud to my dog. Speaking the problem out loud and trying to explain what's wrong is a great way to see it from a new angle. Dogs are great listeners, too.

  • Break the problem down to its most basic parts. Understanding how the gears of a motor work can help pinpoint the broken sprocket.

  • Gain peripheral understanding. Knowing adjacent pieces of a puzzle help to shape the piece you're looking at. Study the things that may have an effect on the problem you're trying to solve. You might find the solution right next door.


Stay away from tutorials


When you're stumped on something specific, like aligning multiple elements with separate floats or setting up a new database, beware of tutorials that walk you through steps toward a specific end. It might feel like they're helping you, but they are often providing a finish line without showing you the path.

This principle applies to static code examples like the ones you'll find on Codepen or Gist. Seeing code and understanding how that code works are two very different things. It can feel like an answer to prayer, but you'll find yourself stumped on the same issue down the road if you don't learn it properly now.

Ask someone who knows


Strangers can be really helpful, sometimes. If you're really stumped and you just need help, consider asking for it. Stack Exchange has a bunch of community-powered Q&A sites. Many times, your question or some close variation of it has already been answered before and the solution is sitting there waiting for you. Don't expect speedy replies with online Q&A, thought. After all, people are doing it pro-bono.

Another interesting, although a little intimidating, option is to jump in an IRC channel and seek out help there. Many languages maintain active IRC channels and finding them isn't too hard. You'll need an IRC chat tool to connect to the conversation, but there's plenty of free ones floating around. I have webchat.freenode.net bookmarked in Safari. There's even a helpful guide to using IRC. Oh Internet, you're so helpful.

Free help from New Method


Have I mentioned that I love helping people learn web development? Well, I do. Never hesitate to ask me a question when you're stuck on something. I'll do my best to help you in a timely fashion.

No comments:

Post a Comment