In 2001 Along Came a Spider, Alex Cross was having a conversation with Agent Flannigan as she was going through an existential crisis after losing ...
For further actions, you may consider blocking this person and/or reporting abuse
I'm afraid I disagree. If you stick to what you're good at you'll end up like me. I am The Man when it comes to what I'm good at: my name is recognised by people I've never met, I have my choice of employers and projects, I earn good money and have the respect of my peers, but recently, after nearly 20 years of becoming one of the best there is, I've started to yearn for something more. I've got stuck in a rut, and it's really hard to get out, because by sticking to what I'm good at I don't really have good skills so I can be immediately as productive using other tools. It's not nice going from being a grizzled veteran to a newbie.
I recently did some playing around with Go for the first time, and found it so frustrating because the code doesn't just flow from my fingers, I had to look up the simplest things repeatedly, I don't immediately know what libraries contain most of the code my project needs, and so on.
I would go so far as to say that under no circumstances should you stick to what you're good at. You should always at least play with the new shiny, just have the discipline to not get distracted by it.
Earlier this year I had grand plans of writing a useful piece of code in a different language each month - to play with lots of shinies. But it being useful code each time would, I hoped, help avoid the problem of constant distraction. Unfortunately other things got in the way (good things, so that's OK) and that fell by the wayside, but while it lasted it did make me focus on specific new shinies instead of flitting around.
You already answered best. Nothing to disagree.
Go doesn't make sense to you, but it does to me. The point is everyone is different and shouldn't go chasing after things based on what the public says or thinks (or, for that matter, what TIOBE thinks).
Here's an example:
Bad
SO: Rust is the most loved language.
Me: Shoot I have to learn Rust.
Good
People: Ocaml is useless for practical projects reserved only for academia.
Me: But I get Ocaml and I feel that its construct really clicks with the way I think
so I'm gonna try to use it to build something useful anyway.
Another (arguably stronger) point being you want to build or learn something for the small wins, not to win big. Small wins always help with the drive.
What Alex Cross said, "You do what you are." is intentionally different from the well-known "You are what you do." I think your case was the latter. The first is meaning you in your guts know best what you are good at and do it. It doesn't mean stop learning.
Thank you for the message. I loved reading it.
Actually Go does make sense to me. I just don't know the idioms and tools well enough yet and so have to keep stopping to look things up, breaking the flow. I'm slowly improving, and will become one with the compiler at some point I'm sure :-)
An advanced version of "Tutorial Hell".
I was chasing too the "Shiny new thing" until I stopped in my tracks, thought what languages I need instead of what would be cool to learn.
Now I have a plan of what I want to learn this and next year. Not (only) because I like it, but because it will give me new tools (for example, learning Flutter as a backend developer, instead of learning Rust or C#).
I was in the Rust, Ocaml, Erlang, Elixir, Clojure, Scala, F# hells. Finally got it to 7. :)
Really they're all great languages. Just have to prioritize. I think seeing things the way they are and be objective is the most important skill a hacker can learn.
After years of fiddling with different languages, I realized that I was okay in most but hardly a true master in any. So I really get what you're saying.
I'd like to be both mobile and full stack and I get OOP. It's because of that that this year I decided to stick to Kotlin for Android and Typescript for web. I'm not where I want to be yet, but let's see how it goes.
I think taking detours to learn new things and master nothing is great. I'd even go as far as to argue it's the only way to grow.
Hello Joe great article!, I believe we should specialice in a particular set of skills/roles let's say frontend, backend, DevOps and so on, but one thing that I'm putting on practice is trying new things from time to time. Currently I'm focusing my career in Frontend related stuff, but some times I code in Go just for the sake of curiosity, in my opinion there is a thin line between be an expert and do what You're Good At and try to learn any new hype technology.
Thanks for the comment, Gustavo! This has nothing to do with not learning new things.
What Cross said, "You do what you are." are contrary to the well-known "You are what you do." If you stop learning you'd surely become the latter. Even Picasso learned and changed his style. People grow up, learn new things, and waste some old things. Point is you do and learn whatever you are comfortable and happy doing, not what the TIOBE or the poll says.
Nice article!
When in doubt go back to the basics and start over and youβll figure out where you got off the track.
Keep trying something cool one day you'll be good at itπ€£
The question is how good is good enough?
You don't have to be good at it. You just have to have fun and get small wins from things you do to keep going. Most people give up because they struggle to chase after things that are not for them.
Try new things, for your sake, but evaluate quickly and stick to it or ditch it and move on.
I really like this perspective. However it's also important to get a job through what you love or else it's not helping your career. Open to opinions.
You will be amazed at how easy we can learn to love what we are good at (or at least good at learning)!
Humans are very agile and flexible. It's just a matter of perspective.
But we are also very vulnerable to failures and very easily put down without small wins. Do things that you can earn small wins, not what's unnatural just to please people, career, or gain status.