Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
C0D45678175dIf you only eat apples, you'll never enjoy or see things from another perspective that an orange or grape could show you, and potentially improve your Apple growing techniques.
There's nothing wrong diving deep into the apple cider, but you'll never appreciate the finer tastes of say oranges if you never open that bottle of orange juice.
Also, if you pick the wrong tech to dive really deep into, there's the potential for the work to dry up. This industry is always changing and what was the latest and greatest yesterday, isn't necessarily the latest and greatest tomorrow, having exposure (not expertise per se) to other languages gives you a broader reach in the job market if you need to switch quickly.
Okii3375dYou say, "...I should have tried other paths" as if your life is over. You can stop whatever it is you're doing at anytime. Trying different things helped me know what I didn't want to do anymore and what was much more fun.
If you only mainline a single tech stack, you will be irresponsibly unaware of what other tech stacks are doing. This makes you worse at your existing job because you lack perspective on what is possible, and it also leaves you vulnerable in the event of stack erosion.
I'm doing dotnet core mainly at the moment, but I'm also skilled enough to jump ship and do java (in several flavors), front end dev (if I had to), and any number of other things.
I've also worn many hats due to necessity and learned the business concerns of many verticals due to efforts on my part to understand the business processes of the customers I work with. Without that knowledge, my software wouldn't be able to solve their problems.
You should also know general philosophy, Western and eastern. Philosophy (most of it anyways) gives you perspectives on how people operate and the bases of their thought process. Greek philosophy, confucianism, vedas, buddhism, ethics, and the billion other varieties allow you to intuitively understand the cultural motivations that drive people.
Learn everything, career and otherwise. All things from as many perspectives as possible.
AlmondSauce849575dIf you want to be forced to diversify in the tech space, go work for a tiny startup where there's perhaps 2-3 technical staff total. There you've got no choice but to learn everything, from infrastructure management to backend to helping Bob setup his emails.
If you want to diversify outside of tech - go for it. Tech people can become great lawyers, accountants, teachers etc. if that's what's desired - or of course something else entirely!
HerrNyani7975dThe big plus about diversified knowledge is that you know shit no one else does, and that you can see things from a perspective not imaginable by others.
One of my friends is without a doubt a better programmer than me. He knows a fuckton of tricks when it comes to writing code, especially ASP.NET. But as soon as speed or memory becomes an issue, I'm the one who can identify tens of possible issues due to my background in electronics, hardware architecture and C++.
The other big plus about diversification is identification. In my company, I am "The ninja" because I am the only one who knows a lot about Japan. Can't say I've become a better developer through Japan, but I've built an identity, and people know me. I'm no longer an abstract concept, but a tangible person to them. This is especially true for the non-tech people.