Today it’s my last day of a 5 month internship as a Software Engineer at LShift. This has been a truly valuable experience for me. I am a third year student of Mathematics and Computer Science at Imperial College London and working here has taught me skills I would have not gained by just finishing a computing degree. I would like to tell you what I worked on, what I learned and what LShift is like.
I thought that the most important part of a software engineering internship is to learn new technologies. Now I know this is not true. On my interview I was told I will be exposed to at least three different technologies. I thought: “Awesome, 3 more to add to my CV”. What I gained is a lot more than knowledge of new languages, it’s the ability to learn them fast.
After finishing with this project Stuart told me he has a new task for me. He sat me down and told me about the problem the company has with checking the integrity of backed up files, gave me two weeks and told me to investigate. When he finished I had no clue what he actually wants from me but that was just an additional challenge. This project involved the whole development process: research into the problem, writing a specification, choosing languages, writing the code and testing it and I had to do this all by myself. This was also a great opportunity to learn a new language and I chose it to be Python.
Afterwards I moved into working in a two person team on a project for one of the clients. Since this was a new project I was again exposed to the whole development process. The task involved big data and so the chosen technologies were Go, BigQuery and AppEngine, which I have not had experience before. Since the project was very short I felt a little overwhelmed with all the new things I was supposed to learn in such a short period of time. I told this to James who was the lead on the project and we decided I can use my Python skills to do part of the project.
Last task was to investigate into a tool that we wanted to use in the company. This did not involve any programming and so I thought I was not being productive, but the in the end what I discovered was actually helpful for future.
Working in a small company
I previously worked in a big corporation and so I was curious how different would it be in a small company. This turned out to be nothing but pleasure. The team consisted of only around 20 people, of which most are developers. The company has a flat hierarchy and so everyone gets to be a Lead Dev and has to deal with clients. Because of this I learned a lot about how the company is run. Weekly company meetings taught me about what client problems we are facing and even I could make a suggestion in how to deal with them. I learned a lot about project management and I had the opportunity of asking the management questions about contracts, finance etc
People and vibe
LShift is full of intelligent individuals. It is very often that you start a discussion, whether it is technical or about which “Star Wars” movie your kid should watch first, you’ll start with 2 people talking to each other and end up having the whole company sitting on the tables around you. Furthermore, with the Jukebox playing in the background you’ll end up listening to music ranging from tribal african to heavy metal all day. Really LShift is just a place full of crazy people passionate about technology.
The past 5 months taught me more than 2 years at uni and a corporate job. I got exposed to many new technologies as I was promised, I was in charge of my own project and I learned about project management and the client side of business. If you have passion for technology and want to challenge yourself, forget about banks and go work with the hippies at LShift.