As my internship at JUXT is drawing to a close, I thought I would write a post about what I have been doing with my time here. In so doing, I hope to give you some insight as to what it’s like to actually work here.
My time was split between helping with a client project, working on an internal project and onboarding graduates whilst writing up the JUXT internal documents. I will start by going into a little detail about each, and go on to talk about a few other things I have enjoyed whilst working at JUXT.
Upon starting, employees at JUXT are provided with a new Dell XPS 13 laptop and as a rite of passage, they are tasked with installing Arch Linux. At the beginning of my internship there was no written standard for this, and I was told it could take anything up to a week to get all set up. Therefore it would be my job to perfect the Arch Linux installation guide for new starters.
In the interests of compliance, JUXT have set out to create a comprehensive library of policies, procedures, standards and user-guides. The Arch Linux installation guide was to be one of these documents.
The motivation behind getting complete documentation for the Arch installation procedure is to ensure every employee has a laptop set up in such a way that there would be no risk of exposing sensitive data, in the event anything were to happen to it.
The installation guide starts with taking the new employee through the encryption of their hard-drive, to render their laptop harmless in the wrong hands. After this, there is a mandatory GPG set up and JUXT provides us employees with a YubiKey. This is a nifty little device that sits on your keyring and plugs in to the USB port when required. During the set up, the new starter is shown how to move their private key over to the Yubikey, adding an extra layer of protection—since you cannot use your GPG key without having the physical YubiKey and the PIN for it.
Having no prior experience with Arch Linux and with the lack of a complete guide, the installation of Arch onto my new laptop was slow - even with Malcolm guiding me through. Since then, I have onboarded 5 new graduates, each time with a quicker installation of Arch Linux, and each time improving the documents when new problems were encountered and overcome. The last Arch installation went so smoothly first time, that we had it done in time for lunch!
When I wasn’t onboarding graduates, I was able to gain experience by helping on a client project. To begin with I was given basic tasks and had a lot of support from my colleagues. But after a couple of weeks I was able to take on more complex tasks with confidence.
The learning curve at JUXT is steep, especially if, like me, you have little prior experience. This is because being part of a small team it is important that every developer is a full stack developer. The environment here is such that you are surrounded with experienced people who are more than willing to help. They do this by not simply showing you how, but explaining why we do something a certain way. It is for this reason that, although faced with a huge amount of new information, I was not daunted by it.
Whilst working on the client project, not only did I learn Clojure, but I picked up a number of transferable skills. Emacs, git and writing asciidocs are all things I can take away and use on other projects. Being trusted to pick things up as I went along helped me learn much faster than if I had just been doing small classroom style problems.
My final task for the client project was to port it over to JUXT’s time library, tick. Tick had already been used internally at JUXT, but this was the first client project to use it. I had a lot of fun doing this, and plan to write another blog going into more detail about my experience bringing it into the project.
After I had done this, I created a cookbook for the tick documentation. I could use what I had learned during my time porting tick into the client project to give some real examples and uses for the library. I was left to my own devices for both the port and the cookbook. There was help if ever I needed it, but the fact I felt more than comfortable with this solo mission was a testament to how far I’d come in the last couple of months.
On Tuesdays we played Badminton at the National Badminton Center, which just so happens to be in Milton Keynes. Once a week, usually on a Friday, we had team lunch, where we headed over to "The Hub" (the hippest place to be in Milton Keynes). As well as getting fed for free, it was great to hear about the different projects everyone was working on. Back in the office, there is a foosball table. This gets used frequently and everyone that played was suspiciously good. Like really good. They have a league.. I was no match for their superior skills.
It is clear JUXT care about their employees well-being. They have managed to find the right balance between a relaxed environment and productive workplace.
My degree is in Physics, so I was not sure how well I would get on in a developer role. My main goals when starting the internship were to get some relevant experience and find out if this really is the industry I wanted to work in. This internship has far surpassed my expectations. I have come away with a great amount of experience, learned a new language and improved my badminton skills. In the short 3 months I worked here, JUXT has given me the confidence and skills to pursue a career in software development.