DEV Community

Cover image for Best way to learn new stuff as a software developer.
Vinayak
Vinayak

Posted on • Edited on

Best way to learn new stuff as a software developer.

Learning new stuff is a very crucial skill, not only as a developer but in general. So I want to start this blog with a quick story.

Back in the days when I was watching a lot of anime, I was obsessed with amvs(anime music videos) so much so that I wanted to create my own amvs. Even though I only knew very basic video editing, I just had this super cool amv idea on my mind that I wanted to create anyhow. I built this project with the help of lots of tutorials. Learning advanced stuff was painful.
alt text

When I look back on that project, it’s very messy but for me, it was the best amv on the internet. I loved it. Fast forward 5 months I became a very good amv editor or video editor in general. I loved turning my imagination into media.

It taught me some valuable lessons:

  • How to learn new stuff?
  • How does it feel to get good at something?
  • Having fun along the way.

Now to the juicy bits, there are some key points I keep in mind while learning anything new, it helps me learn it way faster and most of all have a fun time doing it:

1. Aspire Way Above Your Skill Level

Whenever learning anything new, the first thing to do is to set a goal in mind. Now by goal, I don't mean "I want to become a good developer", that's good and all but it's very abstract, what do you even mean by a good dev?

Try to think of something more practical, that you can achieve this month like "I want to create a workout application that I can use to plan my workouts, maybe others will like and use it too", now how cool that sounds.

Now try to achieve this goal, don't think that you can't do it. You have to do it anyhow. It doesn't matter if it's good or not, just complete it.
alt text
If you get stuck somewhere because you don't have the required skills, that's where you :

2. Learn Things on the Go

Believe me, it will save you so much time and headache. Doing this, I have learned so many advanced skills in such a short time that would have taken me way longer, or maybe I would have never learned them.

I constantly put myself in a situation where I have to learn it, rather than learning it because it might be useful.
alt text
If you have ever played any sport in your life, recall the first time you ever tried to play it, did you first learn every rule and technique? or did you pick it up and start playing?

I am pretty sure most of you did the latter, but why? Because it's more fun, duh!

3. Having Fun

Going back to my amv story. I like this story a lot, it made me a very good video editor and taught me so many lessons but the reason why I go back to it is because of how fun it was!!

At that time, the only reason I was doing it was because I was having a blast editing videos till I fell asleep(literally).

Motivation and discipline sure help you complete the task, but having fun is what makes you think about it all day and get excited to do it again the next day.
alt text
Try to have fun with it, and build projects that really excite you.


These are the three main things I keep in mind while learning anything new. I am pretty sure you will pick up a few things from this blog and apply them to your own strategy(That's what I do).

All of this is straight out of my experience, so I thought sharing it with you guys would be pretty cool.

Have a nice day :)

Top comments (27)

Collapse
 
sofiacodes profile image
sofia

I started learning to code a few months ago, and this month my cousin asked me if I could build their website. I said yes to try and test my skill, warning them that it was my first time lol and of course my cousin was ok with it. I’ve learned so much more with this project rather than random, smaller practice exercises. And I’m having a blast too. Thanks for sharing your experience :)

Collapse
 
ludamillion profile image
Luke Inglis

This encapsulates such a key learning experience. Aiming high with a concrete success criteria but having a soft landing space to keep the dreaded 'cost of failure' from stressing you out too much.

Thanks for sharing and good on you for tackling that project.

Collapse
 
fjones profile image
FJones

This is absolutely key: Build projects you want to build, even if ambitious. Not necessarily for actual use, but for the experience - try and see what you could deliver for a random client.

Collapse
 
vinayak00017 profile image
Vinayak

I'm glad that you are having a blast building a challenging project. The great thing about it is that the next time you pick up a similar project, you will be a lot more creative—just tackling it more freely, confidently, and trying out new things.

Thanks for sharing your experience too :)

Collapse
 
hashirsaudkhan profile image
Hashir Saud Khan

Thanks for sharing your first experience lad:)

Collapse
 
kaamkiya profile image
Kaamkiya

This is a great way to learn things, for sure. Although, when setting goals, aim sky high, not space high. Start with a smaller project, then a larger one, and then aim for the sky. Don't start by aiming for space, because if you do, you'll be overwhelmed very quickly.

Collapse
 
jenesh profile image
Jenesh Napit

Aim high, but break things down into manageable tasks! Early on the most important thing is to get small wins and use that as motivation for more ambitious tasks over time.

Collapse
 
jenesh profile image
Jenesh Napit

