Should developers develop themselves?

Kamil Lelonek
Kamil Lelonek  - Software Engineer
4 min readFeb 27, 2018

--

Say hello to Mark.

Mark is a software engineer, an Elixir developer precisely. Mark is young, brave and passionate about what he is doing in his daily job. He loves it.

Mark is very good at his work. He likes it so much that he spends his free time on broadening his knowledge. He reads lots of books, helps on StackOverflow and develops an open-source project on GitHub. He is a perfect example of a self-taught programmer.

Recently, Mark got a chance to start a greenfield project. He bootstrapped it on his own but he felt confident about that. Neither was it his first project, nor was that something hard. Mark hasn’t been asked about technologies so, since there were no requirements, he used Elixir there.

Natural growth.

The application was growing larger and larger, and started earning better and better money, so the owner decided to invest more in it. He wanted to involve new developers in the project as well.

Fortunately, some candidates in the company could join Mark at that time. They were basically Ruby developers but, as all programmers, they didn’t mind learning new technologies. Actually, it seemed to be a great opportunity to get familiar with an exotic language.

These colleagues were quickly introduced to the project and started developing new features. Elixir is very similar to Ruby so they had no issues regarding syntax whatsoever. They took their time to dive into the language specifics and tried to write as much idiomatic code as they could.

The application became more dynamic than ever before. New requirements were coming, the number of users was increasing over time. Everything was speeding up and some crucial deadlines appeared. Opposite to how it was before, tasks had to be delivered at specific time. With great money comes great responsibility, fixed dates were set.

Deadline is a king.

When dates became tighter and customers started insisting on new features ASAP, developers felt some pressure for the first time. To be clear — not all of them. Mark was still confident about how he was delivering things but the other programmers were worrying about their own performance in general.

They knew they were slow. New tools, technologies and language made them feel guilty. They had to learn stuff instead of closing next issues. They decided to change that and speed up things. “Let’s use Ruby for now. We both know it, we are fast in it, we will be able to deliver more tasks without having to learn anything now.“.

It’s not a surprise that implementation got faster. New micro-services appeared, codebase was split and tasks were separated. Development speeded up and, what’s the most important, everybody was happy — programmers, investors and users. All deadlines were met.

Leave your comfort zone.

The codebase grew and the architecture evolved but all new components were written exclusively in Ruby. Not only developers were more confident in it, but also they were afraid of being slow in case of short deadlines.

Mark’s passion went away. Initially, he wanted to convince others to Elixir again, but in reality he wasn’t able to fight against their reasonable arguments. Fear of something new, something different, something unknown for them that they don’t have experience in, were stronger than Mark’s offer of teaching and mentoring.

No one wanted to leave their area of knowledge. Everyone wanted to remain where they were experts in. Once they learned something in the past, they decided to stay there. They didn’t want to feel uncomfortable. Actually, they didn’t want to move forward.

Mark was the only one who accepted the changes, adopted to the evolution, developed himself and extended his skills. He, as a real enthusiast, chose to leave his sweet spot and learn the hard way. He changed his job eventually.

Happy ending.

Once you know the story of Mark, you may wonder if that’s the story of yourself. Or maybe you are on the other side? Maybe you are the one who feels comfortable about where you are at the moment?

I want to emphasize that I leave the opinion entirely for you. You should consider which way suits you more and what you are more comfortable with. Do not feel guilty with any of these approaches.

Decide what you should do with your own development now. Whether you should do anything with it at all. It’s up to you how will you plan your career path.

Leave your comment below and tell what you think about it in general. I’m looking forward to hearing your opinion on this topic.

--

--