Milan Stevanovic is a Junior iOS Developer, he is working while finishing his studies and he is speaking to his colleagues from the faculty to help them get the idea of the real life programming. Since Milan knows what becoming an iOS Developer truly means and what the road of the Junior Developer looks like, we decided to jump in his shoes and ask him a few questions…
Hello Milan, how are your developer days passing by?
Milan Stevanović: Hi Bojana, days are passing in ones and zeroes, one might say :). Before we start with this interview, I would like to point out that everything I am going to say is my personal experience and opinion, and that experiences may vary, ie. not all programmers have their careers going down the same way, and my opinion is not necessarily the best, and certainly not the only one.
You are considered as junior, how long have you been at codecentric? What are you currently working on?
Milan: I have been at codecentric since January 2016. before that I worked in another company. I develop iOS (iPhone) applications. I use programming languages such as Objective-C and Swift. As iOS developer you have some kind of closeness with users, because the things you make are in somebody’s hands every day. Moreover, you get a chance to work with the best devices that have a variety of advanced features like various sensors, navigation, multimedia reproduction, and others alike.
What did you study and which university did you go to?
Milan: I am a graduate student of Computer Science and Automation (E2), department for Applied Computer Science and Informational Technologies, generation of 2012.
I would like you to tell me and your future colleagues what developer knows after graduation? Is the knowledge gained there enough to immediately jump from college to a project?
Milan: Our colleges, even those focused on IT, are not sufficiently complied with the industry’s needs, and students are mostly graduating without enough functional knowledge. In the last few years, things are changing for the better, but the situation is far from ideal. Despite all this, I still think that college can give a good introduction to the world of information technologies, and show to a student what more should be learned through work and self-education. Diploma is not a magic paper that provides you immediate success, it is just a first step after which a life-long learning and development is in front of you. So, I don’t think that our colleges provide enough knowledge to start working immediately (at least not on the desired level), and for those who have opposite opinions I suggest to try any course from the western colleges, for example Stanford, via Coursera or similar platform for e-learning, after that they will see what should be the college of the 21st century. I myself, along with many other developers, have spent countless hours studying independently of college material in order to do what I do. This happened, to some extent, due to the fact that nothing that I work on, I could learn at any of our colleges.
What does the college provide you with that is of a great importance for the career of the software developer?
Milan: First of all, friendship, that can be useful throughout life, in both private and business. Next, the way of thinking, as well as an insight into all the things that you can encounter in career someday. Anything more than is on the individuals to learn on their own.
What was the first thing that you learned in codecentric?
Milan: To be an equal with people who are far more experienced and older than me. In fact, in codecentric-we have the so-called “flat organization”, which means no titles and no superiors and subordinates, and in the beginning it was not very clear. Over time, I came to love this way of the organization and got used to be in a flat organization. What comes out of all this, is that as an individual you have a greater responsibility than in companies organized in a standard way, but also you have far greater freedom, which for me is very good. Nobody is breathing down your neck, you don’t answer to anybody, and you do not file any reports. Besides, I got a very good advice from experienced colleagues in which direction to go with my career, what I should learn first, and where to start. Still, on a daily basis, I bore older colleagues with questions such as “is it better to this or that” and consult them about what I’m working on just to check whether what I have done is done well enough. Colleagues are in a very good mood to help, even up to the point, as it often happens that someone leaves what they were doing to help me or to someone else. It can be for one hour, two, three, or how much more is needed to explain something we do not know.
What are the most common problems that Juniors have?
Milan: In my case, it was wandering in terms of what to learn first and where, but more experienced colleagues cleared these concerns quite quickly. Furthermore, from what noticed so far, many beginners have an irrational fear of communication with clients and people more experienced than themselves, and the lack of social skills.
How do you improve your skills?
Milan: As for programming in general, books such as “Clean Code” and “Pragmatic Programmer” must be found on the shelf of every developer. On the other hand, when it comes to iOS as quite specific fields of software development, everybody would recommend to do Stanford’s course CS193P. For me, it was a turning point to go and deal with iOS programming. Official Apple iPhone Documentation is the best place to study in detail the iOS. Also make sure to follow influential iOS developers on Twitter (if you cannot find them, follow me @FathVader, and find them in my following list), that way you will always get your hands on the most recent information. If you get a chance, you should go on the occasional conferences. This year I will use my educational budget that we all have in codecentric, to travel to the conference Swift Alps, Switzerland, in November.
How important is the support of the colleagues? Who helped you the most and how?
Milan: Support of your colleagues is definitely the most important thing for your success, right after your will and desire to succeed. Most helpful is the colleague with whom I work together on the project, with the advice, and practical examples, on how to do something better. All together, very democratic atmosphere and two-way communication. He spent countless hours with me, I’m very grateful to him for that. He is a true example of good mentor, somebody who has never told me “Do it because I say so”, always uses good arguments, and common sense. Also, other colleagues in the company, iOS developers, and others, gave me great advice about what to read, what to study, and held numerous lectures and workshops where I learned a lot of useful things.
What is your motivation to share your knowledge and teach on Meetups? What is it that you can share?
Milan: First of all, it is a nice feeling when you know that you have a positive influence on the development of one’s knowledge, and also the opportunity to test your knowledge by presenting it to the others.
One of the Milan’s presentations
In the action ?
What would you like to say to fellow Juniors and students of programming departments in Serbia?
Milan: College is need but not enough to make a successful career in IT, work on yourself, take advantage of the fact that you live in the era of the Internet, and use free immense material available on the Internet, go to meetups and similar events, make the most of the opportunities. Novi Sad (and other areas in Serbia) have a relatively large and vibrant IT community, so be a part of the same.
If you are interested to be a part of our team please see Job openings