To keep up with technology as a developer is not easy nowadays. In the cloud era, there are so many technologies to be mastered that we need to be strategic. If you didn’t start working on the cloud, you can take a look at the technologies that are popular in the market in the following article The Ultimate Guide of Microservices Technologies for Java Developers.
By checking the above article, you will realize the massive amount of technologies. We can try to go deep into all those technologies, however, we will take many years to master them and the results will be slow.
Without further ado then, how can we be strategic to keep up with the latest technologies?
1 – Be Consistently Practicing/Studying Relevant Technologies
One of the biggest mistakes software developers make is to think that it’s only possible to learn a technology if this technology is used at their job. However, we can study and practice whatever technology at home, the only thing we need is a computer. We can create our own project, we can have courses, we can read documentations but we also have to remember that learning a new technology is a process.
There is a very powerful quote from Jim Rohn that I really like:
“Formal education will make you a living; self-education will make you a fortune.”
If you opt to have courses in the technologies you are curious about, you can check the following article Ultimate Courses List to Face the Microservices Challenges. Alternatively, you can also read books by yourself, until you are able to create something useful. Don’t make the mistake of only reading a book, we usually learn much better when we create something useful and concrete.
My way to be consistent is very simple, I use the Pomodoro technique for 1 hour every day to refine my technical skills. Some days it seems the progress is not that good but what really matters is to stay consistent because small daily improvements lead to stunning results, a quote from Robin Sharma.
2 – Talk About Technologies With Friends
To discuss technologies with friends is a great way to get to know what is in the market and understand better what are the new technologies. A simple way to apply this strategy is to have lunch with your co-workers and have good discussions. Ideally, it’s better if you talk to someone who is better than you, if you do that consistently, you will become unconsciously similar to the person you hang out with.
You can talk about anything you want, cloud architecture, containers, automation, new technologies tendencies, good programming practices, you can learn bit by bit every day. Every action you take towards learning will pay off. Don’t fall into the trap of thinking that just doing that will do the work. One day you do that won’t make much of a difference too, what will make the whole difference are your installed habits. If you consistently talk about technology with others, you will learn and absorb the concepts more quickly.
3 – Go to Conferences
Conferences are powerful to get you up to date with technologies. You will also get highly motivated because the energy of conferences is always amazing. Not only that, you can build amazing networking there where you can make friends and talk a lot about technologies. Avoid going randomly to every talk, instead, go with a focus. See the talks before-hand, plan what talks you will watch, take your laptop if possible, take your notes, or even implement the talks code!
If you don’t know about the technology from the talk you want to watch, it’s a great idea to make a research on the internet about it. If you know at least a little about the new technology, you will be able to absorb the content much more easily. Usually, conferences also have workshops, they are excellent to make you learn technologies. Therefore, if you find a workshop on a technology you want to learn or get better at, book it ahead of time because it’s usually gets booked out quickly.
4 – Share Your Knowledge
To share what you know is the ultimate way to learn something. When we teach something to someone else, we fill the gaps in our knowledge, we solidify what we learned and we also help people to learn! It’s also a great way to develop our communication skills, which is massively important for our career growth. By writing, giving talks, or even explaining something you learned to a friend you will be improving your communication skills and will be consolidating your learning.
Public speaking is another great growth challenge that will also help you to learn technology very deeply. By giving talks you will be also more visible for top-tier companies, you will build a very strong portfolio which will help you to get an amazing job. People usually are highly afraid of public speaking, researches say that the number one fear is public speaking, the second one is death. There is some further scientific explanation in the following article The Thing We Fear More Than Death, to sum up, humans have fear of rejection.
I am no different than you, I also had fear of public speaking, it’s not easy to talk in front of many people. But the only way to conquer our fears is by facing them, therefore, if you face your fear of public speaking you will beat it and you will go to another whole level in your career.
5 – Read Books
Books are powerful and will be a massive help for you to keep up to date with technologies. Absorbing the core concepts and fundamentals will be a game-changer in your learning. If you want an amazing book list, you can take a look at the following article The Top Long-Lasting Java Books That Every Java Developer Should Read.
Only reading books though is not enough, it’s better to implement what you learned from the book in a concrete way. That’s because we learn better by doing than just reading. A great technique to make your learnings consistent is to write an article with the main points from the book you read for example. Then if you are able to organize the ideas in an article, you will also organize the learning in your mind.
6 – Follow Technology References on Twitter
By following top references on Twitter, you will be familiar with technologies more easily. You will also learn what people are talking about and will get to know people who are sharing their knowledge. You can engage with anyone on Twitter, you can expose your ideas and learn from it.
There you go some technology references I recommend you to follow in alphabetical order:
@AdamBien
@brjavaman
@BrianGoetz
@elderjava
@javarevisited
@Java_Champions
@javinpaul
@martinfowler
@otaviojava
@rafaDelNero
@unclebobmartin
@venkat_s
@yanaga
There are many other references I would like to mention but to make it simple, if you follow the Twitter Handles above will be an amazing start!
7 – Read Good Blog Posts
Many developers around the world share what they know and we can learn a lot from that.
There you go some of the great blog web sites you can check out:
AdamBien
Baeldung
InfoWorld
CompareTheCloud
DZone
InfoQ
VladMihalcea
JavaRevisited
JavaChallengers 🙂
Jenkov
TheCloudCast
8 – Watch Tutorials to Keep Up to Date With Technology
Tutorials are a handy way to understand better about new technology. Sometimes just by watching a tutorial, we can at least understand what is the technology about. By knowing what the technology is about, it gets easier to understand other concepts. There is a vast amount of content on Youtube for example. We can find tutorials, presentations, and even whole courses.
Let’s suppose you want to learn Docker. If you write on Youtube, “what is Kubernetes?” you will find tons of videos where you can learn what Kubernetes is about. The technology companies many times also have their own tutorial where you can understand better what is the technology about. For example, Docker has its own channel, you can check it out at the following link: Docker Channel.
9 – Be Aware of What is Hot in the Market
Sometimes it’s obvious to know what is hot in the market. Some time ago, for example, I used to hear all the time “Docker”, “AWS”, “Microservices”, “CI/CD”, “DevOps”, therefore, there we are the hot technologies in the market. Nowadays, when I go to a conference, I usually see “Kubernetes” everywhere, therefore it’s another hot technology trend.
Even if you are working with old technologies, you will still hear people talking about all the above-mentioned technologies. When people are talking about those technologies all the time, it’s time past to learn them! If you want to check what are the hot technologies in the market, you can check out the following article The Ultimate Guide of Microservices Technologies for Java Developers.
Alternatively, to find out what is hot in the market, you can go to conferences and realize what is the topic that has lots of talks. You can also search on the internet about the most popular technologies. The market usually follows a standard for the market, a very common technology stack they are using is the following: Java, Spring, Oauth, JWT tokens, Prometheus, Datadog, feature flags, in the back-end, React or Angular in the front-end, Jenkins, AWS, Terraform for infrastructure.
Nowadays, nearly the whole market is migrating to the cloud, therefore, it’s crucial for all developers to get up to date with this skill set.
Conclusion
Those are some strategies you can apply to get up to date with technologies, it’s a big challenge for us developers. Technologies evolve really quickly and it’s up to us to learn on our own and be sharp to deliver massive value either for companies or to our own businesses.
As always, stay constantly breaking your limits and leave your comments with the most important tip of this article, or if you think there is something I missed here, feel free to expose your opinion!
I stopped learning new (even very interesting for me) technologies, frameworsk and libraries – I have no time for it and all what I have still studied I have not used and I am out-of-date.
Hi Milos, it’s extremely important to have the mindset of “Never Stop Learning”, otherwise, it’s difficult to be a highly-employable software engineer. I suggest you try to learn something new even if it’s for 5 minutes a day. That will massively help you to become a better software engineer!