Jr. Developers #3: Should I learn X or Y?
Hello Jr. Devs 🙌,
“should I use x or y?” — Every Jr. Dev ever.
One of the most common questions from Jr. devs is “should I use x or y?” If you scroll through StackOverflow or Quora, the pages are littered with these questions. Often responded to with very thoughtful and convincing arguments towards one technology or another. When you’re just getting started, this can be pretty overwhelming.
What if I pick the wrong thing? 😱
We developers tend to get very passionate and protective of our favorite tools. This leads to dramatic blog posts & essays from developers about all the horrors you’ll experience if you use something other than “xyz technology/stack/text editor.” Or even worse, you’ll hear degrading comments like:
“real developers don’t use xyz technology/stack/text editor” — jackass
(if someone ever says this to you, feel free to send them my way. I’ll gladly send them a disappointed 💩 emoji)
As a Jr. dev it’s very easy to get caught up in these battles. You’re new to the scene and seeing all the different opinions can cause decision paralysis. You end up spending more time worrying about picking the wrong tool than you do learning to code & building something useful.
Picking your first language/framework
Each language comes with its own benefits and drawbacks. Are you interested in web? mobile? gaming? Whatever it is, there will be a few different prevailing options for you.
After determining a couple options, this is where most people get stuck. The fear of “what if I pick the wrong thing?!” kicks in. But lucky for you, since you are reading this post, you will not be one of these people!
🌟 The worst mistake you can make when choosing your first programming language is: spending all your time deciding instead of coding. 🌟
This is true for everything you learn as a developer. There will always be options. You need to learn to make decisions efficiently.
Your value isn’t a list of buzzwords
Developers are in high demand because they are able solve problems that make companies a lot of money. Not because they know latest $BUZZWORD of the day. Your priority should be learning how to solve problems. The technology stack that you use will be continuously changing.
🌟Your ability to solve problems, work well with others and learn new technology is what will build you a successful career.🌟
Place more importance on that 👆 & less on the specific technology you’re learning.
But… but what language do I choose?
I recommend picking a language that is used around you, whether at your office, with your friends or any online community you may be a part of. Having access to other people who can answer questions will be the biggest boost to your learning.
If you don’t have tech savvy friends. Check meetup.com & see which languages have meetup groups near you. Anywhere that you can get exposure to people with more experience than you will accelerate your learning.
Just remember, whatever you choose isn’t the be-all and end-all of your development career. Just choose something and get started. Your first language won’t be your last. Relax, have fun & write some code.
What about text editors?
Since the beginning of time, text editors have started more arguments between developers than any other topic. People get very passionate about the tool they use the most.
Drop into any comment thread about a text editor and you’ll think some religious holy war has broken out between a bunch of programmers.
It’s easy to get caught up in this when you’re just starting. The same problem occurs, you enter decision paralysis and go down the rabbit hole of “what if I’m using the wrong editor? will I be less productive? will I not be cool?”
As a Jr. dev, I recommend you ignore all of it. It’s not worth your time when you’re first starting out. You have bigger things to learn, like how to build useful software. The text editor you use will have very little impact on this.
🌟The big secret behind text editors: it doesn’t matter as much as you think it does, whatever you choose is perfectly fine.🌟
If you try something out and you like it. Use that. When someone comes along and tells you to use something else. Ignore them, because you’re busy building software, learning & solving problems. You’re learning skills that will help your career. A specific text editor will have very little impact on that.
All those old devs use vim/emacs, should I learn that?
But why not?
Both of those editors are great. Personally I love vim. I even have a video of myself talking about learning it. But the learning curve on both of them is really steep. Once you’ve been a developer for a while, they are worth taking a look at. But when you’re starting out, you have too many other things on your plate to worry about. Learning vim or emacs isn’t the best use of your time.
Now, let’s review 🙌
Before you go, let’s review one last time.
- spend your time coding (make decisions efficiently)
- the tools you use will continually be changing
- your value as a developer is your ability to solve problems
- ignore the text editor evangelists
Go write some code! 😀