When I first started coding I was quite a bit younger, and has a passion to learn every possible tech related thing I possibly could. I was going to school, working a part time job, needed very little sleep, and quite the introvert. I had a programmers dream environment build up around myself. It was a genuine passion to learn, learn, and learn some more.
When I was going to college, I saw people who were going through the Computer Science/IT programs that had never even viewed a script other than to copy and paste to modify their MySpace. These people thought they were amazing, they could change the background or font-color of their profile page. They suddenly thought they were gifted prodigies with computers, hoping to be amazing programmers.
In class a few of them stuck with the material, but very few of them enjoyed it. Even fewer of these people actually practiced any sort of coding outside of the school material. Almost no one ever went in depth to learn the languages, linux systems, or every got curious about the systems we were working with.
This was in the very least, quite a disturbing revelation. You want to make a career out of developing software, yet you don’t want to learn anything other than the skimmed examples in the book?
I do understand that not everyone has the time to heavily dedicate to a given subject. (I have a family, kids, and a job this is fully understandable). Sometimes I get so tired of work, chores, worries, and everything I can’t even sit down and look at code. It’s nice to sometimes just burn everything away and fidget with a hobby or stare in my massive fish tank and relax for a bit. And sometimes just coding or refactoring a few lines of code is enough to relax my like a good nights sleep and I’ll spring to life.
But when you’re trying to make a career in a specific field, I honestly believe you need to have a passion for it in the first place. I understand that when you’re in the technology field there’s alot of pressure to spend every waking moment learning, studing, and creating in your field of expertise. Some technologist only learn what is required of them at their jobs, the bare minimum. And what works for them may not work for others, obviously the passion and desire isn’t always there. They’ve got job security until they’ve got the train that new college grad years down the road and be their manager, switch fields, or retire. And some people try to learn and create in every little nitch that they can.
As I’ve grown older I’ve learned it not solely about dedicating every moment you’ve got to your studies, it’s about learning to sift to sift through all the fads and learn what is required to work for you. Let it be: Swift, Dart, Go, Angular, Ember, AWS, one of the dozens of NoSQL databases coming out each weel, Python, Ruby, the newest Web Framework and flashiest, Responsive Design, the list could go on forever.
I’ve learned you need to focus on learning the big picture, you don’t need to learn every language out there. It’s important to stick to a language you like or need and get to be good at it. Especially considering once you’ve learned the the concepts of on language very well, you generally understand the basics of numerous other technologies and languages. And once you have got a fine grasp on things, it’s quite easier to begin learning other things. Just don’t overwhelm yourself with fads, trends, the newest and coolest language. And before you jump into a new technology, take a moment to think: where do you think it’ll be in 5, 7, or even 10 years from now.
We can only hope the paths we have chosen to follow, the skills we have learned, and technologies we have adapted won’t be the thing that causes us regret and worries years down the road. And that the skills what we’ve decided to learn we’ll still be able to pay the bills, support our families, and enjoy our careers with.