Becoming an Anti-Fragile Programmer: Thriving in the Face of Change

Marko Novakovic
Geek Culture
Published in
4 min readFeb 1, 2023


Photo by Aaron Burden on Unsplash

I just finished reading a great book, Antifragile: Things That Gain from Disorder by Nassim Nicholas Taleb. Antifragility is truly an amazing concept which truly makes sense but I never thought about it that way. Needless to say, this book opened my eyes. Being a programmer I immediately thought about how I can apply concepts from the book in my profession and career. I was also happy to see that author also loves Stoicism and Senecas writings.

In today’s rapidly-evolving technology landscape, being a successful programmer requires not only technical knowledge and skills, but also a mindset and attitude that can adapt and thrive in the face of uncertainty and change. One approach to achieving this is to adopt an anti-fragile mindset, as first defined by Nassim Nicholas Taleb, which views change and uncertainty as opportunities for growth and learning, rather than sources of stress and anxiety.

Anti-fragility is a concept that states that some systems or entities benefit from shocks and disturbances, rather than being harmed by them. In other words, they become stronger in the face of uncertainty and change. For a programmer, this means being open to the idea of change and embracing new technologies, without feeling guilty or disconnected from older technologies and communities.

Software itself is anti-fragile. It get’s better with use and by adding stressors. We are doing stress tests, users are finding bugs while using the product etc. Although it’s neither self sustained nor self repairing and it still needs interested parties that will invest time and money into it. Regardless, with bug fixes and new features it keeps getting better. Additionally it doesn’t wear out with use, hardware does but software doesn’t. It is anti-fragile.

One of the key elements of anti-fragility is proactivity. As a programmer, it’s important to actively seek out new technologies and learning opportunities, rather than waiting for them to come to you. This could involve attending conferences, participating in online forums and communities, or taking courses to learn new skills. By staying current with new technologies and advancements, programmers can stay relevant and competitive in the field.

Another important aspect of anti-fragility is resilience, the ability to bounce back from challenges and setbacks. As a programmer, you will inevitably encounter bugs and challenges, and it’s important to have the ability to handle them without getting overwhelmed. This means having a growth mindset, and viewing problems as opportunities to learn and improve, rather than as failures.

Additionally, being anti-fragile as a programmer also means being able to handle uncertainty and change in a way that doesn’t compromise the users of the software, especially if the older technology is being used in a mission-critical application. It’s important to weigh the pros and cons, and consider the long-term benefits of switching to a new technology, such as increased efficiency, improved performance, and new features, against the investment in the older technology, the potential impact on users, and the sense of isolation and disconnection from the community.

Here are some steps to help you become an anti-fragile programmer:

  1. Embrace Continuous Learning: Stay up-to-date with the latest technologies and advancements in the field by taking courses, attending conferences, or participating in online communities. This will help you stay relevant and competitive, and be ready for the next big change in technology.
  2. Be Proactive: This is tied to the previous one. Don’t wait for new technologies to come to you. Seek out new technologies and learning opportunities that can help you grow as a programmer.
  3. Develop a Growth Mindset: Embrace challenges as opportunities to learn and improve, rather than viewing them as failures. You either win or you learn. This will help you become more resilient and better equipped to handle changes in technology.
  4. Collaborate with Others: Network with other programmers and participate in online communities. This will give you access to new perspectives and learning opportunities, and can help you develop a more diverse skill set.
  5. Embrace Flexibility: Be open to using new tools and technologies, and be willing to adjust your processes and workflows as needed. This will help you adapt more easily to changes in technology and minimise the impact of uncertainty.
  6. Manage Stress: Change can be stressful, so it’s important to find healthy ways to manage stress. This can help you remain calm and focused in the face of change.

In conclusion, the field of technology is constantly evolving and it’s the job of a programmer to keep up with the latest advancements. Adopting an anti-fragile mindset, which views change as an opportunity for growth and learning, can help programmers to stay relevant, competitive and thrive in the face of uncertainty. It also means being proactive, resilient and being able to handle uncertainty and change.

If you want to develop new skills you need to be consistent in order to succeed. Win the Day, Win the Life will help you to track crucial tasks and day to day progress, what is not measured cannot be improved.
It’s simple and that’s why it works. I used this system myself.
Now go, give it a try and conquer new skills and technologies and win life you want for yourself, nothing is a given.