Thanks for sharing! When I was a Junior Software Developer I also focused heavily on my technical skills. So as a reminder, don't forget to learn and improve your soft skills as well! I published a blog recently that goes over 5 of underrated skills to get promoted.

I highly recommend it to any current and aspiring Software Engineers.

dev.to/jenesh/5-underrated-skills-...

Collapse
 
ownerman123 profile image
Charlie

Not realted but also related. You mentioned the whole sport thing and how you probably didn't know all the rules before you started playing. That got me thinking about how in school at recess or gym or what ever. I never liked sports or playing them because I thought that because I had no idea how to play meant I shouldn't lest I risk being called stupid or something. The related part being the analogy still stands. You just gotta do things to learn them.

Collapse
 
vinayak00017 profile image
Vinayak

yeah, I believe chewing glass is very important. Oftentimes, the first step is the hardest. Especially in dev, there are a lot of concepts out there that make it very easy to fall into tutorial hell.
Good luck on your journey tho :)

Collapse
 
manuelsayago15 profile image
Manuel Sayago • Edited

You got me with this post. Thanks for your words and I wanted to say that I agree with all.

I think I will do this from now on. It's what I need, I think. I want to become an even better coder and the feeling is like I want to be capable of comfronting any idea of an application without having the fear or thinking that I can't do it. I just will try to do it anyway. I'll start applying this to my life. I mean, I kinda told myself these words but I needed like a little push hahaha and you post kinda helps me with that.

Thanks, man.

Collapse
 
vinayak00017 profile image
Vinayak

Thanks for the warm and lighthearted response. I am delighted that my experience and values helped you in some way.
May your dedication help you achieve your personal goals :)

Collapse
 
brense profile image
Rense Bakker

I love how positive and open this post is 👍 I agree learning while doing is more effective and it can be a useful way to prevent procrastination. Just start somewhere and keep the entry barrier low, but the end goal high!

Collapse
 
papylataupe profile image
Papy-La-Taupe • Edited

Great read !

as a (wanabe - in school) junior, I mostly agree, tho with a trick.

For pure syntax and general knowledge, yes, it's all good.
But I feel like, when you need to learn concrete unavoidable non-coding skill, like, typically, how to organise your CRUD in an eclipse Dynamic Web Project, there is little to no place for "fun", or "do it as you go".
It's boring, you have zero control over how it is supposed to work but you still have to do it how you're asked and not how you want.
And this kind of learning need a different kind of approach imo.

Collapse
 
vinayak00017 profile image
Vinayak

Yes, I agree. I like to imagine tasks like these as a part of leveling up my character(just like in an RPG), it is painful but also necessary for improvement.
Also, I like to imagine it as a black box( not caring about all the buzz and fancy names, just how it can help me or how is it helping others). It becomes a lot less intimidating and less of a chore.

btw good luck with your dev journey :)

Collapse
 
aika profile image
aika.

This was a great read Vinayak! I can relate to how you started and how it's shaped the way you learn today. As a kid, I was really into Maplestory and anime - back in 2012, there was a huge animating community in Sony Vegas and Flash. I wanted to learn, and there weren't any tutorials on how back then. All those trial and errors, sleepless nights - it felt like CSS but on a video editor!

I never saw that journey of mine to impact how I learn today, looking back during those days, I know realize all those trial and errors, sleepless nights and frustrations (it felt like CSS but on a video editor!). Finally finding out an easier way and learning about plugins for easier editing. Oh wow, those were the times indeed.

Thanks for sharing :)

Collapse
 
vinayak00017 profile image
Vinayak

Wow, It's so exciting to read about someone else's backstory who has experienced the same things as I have.
Thanks for dropping this awesome comment.
And best of luck for the future, keep crushing!!

Collapse
 
jairo1031 profile image
Jay Rodriguez

Appreciate the post. I'm preparing for entry level role interview and working on my JavaScript skill set on Scrimba, ICODETHIS and Code Academy. It's been quite the journey and can sometimes feel overwhelming but I enjoy challenges and learning new things. I don't mind failing and getting right back up again.

Collapse
 
vinayak00017 profile image
Vinayak

Best of luck for the interview ;)

Collapse
 
corners2wall profile image
Corners 2 Wall

In my view. PRACTICE it's MAIN point of your PROGRESS

Collapse
 
jenesh profile image
Jenesh Napit

Practice is good, but also get feedback from others. Share your code and get advice on improvements. Do it with a buddy and now you'll both learn 2x as fast and get better together!

Some comments may only be visible to logged-in visitors. Sign in to view all comments.