How exercism.io helped on my impostor syndrome

2019/02/28

Categories: english

TL;DR

I love Go and I want to improve to be able to work on long-term open source projects. I found a great website to learn while already being an intermediate programmer, called exercism.io

The dreaded impostor syndrom

I’ve been working in the IT industry for 15 years. I started as a junior sysadmin with absolutely no skills in computer science, and I managed to learn along the way, working high traffic websites, with very talented developers.

I learned to script, a bit of development in python and Go, and I deployed hundreds of stacks to production. I master web servers, databases, load balancers, queuing systems and whatnot, but somehow I never worked on a long term development project and I’ve always been blocked by the dreaded Impostor Syndrom.

I never thought I could be as good as the developers of the companies I worked for, working on code every day and sharpening their skills.

Sometimes I would read a programming book, follow tutorials on new languages, but I never climbed the second step, where I would be fully involved in a project. Open source projects I like were too complicated for me to step in. I fixed a bug here and there, a few PRs were accepted.

So here I am, once again, with a strong desire to level up my coding game. I need to be better at algorithms, know best practices and patterns, chose an open source project I like so I can fully participate.

Go

I chose Go as a language because it’s close enough to the systems I know better, and I wrote a lot of python. I don’t really know why, but while Go was originaly written to replace C (and therefore please C programmers) python developers are very attracted to Go as if it was as simple and efficient, but with typing and performance.

I’ve been attracted to Go for the same reasons : I suddenly discovered the purpose of strongly typed languages. But I also fell in love with the simplicity (25 keywords !), and the fact that there are not a thousand ways to write Go code. No more endless discussions about where to put the curly braces, easier code reading, no crazy one-liners hell that are supposed to make you look smarter (looking at you, list comprehensions). An impostor dream !

In order to level up my Go I had to find a good learning entry point.

Exercism.io

Hanging around on twitter I stumbled upon a tweet from John Arundel (@bitfield) :

So I jumped straight on the website, and discovered what I always looked for.


\

[Exercism.io](http://exercism.io) suggests exercises in the language you want to learn. The interface is beautiful, and very simple : when you have joined the language track you want, you just have to install a binary to be used to download the exercises and once they are finished, submitting them.

The journey is very progressive. You begin with a simple exercise, and the difficulty increases over the exercises.

One good aspect of this site is that it assumes that you already know a little bit about programming. It was perfect for me because I am an intermediate programmer who needs to improve and know the specificities in a particular language. Most of the times language tutorials are so basic you wait for hours before starting the real stuff.

The second great thing is the exercises are test driven : There are pre-written tests that expect a function you must implement and as you go forward, you must pass the successive tests.

Once you are ready you can upload your answer with the exercism binary.

Mentors

Mentors are power users who will help you during the exercices. In order to move forward, one of them has to validate your exercise.

They will give you tips and ways to improve your code. It is very insightful to me because I was able to discover useful patterns and how to work to refactor my code.

Only a human can do this, and I’m to old to go back to school.

I didn’t dig into how to become a mentor, and I don’t know if they are paid for doing the job, but I have to admit it adds a lot to the service. Remember the impostor syndrome ?

There you have real people not judging you, but helping you improve and encouraging you. Perfect.

Drawbacks ?

There would be a few things to improve :

If your impostor syndrome is not getting better and you want to learn a new language very efficiently, go exercism.io ! I will probably start other languages very soon, and they support a lot of languages.

>> Home