DEV Community

Cover image for Middle-Earth Ways To Learn Programming
Fyodor
Fyodor

Posted on • Originally published at fyodor.io

Middle-Earth Ways To Learn Programming

I love The Hobbit and The Lord Of The Rings. The Tolkien's Middle-earth universe is such an awesome place to be, at least in dreams. There's so much inspiration in all the characters inhabiting it. And so much to learn from, like courage, responsibility, curiosity, trust, friendship, and whatnot. But today I'm going to draw a slightly comic analogy between some movie episodes and ways one can learn to program. Many a true word is spoken in jest, so let us take a look at learning processes from a different angle and see which one is more suitable for each of us.

Self Teaching

Self Teaching Like Bilbo loves

Self teaching is scary. One needs to go a long way and learn from their own mistakes. A beginner can face so many obstacles, so many enemies (including Internet trolls and impostor syndrome). But they can also meet new allies (such as Stack Overflow or Free Code Camp) and gain new powers, not mentioning the feeling of achievement at the end of the Road. It's the way of introverts. The style of lone wolves. The method of achievers.

Pair Programming

Pair Programming Like Gollum practiced

Pair programming can be uncomfortable. When one works hard on a problem with a peer, their impact can fade, and they can feel vulnerable, especially if they are less experienced part of the pair. Or vice versa, one can feel that progress is slow because of that second person who cannot get this simple idea. Anyway, it all comes to ones ability to be patient and compassionate. In some situations, two heads are definitely better than one.

Workshops

Workshops like trolls have

A workshop is basically focused on active participation in some practical learning process organized by experts. It's a proven way to memorize new knowledge better. However, the level of experience should be somehow equal for all the participants, or it can be either a dull or a hard way of progressing in a new area for a person. Anyway, it will be fun and immersing, so one will get at least a new vocabulary from it. Presumably, not only curses.

Webinars

Webinars like with Saruman's palantir

Webinars are great when one doesn't want to leave their home but wants to get new knowledge. They can reach trusted experts from all over the world without even taking on their pants. This magic is used more often these days, turning into less formal live streaming sessions (webinar/workshop mixes). Some magicians get really good at it. One just shouldn't forget about the real world ― it's beautiful and full of problems they can solve with the newly gained knowledge.

Conferences

Conferences like in Army of the Dead

Conferences are great both for speakers and listeners. A speaker validates and bulletproofs their experience. A listener invests in learning the most modern industry practices and useful networking with like-minded people. Or they can leave with nothing and be humiliated. 50/50. But if one is an extrovert, they'll have a great time and make new friends, and probably their career will benefit from it in the most unexpected way.

Hackathons

Hackathons like dwarf organize

Hackathons are great for creative enthusiasts. One joins other practitioners to build something useful and (optionally) beautiful. Sometimes they can even get a prize. Or learn not only a subject matter but also working in a team, defending their point of view, being productive for long hours, and other useful (though not always healthy) skills. Hackathons can be a bit chaotic and stressful. Still, one will hardly be able to get out of them without a new experience.

Summary

So, after all this deep dive into the knowledge universe, we can definitely make an unambiguous conclusion on what is the best way of learning new programming stuff. And the winner is... πŸ₯ Whatever turns you on! There's no silver bullet and everybody ought to do their own thing. The only way to know what works better for you is to try everything. So it sounds like a decent plan, isn't it?

β€œThere is nothing like looking, if you want to find something. You certainly usually find something, if you look, but it is not always quite the something you were after.”

― J.R.R. Tolkien, The Hobbit, or There and Back Again

Cover photo by Tobias Stonjeck on Unsplash

Top comments (4)

Collapse
 
xanderyzwich profile image
Corey McCarty

Pair programming with the more junior partner at the keyboard is the best way that I've found to teach the junior things that make life easier. Things like better keybord navigation, hot keys, find replace with selection have all come up in the last week for me. There are lots of skills that make you a more productive programmer that aren't how to use the Language itself.

Collapse
 
fyodorio profile image
Fyodor

Absolutely. These are the things one usually doesn't even know they should know, so the peer guidance is helpful πŸ‘

Collapse
 
lautarolobo profile image
Lautaro Lobo

12 hs hackathons are not stressfull, and have all the benefits (networking, learning, programming). 100% recommended, at least I consider my self a fan :)

Cool post! I'm a hug fan of Tolkien too.

Collapse
 
fyodorio profile image
Fyodor

Yeah, hackathons are useful, totally. The balance is crucial, as everywhere else.