Tell me if you have heard this premise before:
Article No Longer Available
The poster, Abisekh subedi is dealing specif...
For further actions, you may consider blocking this person and/or reporting abuse
Yay! Yes!
Just get started. You’ll start to find what you like, what you don’t like about a technology, and then you can do research to find what your going to learn next to fill whatever you’re not enjoying about language 1!
It’s not a death sentence, you can change if you don’t like it. 🙃🙃 theres Jobs in every tech stack.
To be successful you MUST:
Nope, nope and nope.
Just get out there and have fun. There are fundamentals that will always ring true, no matter the technology or the domain you are applying the technology to.
Read, learn, have fun and enjoy.
Check. Check. And Check.
Oh wait, that's a list of stuff I don't need to do. :)
Realistically, the amount of stuff I do "publically" is far outweighed by the amount of stuff I just do on the side. So yes, just do something and don't worry about its relevance.
I spent 4 anxious months researching, deciding, doubting myself, then doing more research into languages.
Boy do I ever regret not just starting 4 months earlier. 😬
With the world of JavaScript screaming at you about how TheLatestGreatJS.js™ is the future of all web development and development in general (hello react native you frustrating thing, you!), it's easy to get swept up in perpetual doubt.
Stop. Take a breath. It will be fine.
Honestly, if you're learning to code, you'll hear it a dozen times "it doesn't matter which language you learn, once you learn one, you can easily learn another". That's because it's true. An if statement is an if statement, regardless which language it's in. I spent a long weekend playing around with Python a few weeks back and boom, I can use python. Am I great? Nope, but now I get the joy of getting better :)
This is one of the best articles I've seen on this subject, thanks for writing it Ben, I hope beginners everywhere see it and read it, then reread it regularly.
For what it's worth, I learnt Ruby (and rails, because who doesn't?) first, then got sucked into JS (well, js hell imho), then got pretty good with Elixir and Phoenix. All are great, all have faults. In the end, and as of last week, I'm back to using Ruby and Rails because it's my favorite. Sure Elixir is lightning fast, but I like the joy that comes with Rails thank you very much.
I agree! The pressure to know the hit, most popular language can be frustrating. If you pick a language by looking at Hacker News you will be using Rust and have no job prospects. In reality if you want a programming job, one of the simple ways to pick a language is to look at what is most popular in your area and just pick the one you like the best. You can learn other languages later.
:pray: Once you know one language really well, picking up other languages (as needed) will be easier.
More than learning language X or framework Y, the most important thing to learn is how to learn. Even if two projects use the exact same language, framework, etc., they're still likely going to have different business domains that you need to quickly learn about.
It takes a lot of time and self-awareness to learn this skill, especially since your most effective style of leaning probably won't match mine. It's also likely that the most effective learning strategy for you will vary over time and from subject to subject, so it's important to, through trial and error, assemble a toolbox of learning strategies.
The best part of learning how to learn is that it's a skill that will also help you in life in general, not just in your career. Both our field and our world are changing rapidly, and the ability to learn and adapt are quickly becoming the most valuable skills you can have.
I've been programming for about 15 years now, and I've learned a lot of languages and tools. I've only actually used a handful of them in my job (try convincing your workmates that using a Lisp is the best solution to their problems. I dare you.), but I have also learned how to quickly identify the things I can learn that will have the most immediate positive impact on my job.
One thing that, as I've gotten faster at picking up new things, has come in handy is the idea of "lazy" or "just-in-time" learning. I don't try to learn every new thing, I just try to be aware of what new things are coming down the pipeline and have a rudimentary understanding of their strengths and weaknesses. Then, when I need to use some new thing, I dive in and learn the relevant parts for the task at hand.
Ooooooh, I really like that.
Reminds me of the phrase:
What do you call someone who is good at PHP? Employed.
Or that other phrase:
What do you call someone who is good at Python? Employed.
or
What do you call someone who is good at Ruby? Employed.
or
What do you call someone who is good at .NET? Employed.
or
What do you call someone who is good at Java? Employed.
or
What do you ca...
Heh! Never thought a comment I'd write as I was running out the door would inspire such an EPIC article! Bravo, Ben.
The only reason I said "official tutorial" was because the poster was already flooded with course recommendations. The official tutorial may not be optimal, but it's a starting position! That said, I agree with you...if you know of a better resource, start with that instead. :)
And, haha, nice catch on the word "JUST". There ain't no just about it, is there?
Another point about why your first programming language shouldn't be such a paralyzing choice: once you learn one language, all the basics and principles will carry over to the next. The first language I really learned was JavaScript. When I started learning Ruby at least half of that knowledge (variables, functions, conditionals) carried over, and the only really big change was learning classes and the object-oriented thinking.
So basically it's a similar point of not learning a specific language, it's learning programming as a whole. Once you do that, picking up specific languages and frameworks as you need them is simply part of your daily routine.
To be fair, this depends entirely on what you're looking to achieve. If you just want to learn "software development" as a whole, yes, just learn whatever you think looks most fun/interesting.
However, if you're on a budget and need to find a job with the language you're learning very quickly, there are languages you should avoid.
Good post
Great post! Too many people google stuff like "top programming language to learn in 2018". That is NOT a sustainable career entry point.
and don't let other people tell you what's good and what's bad.
we got plenty of fanboys in our industry.
learn as much as you can and develop your own opinion about stuff
Couldn't be more right... Focus in a single language or environment is the best way (in my opinion) to learn something properly.