What is it like to work as a programmer: from senior developer's point of view
Michał (also known as “Mike”) has been working at ANIXE for over 12 years, has already led several dev teams and developed a number of software products. He is the “guardian” of the company’s Technology Radar – he analyses and expands technological trends throughout the ANIXE. We asked him about his work and passion for programming.
How did you become a programmer?
Pretty common path for people born in the 80's. When I got my first computer and games weren't enough, it was time for programming. I can't say why, but I was very interested in principles that time. How to change a background colour, how to order a computer to ask about my name, how to output an answer? It was very hard to get any documentation or books those days, I had to figure it out by myself. You know, trial and error method. Then it got easier and easier. Books appeared, then teachers. I could systematize the knowledge gathered during all those years. At the time I knew I would be a programmer. Then I went to a high school, started studying later, but only to get some formal education. Although it was worth it, I did not get much of programming knowledge as I had expected to. Most skills I gained either before or later when I started working with commercial products.
What do you like the most in your job and what do you think the "dark side" is?
Constant self-development and uncommon challenges like scalability problems. But the most satisfying moment always comes when something starts working as expected. That feeling when there are only very rare edge-cases which can break your carefully crafted piece of code. It can last quite long, sometimes a week or even two ;) And the dark side? Creative work or seeking bugs require a lot of focus. It's uncommon when we can work without interruptions for longer periods of time. I am the person who values silence and peace. Office noise or teammates questions, especially those asked by laziness, can be a real productivity killers.
The most difficult task / project, which you had to do?
Those we can prepare for and think through become pretty easy sooner or later. The most difficult ones are always those when we work under time pressure. When something suddenly stops working and we do not have enough knowledge even for a quick fix. But if I had to point the most difficult project at Anixe it would be whole booking system for TAP Portugal. It was quite complex at the time we developed it.
If not a programmer, I would become...? And why?
A pilot. Since I remember I have always been interested in flying. Part of my family and some friends are related to aviation. Some of them are actual pilots. It was close enough :) If not a pilot I would be a translator or an english teacher. I like this language.
What's your favourite programming language and why?
After many years it's difficult to point out the special one. I like object oriented languages. There are periods when I am fascinated by specific language or technology. And some time later they are just gone. That was the case with Ruby or C# when I go back in time. But there is one language I tend to return to quite often. It's C++. I like it for its portability and speed. I do not have an opportunity to use it for every day tasks but I often choose it for private work or side projects. Well, when I think about it now... it's more like a Stockholm syndrome than a preference ;)
What challenges in a programming world do you see for yourself in the future?
I have never had enough courage to engage in big, complicated, Open Source project. I'm very interested in operating systems and low-level stuff so Linux kernel, BSD or some kind of server software project would be appropriate. I think that even reading through codebase or maintain a part of such a complex project can give a programmer invaluable amount of knowledge. I would definitely like to try it someday.
What do you like to do "after hours"?
I love playing video games. Any kind, any platform. It's a hobby I dedicate most of my free time... and money ;) I listen to a lot of podcasts. I have been recording one too, for 8 years now. About video games, of course :) Beside that I still find some time for sport. I play football and ride a bike regularly.
From your perspective (a senior developer), could you give a good advice to Kasia (a junior developer)?
First and foremost, do not stick with one technology for too long, also do not get to extremes when choosing the right tool for the job. Be open to new technologies or programming languages. It's worth to be patient and not to hesitate make a mistakes.