I have the impression new things emerge on a very regular basis and it's hard to keep up.
Currently I'm learning Docker and Kubernetes. Then I want to dive into kafka. And the things I already know also change and progress further: Java, Spring, and JavaScript.
I would have to learn 24/7 in order to stay up to date. And I'm also not the fastest learner. I need to try it out again and again until I really understand it.
Top comments (17)
Technology does move fast, but companies don’t typically change their entire stack every year. As long as you keep learning in one way or another, there’s not much to worry about. Many concepts transfer to other languages and technologies. Keep an eye on new things to see how you might apply those concepts in your tech stack.
I think it's impossible for us to stay up to date on absolutely everything. What I try to do is at least stay knowledgeable about what's going on. I actively follow tech Twitter and when I encounter languages or tech or programs I don't know, I write them down and google them. At least then I know what they are.
I am always on job boards reading listings so that then I know what employers are looking for. If I see a technology being requested a lot, I'll look into it and learn it if it makes sense for me.
I also read tech blogs and developer articles to see what thought leaders think.
Ah, cool. Any cool blogs or Twitter handle you would recommend?
twitter.com/DThompsonDev
twitter.com/dan_spratling
twitter.com/EmmaBostian
twitter.com/elyktrix
twitter.com/ParissAthena
twitter.com/hiretechladies
twitter.com/ASpittel
twitter.com/techgirl1908
These are some of my favorite Twitter accounts!
I think trying to stay up-to-date with everything you are interested is really really tough no matter what—or at least my brain has a hard time.
I try and stay in the loop with things I'm interested in, mostly by following tags here and peering in on some discussions, but I don't try to fully learn and keep up with all of it, it's too much.
Trying to keep up with everything and master it all is simply impossible. Things evolve so fast that it is not feasible to know it all. Most important is knowing what is out there, but only go in-depth with the stuff you actually (intend to) use.
It depends why you want to keep up: if you're running a tech news blog and want to keep on top of everything, then ya that would make sense. If you're personally interested in trying the latest and (maybe) greatest, sure. If you're constantly looking to hop around companies who might be using the latest stuff, maybe.
Personally I don't really keep up. I just focus on my projects. Get something working. If I'm going to start on a new project, maybe I'll check out some of the new stuff and see if it suits my needs. Try something new one at a time but don't just learn things for the sake of learning.
If I were you I would focus my efforts on learning a a few things well instead of learning everything at once.
If you don't you will end up being a little good at everything but not be truly good at anything.
I've asked the same question to older devs whom I know that have been programming for the last 20 years, and they told me that at some point, a lot of the new things look the same. There may be nuances between this and that, but the fundamentals and basics don't change that much. Pro tip: learn enough to understand the fundamentals of broader concepts, and go deep in areas that you feel really invested in. Most of these older devs that I spoke to are really good generalists, but are also highly valued for specialized knowledge in specific domains (like devops, security) that can be applied across many other domains.
Indeed, just like the others had said: it's impossible to stay up-to-date 100%. Instead, you could pick a news source, blog, or other outlets that you trust and subscribe to their newsletter or follow them on social media. That way, the new stuff will come to you!
Ten years ago i think it was possible to still keep up with every new release on most tech stacks, tools, languages. Today it's impossible.
The best you can do is focus on one stack and find a job using that stack, get good at it, but mostly get good at the languages for that stack. For most web devs nowadays that is JS/HTML/CSS. You can get good at those within 2 years or so, JS takes the longest and is the hardest, but practice makes you better in time.
As for keeping up with everything, find tools that help you, or build them as you get better. For example, i built webnuz.com in 2011 to help me track articles from some 60 sources, i still use it today to read headlines and keep up in general with what's new.
To actually learn something new i look up tutorials and try to build a full project with the new tech instead of just one page or small tool like most tutorials teach. Combine four or five tutorials and build a whole site. This also forces me to constantly keep reusing the skills i already have.
And read. read news about tech companies, about tech tools. Set aside maybe 30mins to an hour a day to just catch up. Don't try to catch up on 30 years of tech, just read new stuff because in 2 years that will also be old.
Our industry never stops changing, so we never stop learning. It's challenging and may feel overwhelming, but focus on now and in time you'll have a history of knowledge to back you up. You don't need to know everything today.
There are things that I absolutely suck at or are slow at. There are things I don't understand why a company would choose when not at scale and this includes adopting distributed systems problems then end up having to deploy infrastructures to orchestrate it -- like Zookeeper and Kafka. Am I familiar with them? Sure, but do I actively try to learn about them? No.
I think it's important to know where technologies stand and PRECISELY what problems they help solve at what cost -- nothing is zero-cost and everything has a trade-off. There are no silver bullets or panaceas.
Some of the things that you've mentioned don't come around THAT often. How were we doing things prior to Docker? Hypervisors and VMs like Vagrant and VirtualBox -- still useful, but know why. Knowing the "why" behind technologies has helped me bucket them into where they rank in a constantly shifting mental priority list that I have. I was using Homebrew to manage services like MySQL, Postgres, Redis, etc before, but always ran into issues when I found myself working across different projects with different dependencies on different versions. Now, a simple
docker-compose.yml
in each of my project's roots make this a breeze! If you can't answer the question about where K8s fits into the topology of an organization, it's probably not yet worth learning. Otherwise the thing that hinders our learning becomes, "why can't they do it this old way and make it so damned annoying for me to develop software here?"I think it would do you some good to read a book titled, "Designing Data Intensive Applications" by Martin Kleppman. It's given me a lot of insight into distributed systems and the pitfalls and challenges that come with them.
The primary way that I stay up to date -- Hacker News. I pop open every discussion link on a headline that seems interesting, read through the comments to see if it's interesting and decide whether to visit the original link. I also primarily follow people in technology that I respect -- less so the moguls and CEOs, and more so the people whose software/work that I admire and are typically open-source. I also read through my GitHub feed of those people that I follow and look at what they've ⭐️'d or left comments on. I've learned a lot over the years from simply these three sources and do it enough, and the human brain, slow or fast, will recognize patterns, like things that keep popping up