What I have learned (so far) during my internship at Softwire
4 September 2015, by Emily Fox
As I look at the calendar, I realise it’s a month to the day since I started my internship here at Softwire. Four short weeks later and I’m working on a software project using technologies I’d not really even touched before arriving here, and day by day as foreign web technologies start to make sense I grow a new found appreciation of the depth of what a job in software can lead you to.
The first few weeks
At the start of my time here we had two weeks of training. We started off with some exercises learning C# to help us get used to the language.
Having come from a Java background this was not too steep a learning curve for me, although my code was riddled with the artefacts of someone who’s clearly finding it difficult to leave Java habits behind (who declares all their variables with ‘var’ anyway?!), and like someone learning a foreign language, the statements were sometimes written in a rather interesting mix of the two…
Once those habits had been sufficiently suppressed, we were to learn the art of interacting with external APIs. We signed up to the TfL developer portal and were before long querying their site to find the movements of the local London buses. Unfortunately, after a few initial queries all working rather well, the TfL API went down and we were left with a day of coding for an API that was no longer functional… less than ideal, but we coped! By the end of the day we had a simple program working which would take your postcode, find your nearest two bus stops and give you the times of the next five buses for each.
A real project
It is usual for interns to work on an internal project during their time at Softwire, but we were lucky enough to be offered the chance to work on an actual commercial project, which was exciting! I was to be part of the front end team, and my first tasks were creating some social media widgets for the websites we would be making. By doing this I got to put into practice using the aforementioned web technologies, as well as getting to grips with the software (Umbraco) we are extending for our purposes.
Having eight of us relative newbies working on a single project has its own problems; our Git repository is looking a little reminiscent of tangled spaghetti and a smooth working process has yet to be fully developed, but I like to believe we’re making good progress. One of the things I have enjoyed most so far is the fact that when you have a good number of people working on a single project, although you only contribute a relatively small part, you can see advancements fairly quickly with lots being achieved in a relatively short time.
You can also split responsibilities to allow each person to have their area of expertise on the project. For example, while I was writing my widgets for the front end I had to rely on calls to the API that the back end team had written using technologies such as SQL and C#. So although I had a weaker knowledge of the how the database functioned on a micro level, I could still use what they had written and vice versa.
Currently I am working on some more widgets which will be part of the integral functionality of the software, and we are hoping to have a simple prototype version working by the end of the week, so I’m looking forward to that. I am only half way through my time here at Softwire, but I think the most important thing I have learned so far is a bit of what it’s really like to work in the industry and I have to say it doesn’t disappoint!