Working as a Junior Developer

Claudio Lener
5 min readMay 13, 2018

--

These past four months I’ve been working full-time as a Full Stack Software Developer. And it was great.

It was my first experience as a programmer, hence I considered myself a junior, despite having been programming for almost two years in university, side projects and hackathons. This time I got thrown into the real world of building features, finding solutions to improve the current codebase, fixing bugs (the favorite task of every programmer…), and using creativity, time management and communication skills to get the job done. The responsibilities made me more mature, and I got to learn many aspects of the industry I worked in. So how was it like?

The stereotypical image of a coder coding

I worked at a company called Transnomis Solutions that deals with traffic management systems. It does so by collecting data from road sensors, processing it and providing the user with a clean and useful UI (User Interface) to display and analyze the information. I worked in a relatively small team environment, especially compared to many of my other friends working at bigger firms. To me it was an advantage as I was given important tasks and I always had a lot of work that needed to be completed. I had the flexibility to work on any part of the project which gave me the unique opportunity to get my hands dirty on many of its aspects: working from making database queries and setting up the logic for the tables, to the backend functionality to manipulate the data, to the frontend display of the information received, to designing gateways and dealing with GIS data to improve path finding algorithms.

The first weeks were very tough though, coming into the industry with very little experience. I found learning about the codebase the most challenging aspect of the internship. Even though I knew how to program the logic of the applications I was building was to me completely foreign. It took me over a month to feel comfortable with most aspects of the application and actually knowing how all the pieces fit together. By then I had my midterm evaluation which confirmed my insecurities with how much work I was getting accomplished. So from then on I decided to focus harder on the code and to make sure I fully understood the architecture of what I was about to build before just coding it.

By the end of the term I had achieved a workflow that made me complete tasks very efficiently and spot improvements that could be made in the application which made my supervisor appreciate even more the work that I was doing. In those four months I learned many lessons that have made me not only a better programmer, but definitely a better employee as well. I learned to exhaust every possible path that can be thought of before asking another co-worker for help. Initially I would require assistance as soon as I felt stuck for a little or be stubborn and not ask until I would have to report my progress. I found it extremely useful and productive to first really try to get to the bottom of the problem myself, and only afterwards throw the towel. That way I would often solve it on my own, and if you program as well, you know how rewarding the feeling is. This leads eventually to good communication, as it makes questions more meaningful and direct, which is an imperative skill to have.

Another important lesson that I realized about only at the end of my term was the usefulness of my first work term as a QA. For those of you that aren’t too familiar with the tech industry, the QAs are often looked at as the less useful and less qualified members of the team. That is a very wrong assumption to make, because without proper testing any project will fail within a few weeks of launch. Working as a QA gave me the tools and the analytic perspective to not only find errors and bugs in the application, but to thoroughly exhaust every possible scenario when testing to ensure that each little detail is taken into consideration. This can really go a long way when put into action effectively as it even helped me come up with extra features that would improve the current system by supporting the scenarios that were not thought of previously.

Never forget how important good communication is

One last major factor when dealing with work is time management. At the beginning I found myself often retire to my phone once I felt stuck and de-motivated, and I know of many other of my colleagues from school feeling the same. Taking a break is without a doubt a good idea and necessary act every once in a while, but the frequency and duration of it are the most important factors to take into consideration. I realized it not only as my productivity would decrease but directly as a sign of respect towards my other coworkers and supervisor. On top of that, it’s just very unprofessional to be seen constantly on the phone rather than doing actual work.

As every good thing, it only lasts for so long. By the end of the term I was ready to go back to school and change up my routine once more. The work term is really great because once work is done, it really is done, and there are no more assignments to do or exams to study for. It gives the opportunity to relax once at home and pick up a few hobbies without having your conscience yelling at you for not studying. My employment as a developer was certainly a memorable one, that taught me not only how complicated and interesting the roads that we all travel on are, but also how to deal with problems, solving issues, communicating with colleagues and writing damn good code (at least some of it was).

If you have been on an internship or co-op before, how did you find it? How did it compare with school? Let me know in the comments below. I hope you enjoyed the read :)

--

--

Claudio Lener
Claudio Lener

Written by Claudio Lener

Creator, Innovator, Dreamer | Product @ Cisco

No responses yet