For my entire professional career I've only worked in the JavaScript ecosystem. It was great — for the most part — but recently I've been kinda looking for something different. I've made several attempts in the past to learn a different language. I learned Rust and got pretty far. I did two Advent of Code with Rust. Each time I learned it again. I even built a tiny CLI tool with it. But it didn't stick. I made another attempt with Elixir but I didn't get far there. I dropped the course I was doing halfway, partly due to it being outdated but also because I lost interest.
Looking back, I maybe shouldn't have spent a lot of time learning either of those languages. I didn't follow my own advice — the best way to learn a new language or technology is to build something with it. Get the bare essentials down and dive into the deep end.
But this post isn't about that. It's about wanting to do something different that's not in JS. Not because I don't like JS. It's just that I've always written JavaScript code and nothing else. I want to experience what else is out there. Rather than relying on one language to carry my career, I want JS to be yet another tool that I can use when needed.
There's also another reason. I feel like I've gotten complacent. Early in my career, I was hungry. Hungry to learn, hungry to solve challenging problems. I was fortunate to work at companies that fostured this culture. I would constantly voluteer for doing projects that I don't know how to do. Sometimes it worked out. Sometimes it didn't. When it didn't, they'd give the project over to someone else. It didn't hurt. I know I gave an honest shot. When it did work out, I came away learning something. Most skills I have on my resume today, came this way. Lately, while I've done projects that challenged me, I've never been in a situation where I had no idea what to do. It's time to change that and it should be in a new language.
So I'm starting with Go. I've got the fundamentals down and I've already started a project with it. I have no idea of what I'm doing. But I'm confident that I can figure it out. And I kinda like the "not having any idea how to do stuff". I like being uncomfortable. And I think this can lead me to working on my more ambitious project ideas.
You've got to work on something dangerous. You have to work on something that makes you uncertain. Something that makes you doubt yourself. You shouldn't feel safe. You should feel, "I don't know if I can write this." That's what I mean by dangerous, and I think that's a good thing to do. Sacrifice something safe.
– Stephen Sondheim