What is it like to work as a programmer: from junior developer's point of view
Kasia is a PhD in humanities. She loves good literature, beautiful typography and Ruby frameworks. She works as a junior developer in BMS team in Anixe. We asked her about the main challenges she is facing at the moment.
How did it happen that you became a programmer?
Whilst doing my PhD on literature some time ago, I had a great need to relax so I took some online courses dedicated to various programming languages. I found it very entertaining and fascinating. I really went into it so I started to participate in every single free of charge, online workshop that I was able to register for. It all led me to the point when I made a decision to turn my new passion into a regular job. I also made up my mind to concentrate on one particular programming language so I spent the following 3 months almost tied to my desktop, learning how to write code lines properly. At some point of developing my new career path, I made an application for a position of Junior Ruby Developer. A funny story goes with that because during a recruitment process I did not understand the task properly (I took it too literally, not being very conscious of some specifics of IT world). However, the boss of the company got so enchanted by my original solution that I was proposed a paid training. I have been working as a developer ever since.
What was the most difficult to you during a change of your career path?
The most difficult were those first „programs” that I wrote on my own. I still remember looking for a missing coma character for 2 days! If I could have given a good piece of advice to myself at the time of my progressing into developer’s career, I would have definitely started with learning and improving my debugging techniques skills. The other challenge that I faced was shifting from non-complex individually written applications to complex programs developed for a few years by a group of people. Learning how to look for a certain piece of code responsible for a specific functionality of an application seemed to be reserved only for those with superhuman powers:)
Which language do you work in and why did you choose this one?
I work in Ruby that I find esthetically the nicer one. Once you start using Ruby very well, you can read its implementations as a good piece of literature and not as a difficult-to-decipher code. Thus, my choice is a bit “humanistic”.
What is the most captivating part in programming and what do you regard as its darker side?
Programming is a fascinating mixture of engineering and art. A few lines of a text can change the world - for better or for… worse. Once we observe the world around us very carefully, we realize that programming is interwoven into more and more things people use – starting from a washing machine and ending with spacecraft. Whilst programming, you have a big influence on reality that we all live in. You take on a great scope of responsibility because one mistake can have tremendously negative effects.
What is the most interesting project you have been assigned to so far?
The most interesting seems to be Anixe’s BMS (Booking Management System) – it appears to have everything that is the most fascinating in programming, with all its functions and architecture. Imagine a single properly formatted input message causing genuine explosion of parallel processes. Their speed, scale and inevitability constantly make me feel as joyful as a child :) Documents are created, PDF files generated, emails sent and some files dropped onto FTP server... This "eruption" does not have its end in BMS of course. Transformed messages are sent to other points in the Internet causing even more miracles there. I am very happy that I can contribute to this process of miracles.
What kind of programming challenges are still ahead of you?
I do not think my challenges will ever end :) First of all, I really would not like to concentrate only on one programming language. I think that it is worth to try functional programming or create a mobile application in addition to object programming. Additionally, because of my lack of technical educational background, I have been constantly catching up on skills and knowledge indispensable on the position of a developer. What I mean here are all the aspects that go with coding: starting with a deeper understanding of Linux, bash commends and ending on provisioning or a knowledge on program architecture.
What do you enjoy doing after work in order to regain your energy?
So far in my life, I have managed to turn my passions into my job. Thus, at the moment, I spent most of my free time on learning my new hobby which is programming of course. It is really exciting to me to be able to learn new things every day. Apart from that I am thinking about coming back to regular Judo trainings since I used to do Judo for almost 8 years.
From your perspective (junior developer), what kind of advice would you give to Michał (senior developer)?
My advice to Michał will sound more like my wish – I would like him to have his desk always next to mine.