Getting Better at Web Development

Getting Better at Web Development

I want to discuss how I can help your web development. This list uses researched-based methods of how to improve, and I've adapted it to my own experience learning web development and data analytics. Some things I've failed at, and others I take pride in mastering.

This article will highlight the following topics.

  1. Find a community of people
  2. Done is better than perfect
  3. Grit and Flow
  4. Diversify your content intake
  5. Get a sounding board

1. Find a community of people

Let's start out with a quote from Harvard University describing how people learn.

Effective communities are both aspirational and practical. They connect people, organizations, and systems that are eager to learn and work across boundaries, all the while holding members accountable to a common agenda, metrics, and outcomes. These communities enable participants to share results and learn from each other, thereby improving their ability to achieve rapid yet significant progress. Harvard University

This is extremely important if you want to get better at any kind of skill. You need to have a group of people that are also walking along the same path as you. They are going to be your allies, your enemies, your motivators, your competition, and your team. They are going to be everything. If you plan and play right, no one loses and everyone wins.

Maybe you can find a few people that have succeeded "by themselves." But I'm willing to bet that they're only saying that because it's easy to say. It's harder to say thank you to all the people that have helped you along the way.

But no one has helped me

Sorry, when you're learning something new, you're obviously going to read. Thanks, MDN docs! Thanks, manuals! Thanks, mom/dad/teacher who taught me to read. Or you might head over to Reddit to find a solution. Did you ever use StackOverflow? Thank you! Furthermore, when you dig into MongoDB CRUD operations, sure you can learn by trial and error but having a community to talk through problems is going to help you stay motivated. A community provides that much-needed motivation!

You're naturally going to be riding the wave with that group of people. They're your peers. Some may learn things faster, and others slower, but the community helps you stay focused and keep pace. Feeling behind should help inspire you to do more. Feeling ahead should provide satisfaction. One non-option is standing still. Please don't do that.

There are many ways of going forward, but only one way of standing still. -Franklin D. Roosevelt

So find that community. Twitter has a great tech community. Hashnode is awesome too! LinkedIn is really good. Go local! Join meetups. Get into a Facebook group. Twitch has a lot of streamers and provides great interactivity to learn and experiment. Discord channels are amazing! Whatever your choice, go there and start talking, interacting, asking questions, answering questions, communicating, and trying to learn something new. Don't learn alone!

2. Done is better than perfect

know when you've done enough - Emma J. Butcher, PhD

This may be controversial, but I'm going to stick by my choice when you're learning a new skill. It's extremely important for learners to complete something every day, even if it's small. I've written about making a list to complete for the day, but I'm going to go a step further and make sure that you are actually building something every day.

It's not going to be easy, but what it does is provide you with concrete evidence that you're making strides. This may be more directed at new developers, but senior developers can benefit too. If they are learning a new stack, platform, or product, the only way that you're really going to get comfortable with this new technology is to build something every day. Expanding with new features counts too!

Make it small. If you're just learning HTML, get words on a page. Done! If you're learning Kubernetes, create a Minikube. If you've just started to explore GraphQL, write some queries after setting up an API. These are basic. BUT they are concrete. You've done something. It's extremely important to build (and complete!) instead of reading.

The greatest gap in the world is the gap between knowing and doing. - John Maxwell

3. Grit and Flow

If you don't know Grit or Flow, then please go back and watch these links. You're seriously missing out on "opportunities that only come once in a lifetime," as Eminem would say. The links are relatively short, (ie ~6mins), but they are immensely important in helping make yourself better.

Here are the key takeaways.

  1. Don't give up. Grit is so much more than that, but the main idea is that you must keep going. It doesn't really matter how much you know, how strong you are, how much you study, or what your methods are. What matters the most is your willingness, passion, and desire even during the hard times! And trust me, the hard times are coming. They'll pass, so you gotta be gritty. Hit back when something doesn't go your way. Get up, and keep moving.

  2. Set aside time to get lost in your work. If you've ever been so engrossed in a project you love and you look at the clock and say "What?! It's already been 2 hours?" Then you've been in a state of flow. Maybe you'll hear people say that "it's a marathon, it's not a sprint," but that doesn't really capture everything. Get lost in your work and stay there. It's fine to do 30 minutes a day, but somedays you're going to need to hit 5,6,7... 8 hours of coding in a day. If you don't, then you're really missing an opportunity to accomplish a lot. It'll be nearly impossible to get into a flow state. You need consistency, but you also need a few days of burying your head into the work and getting lost for hours.

Grit is the stubborn refusal to quit. - Angela Duckworth

4. Diversify your content intake

Read. Watch. Listen. Copy. Talk. Exchange. Communicate.

Describe what you learned to a friend, take notes, or draw a mind map. By learning in more than one way, you’re further cementing the knowledge in your mind. - Verywell Mind

All of these methods can help you improve and help you create amazing things. Reading about how new technologies can increase user experience is helpful. Watching a video on how Python, or PyScript, can be used in the browser is great. Listening to a podcast about web-based games will provide positive insight. Talking and exchanging ideas about CSS properties and psuedo elements may help you solve a problem.

But you need to do all of them to really master web development skills. Diversifying your intake is not about using "different parts of the brain," but to me, it's more about finding inspiration in different ways. Some aspects of web development are easier to learn through reading as others are much easier to learn visually. And some are just best hashed out while speaking to others.

You're going to have to try and find what's best for you and/or the topic, but keep searching. There is no best way to do it, but instead, it's all the ways. I recently watched three Youtube videos, followed a tutorial, and read a short article on hooks in React. And now that I've seen the same idea from multiple perspectives, it has solidified the information and filled in gaps in my understanding. You can (and should!) do it all.

A successful man will profit from his mistakes and try again in a different way. - Dale Carnegie

5. Get a sounding board

Research has shown that for individuals, mentoring is related to positive career outcomes such as increased compensation, salary growth, and promotions as well as greater career and job satisfaction - 1

Sounding board - a person or group whose reactions to suggested ideas are used as a test of their validity or likely success before they are made public.

This is not just for junior developers. Everyone needs someone to help mentor and guide them. A President should have a Vice President to hash things out. You should have the same. These people should provide a different perspective than your own, and be willing to discuss it at length. A sounding board should not be your peers (they are your community). Instead, they should be people who have expertise on a different level or different field. They don't need to be teachers or mentors, but they do need to be inquisitive.

If they can guide you in coding or learning new layouts on eCommerce apps, great! But just as importantly they should provide reactions. Call them a therapist, if you will.

If you think about your favorite and most effective teachers, you're likely to associate them with someone who cared, helped you to find solutions, and guided you to the next logical step. Sometimes they had the answers. Sometimes they didn't. Sounding boards don't tell you answers. What they should do is ask GREAT QUESTIONS and provide FEEDBACK. So find someone that can help.

Are there others things to add to this list? Certainly! And I'd be happy to know what you would add to it so I, too, can continue to improve my web development skills.

I hope you enjoyed reading! If you liked what you read, please follow me on Twitter, connect with me on LinkedIn or follow me here on Hashnode.

[1] Allen, T. D., Eby, L. T., Poteet, M. L., Lentz, E., & Lima, L. (2004). Career benefits associated with mentoring for protégés: A meta-analysis. Journal of Applied Psychology, 89, 127-136.

Did you find this article valuable?

Support The Dude's Full-Stack Journey by becoming a sponsor. Any amount is appreciated!