Ackama
By Dylan Chong

Things to consider when looking for a junior development role

So you're a growing junior developer, the University's summer break is coming up and you're looking for a new development job for some necessary upskilling. Maybe you have had an internship already and you’re looking for someplace new.

I've been in a similar position to you. Having worked in two very different companies (Ackama, and a smaller startup with about five developers), I've discovered quite a few aspects that I would now look for in a new job. I hadn't even considered these aspects until a few weeks into working here, so hopefully you will find these helpful on your journey. (Note that I don’t include all possible things to consider here, so treat the things below as extras to your own thinking.)

Support

Small companies, such as startups, may struggle to provide sufficient support to you. As a junior, you will need to ask a lot of technical questions to more experienced developers. Quite often, Q&As aren't sufficient to help you get the understanding you need to complete a task, and you'll need to pair programme with another developer for anywhere between five minutes and a few hours. Otherwise, you can end up searching Google for hours (or twiddling your thumbs) until you can get help. At my old job, I would encounter this problem - the senior developer I needed to get help from was frequently unavailable, whether he was at a meeting, or occupied helping another junior. For medium-sized and large companies, this may not be as much of an issue as there will hopefully be more experienced developers around. It is definitely worth asking your interviewer what sort of support systems are in place to ensure that there will be (at least most of the time) someone you can get help from.

When considering support, another thing to consider is the range of different platforms that the company works with. There may only be a few developers because the company works with JavaScript, Ruby on Rails, Android and iOS. Depending on what platform you work on, there may only be one part-time developer you can get help from. Companies like Ackama are very focused and consistent with the tools they use, as almost all of the developers work with Ruby on Rails regularly. There is usually at least one developer available to ask or pair programme with at any point in time.

Learning by example

I'm sure you have encountered code that has been difficult to work with before (for a variety of reasons). In my experience, there are often times where a startup will need to prioritise short-term over long-term productivity (by not following certain practices). Having worked at a startup before, I have encountered lots of code that is very difficult to understand and edit without breaking some feature. Especially given that you may not have worked with large code bases before, it can be stressful, and you may not get to learn their code style - or techniques such as unit/integration testing - to the same extent. Just note that larger companies may have legacy code written in a time where code practices or standards were different than they are now. How the company balances maintaining code practices with delivering features in the short term is something good to ask to experienced developers there.

Personal development

You probably have things you would like to learn that aren't aligned with the regular work you do - whether it's reading an RSpec testing book, learning the basics of JavaScript, or working on your presentation skills. Companies like Ackama have a regular mentoring process, where you are paired up with a more experienced developer, to check whether you are getting enough help on what things you want to learn. It is also useful to discuss what skills you need to learn to become a more well-rounded developer. Ackama has a day every week dedicated to learning and developing the skills you want to learn, called “Investment Time”. Being able to spend time on such things is extremely valuable as a growing developer with lots to learn. In a startup, the priority on delivering functionality to the customer will likely be higher, in comparison to a larger company (and understandably so - small companies need to use their small development teams wisely). If you're planning to stay at a company for a long period of time, such as after you've finished university, room for personal development is especially useful in terms of your long-term growth as a developer.

A bit about me

Through the first three years of my Software Engineering degree, I worked part-time at a startup doing mobile app development. After deciding that it was time to move on, I put my CV on the Summer of Tech website. (Summer of Tech is an internship programme that has an especially big presence at Victoria University.) The Head of Development at Ackama, Eoin Kelly, reached out to me for an interview, and the hiring process went well from there. I ended up being hired for the three-month summer break from university, ending recently.

During my internship, I worked with two different Ruby on Rails projects, being part of two agile development teams. The first involved writing a secure data submission system for Vanuatu's Financial Intelligence Unit. The second involved developing a website for Business Link Pacific, to help Pacific businesses find the services they need in order to grow.

As mentioned previously, Ackama has "Investment Time" to give employees time to develop various skills. I worked on a few personal Elixir projects, out of interest for this increasingly popular language.

I would like to thank everyone involved in making Ackama the company it is today, particularly to Eoin for placing this faith in me, and Dan for providing me with lots of advice over the months. I've particularly liked the social and friendly atmosphere at Ackama, and positive attitude the company has towards learning, both as a company and as individuals. It has been a joy meeting and working with people at Ackama, and I am 100% keen to come back.