4 Soft Skills which helped me in my Software Dev Career
Technical expertise is only one part of the equation for success.
I’ve learned that technical expertise is only one part of the equation for success. Non-technical skills are just as important for thriving in your career.
When starting out in software development, it can be overwhelming to learn the wide range of technical skills required, from concrete programming languages to abstract concepts like algorithms or architecture styles.
While technical expertise is crucial for success in this field, it will only take you so far. That’s why it’s also crucial to focus on developing non-technical skills to help you navigate your career.
Overcoming Distractions and Improving Focus
Focus is essential for tackling complex problems and producing high quality work. But in today’s world of constant notifications and endless social media, maintaining focus can be a challenge. It can take up to 23 minutes to fully concentrate on a task again after you’ve been interrupted.
Cal Newport’s concept of deep work refers to the ability to focus on a demanding task without distraction. In software development, deep work is key for writing (and reading!) code and solving problems.
Newport’s book, “Deep Work: Rules for Focused Success in a Distracted World,” offers strategies for cultivating this skill in the modern world. I strongly recommend to read it.
Here are some tips for retaining focus:
Set aside dedicated time for deep work and eliminate distractions. Consider informing coworkers about these times to avoid unnecessary disruptions.
Use tools like Freedom or Cold Turkey to block distracting websites and apps.
Establish a consistent work routine by setting specific times for deep work, breaks, and other tasks.
Practice mindfulness techniques, such as meditation, which has been scientifically proven to improve focus and reduce stress. Try apps like Headspace and Calm to get started.
Prioritize the 3 most important tasks of the day. Focusing on the most important tasks first helps you make progress on what truly matters, rather than getting bogged down with less important tasks.
Additionally, Chris Bailey’s book Hyperfocus: How to Be More Productive in a World of Distraction provides valuable advice for maintaining focus in the digital age.
The Importance of Learning from Mistakes
I recall a time when I thought some data on a production server were obsolete and removed them, only to discover that the whole system, came to a halt as a result. The company lost significant revenue every minute that the system was not running.
As software developers, we all make mistakes. It’s important to learn from mistakes like this rather than trying to cover them up. Trying to hide mistakes can often lead to even bigger problems in the long run. It’s better to communicate clearly about what went wrong and offer solutions for how to fix it. By doing so, you can increase the trust that others have in you and demonstrate our commitment to continuous learning and improvement.
If you work in an environment where mistakes are not tolerated or viewed negatively, it may be worth to try to change it — or to look for a job with a positive error culture.
Be the Idiot in the Room
Simon Sinek famously stated:
It is better to be the idiot in the room than the one who is too afraid to ask a question.
I’ve learned firsthand that it’s better to be the “idiot in the room” and ask questions than it is to pretend you understand something when you don’t.
I’ve had situations, especially early on in my career, where I was too afraid to ask a question because I thought others might judge me, only to realize later that I was not the only one who was confused. By asking questions and admitting when you don’t understand something, you’re not only helping yourself learn and grow, but you’re also creating a more inclusive and collaborative environment for everyone.
This is also relevant when discussing non-technical topics or working with stakeholders who may be using language and concepts that are unfamiliar to you. Asking questions improves your own understanding.
It’s okay to not know everything, as long as you did the best to be prepared. As the saying goes:
There are no dumb questions, just stupid answers.
Keep on Learning
Technology is constantly evolving and it’s essential to continually learn and improve. Software development can be thought of as a “red queen’s race”, where you have to keep running just to stay in place.
One way to do this is by making it a habit to learn something new every day, even outside of your day job. For example, set aside 15 minutes each day to read about a new technology or concept.
I suggest to to read at least four1 relevant technical books each year, including one that is not related to your current work. This can expose you to new ideas and help you approach problems from different angles.
Make sure to also consider how your skills and knowledge can be applied in different contexts. By continuously learning and improving, you can stay ahead in the “red queen’s race” and achieve even greater success in your career.
Thank you for investing the time to read my article. I hope that the insights I shared were helpful for you.
To summarize:
Focus is essential for software developers, but can be challenging due to constant distractions.
It is important to learn from mistakes, communicate clearly about them, and foster a positive error culture
Asking questions and admitting when you don’t understand is better than pretending you do. Asking helps improve understanding and collaboration.
Continually learn and improve. Set aside time each day to learn, read technical books, and practice new knowledge.
I recommend to consult the resources I used to back my claims:
Interview with Simon Sinek
If you have any thoughts or questions, please leave a comment. Your feedback is always appreciated.
I made that number up, but it is one book per quarter :-)
Hi Mirco!
Great article! I enjoyed reading it and I appreciated all the good advices in it. I will look into Cal Newport's book of which I had no knowledge prior to reading your article. Thank you!
/Michael