DEV Community

JeffD
JeffD

Posted on

Stop coding to improve your code and soft-skills

Building software is a great activity, a passion for a lot of us. Practice is a great way to mastering subject. I love discovering new software, programming langages and platforms however spending time on another activity helps a lot for our work. This is a little list to get some soft-skill.

Read History books

Horse Troyan, Enigma, penicilin discovery, or worst technology failures. History is a fun way to learn how humanity solved problems, or how little problem caused big failure. Cryptography history learn us how people try to find failure, first in the cryptographic system, and then in our "language" itself (letter occurrence, word probability). Code book from Simon Singh is a great read on this subject and you can do it away from a blue light screen.

Hackathon

Close your IDE, take a pen, a paper and listen. Ask questions, formulate a solution, debate, try to understand your interlocutors, the context, the problem, the constraint. And you can talk friendly, without fear, it's very different from the usual crazy customer. Hackathon put you out of your confort zone, to be free and build a very helpful solution, it's something really pleasant. I enjoy Hacking-Health but "Code for YourContry" may be very interesting (feel free to list other initiative in the comments).

Visit industrial museum

It's very interesting to discover how people dealed with information without computers: presence of employees, production results, wages... Sometimes a good organization can be done with only paper and pen. We can learn from Ford and Taylor but we can learn from before because industry started in antiquity, and old recipes can still works for our problems. Moreover you can discover fun facts, like this one: in Glenturret Scotland distillery, you can find a statue to honor a cat, Towser, because cat is a easy way to prevent mice from eating cereals used for wisky.

Talks & write

You have to write, search deeply, resume complex subjects for junior and be interesting for experts. Talks are a great way to share knowledge and try to find another point of view to explains things. People will ask you questions so you have to search about problems or usages you've never had. Your audience will add some usefull comments, this is always interesting. And this is a way to present a tool, or a language, with a very original approch (like "Docker as fast-food restaurant" or "Scrum as a MMORPG game"). If you're affraid about speaking in public, blogging is a great alternative.

Translating documentation

A more technical activity: you will learn a lot of things translating the documentation of your stack. You can discover specific modules, unknow arguments, useful functions and awesome community. Moreover we use organization and tools similar to write documentation and code (versionning system is included in a wiki-like solution...) so it's easy to start and very helpful for non-english native people.

Volunteering

When you work in event organization you'll need a tool to organize tasks, a tool to communicate in real-time, a tool to make feedback and so on. You'll deal with problems, you'll need to communicate a lot, with speakers, with public, with your team. You'll deal with urgency, think about diversity and people with disabilities, and theses ones are useful for empathy. You'll learn a lot outside of your technical domain. Be volunteer encourage organization to continue year after year, it sometimes makes it possible to make the event free, so this is a good action (and there is always a good mood).

Sport (or manual activities)

Physical activity is great for health, but it's great for spirit too. Doing sport helps you to forget your problems, bugs, deadlines. You will have a better sleep, it's a good break enabling to restart studying your problem from zero and finally find the bug. Some exercices are great to break our to many hours sitting position, see this post. Physical and manual activities are great to get away from stress and pressure. You can do it in solo or in a team, the last one is good to become humble about our knowledge and abilities.

Meditation

Meditation helps you to work in a noisy environment and reduces stress. It's a great activity and a lot of ressources exists on this subject. Ask Daragh if you need some help.

Another major benefit: meditation help you to stay calm and to distance onself from something and this is very helpful to communicate softly with people. It's a good activity to avoid conflict and improve teamwork.

Cooking

Interruptions are hell, but because we can't delete them completely at work we have to deal with it. We have to learn to list our work in progress, treat one point after the other, finish them completely before starting another one, had to be concise and precise, so we have to learn to stop and resume work.

So a good exercice is coding while preparing a meal: you put timer for the cooking of your meal and start to code. When it's riging you have to stop your work directly, put a status-note somewhere and go treat your meal before it burns. When you'll come back at work you sould read this status-note, remember all and restart coding. This is a trick I like but be aware of your personnal and professionnal time balance, this may become a bad habit and can develop burn-out. Take care of yourself.

Improve your existing tools

"Give me six hours to chop down a tree and I will spend the first four sharpening the axe."
Abraham Lincoln

Some tools helps you to do more with less code. Sometimes it's a library (as a ORM), sometimes it's a little CLI tips (like !$) or a tool to search security issue, format code, prevent missing documentation. It's always interesting to look at how other developer works and which tools they uses. For this task you can browse on dev-to posts, or looking at Github, in big projects README, which process and tools are used to be efficient. Another way is to ask about it when you meet new people in any technical event.

Thanks for reading, It's hard to cut this post and keep it short, I hope to deeply write about all all theses activities later.
What's your favorite non-coding activity which helps you in your life ? Feel free to leave a comment ⌨️

Top comments (0)