Softwire Blog


Internships at Softwire


3 November 2015, by

With recruitment fair season is full flow, we thought it would be interesting to share some of the experiences of our freshly departed Summer interns to give you an idea of what may be in store. Here is what Emily and Stephen thought about their time at Softwire:

b0f31c91ef_500x500Emily: I have wanted to work in software development for a good few years now and coming to Softwire was a big step in that for me. Having done quite a fair amount of research about the company I had come to the conclusion that what with the style of work, the flexibility, the social aspects and the general attitudes of the company (of course I won’t lie, having music lessons and music rooms in the office certainly didn’t hurt!), if I was going to work anywhere in software, then Softwire seemed like the perfect place for me.

At the beginning we had two weeks of training, getting up to speed with C#, Javascript, JQuery, ASP.Net, Bootstrap and AngularJS, amongst other things. Coming from a background of studying computer science at university, I had done a fair amount of Java so C# was a fairly smooth transition, but had no experience with any of the web technologies. We learned quickly though and there was no shortage of support on hand here if you had questions, needed help with something or just wanted some advice from an expert, so it was very satisfying to be looking at so many new things in such a short time.

We then launched our project which I worked on for the remainder of my internship. There were eight of us interns in the team and we were divided into three sub-teams: front-end, back-end and dev-ops. I chose to be in the front-end team in order to put my new found web skills to use and to be able to learn them in a lot greater depth. What I like about working in a team like this is the amount that can get done when you have eight times the mental capacity and coding time of a single person; when everyone pushes their code to the repository at once your program can grow in large amounts very quickly. It’s really exciting to see it coming together with the bits you created working alongside other people’s code.

I think hands down, the things I have enjoyed most about working at Softwire was the friendly, flexible and relaxed environment in the office and the fact that everyone really enjoys what they are doing. They trust you to work smartly and effectively so there’s no chasing you up if you are not in at nine on the dot. I think the general attitude of trust towards employees to just get on with everything as they see fit is a good contributor to the success of the company. Everyone is very happy to be at work, feels relaxed enough to work to their best ability and really cares about the success of their projects without it being forced or artificial in any way.

There’s something to be said about working somewhere that simply doesn’t feel like work because you’re just getting paid for doing what you love. I definitely think I’ve been spoilt coming to Softwire, any future companies I come across are going to have a lot to live up to!

6568888e06_438x500Stephen: I did a 12 week working internship at Softwire after my third year of Mathematics and Computer Science at Oxford. Most of my programming experience had been work I’d done at university, so this was my first proper experience with commercial software development. I always knew it was what I wanted to do, and this summer has definitely confirmed that!

The project I worked on involved extending Umbraco, a content management system used for creating websites in a simple, easy to understand way. We wanted it to be able to create specialised challenges where people could upload scores for various events and be compared against other people on leader boards, in the process, winning awards and trophies for their teams. We added integrated it with other sites such as Twitter, Instagram and Flickr. I started by working on designing a database and implementing an API for it. I really enjoyed doing this from scratch and working out how everything tied together, and I also learned a lot about writing clear, easy to understand code.

Later in the project, I moved on to being the team’s AWS expert. AWS (Amazon Web Services) is Amazon’s cloud storage platform. I spent a lot of my time here understanding how cloud services work, so I could automatically deploy our sites. This was very new to me, as I had done nothing like this before, but it was really rewarding when things started to click into place, and I always had somebody to ask for advice if I needed it.

Softwire really help you improve as you work here, too. We had two weeks of training before we started the main project and over the weeks, our tech lead gave us talks on many parts of software development, including how to use source control and design patterns, which really helped us improve the quality of our code.

Outside of work, it’s been great too. There have been loads of social events while I’ve been here, some of the highlights being trampolining and the company picnic, which have all been a lot of fun.

I’ve really enjoyed my time here, everyone is very nice, and they are keen to help with any problems. It’s also been a great learning opportunity, and the things I’ve learned will definitely have an impact on any programming job I have in the future.

What I have learned (so far) during my internship at Softwire


4 September 2015, by

EmFoxAs 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.

Next enter the web technologies. Using ASP.Net we created a website for a library loans system, supported by a MySQL database in the back end. After a whirlwind week of Javascript, JQuery, Bootstrap and a healthy dose of AngularJS, we were ready to be let loose on our project.

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.

The future

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!

Battleships


18 February 2015, by

5572931456_16557895a5_zLast summer, our training interns built a website for running Battleships tournaments. It allows players to upload a bot, which the website then runs against all the other uploaded bots to generate a league table.

The idea was inspired by a tournament we ran a couple years ago. Since then, we’ve asked new starters to write a Battleships bot as a training exercise, but this year, we decided to take the idea a step further and also write a website we could use to run the tournament! The first group of 6 training interns – most of whom had very little experience of programming before they got here – started with just one week of introductory exercises, and over the next couple of weeks wrote the website from scratch. By their final week they had completed enough functionality to run their own tournament, and even had time to add some creative touches – such as an animated gif of a battleship firing cannons as the “loading spinner” image while the match was running. The intern whose ship emerged the victor and took home the coveted prize of … a little T-Rex plushie!

The next group of five interns was faced with the perhaps even more daunting task of picking up where the others left off. They fixed some bugs, improved the efficiency of the league runner, and polished the user interface. The finished product is still being used to run bots written by new starters!

Training Internship Profile; Bingqian Liu


10 December 2014, by

BingThe 4-week training internship at Softwire was my first ever internship. It was a most unforgettable experience for the invaluable knowledge gained in software development through systematic training projects provided by the company.

The programme began with three coding challenges to get us familiar with C#, a programming language that is widely used in website development. Features of the tools to be used were introduced in mini-lectures by experienced software engineers and then practiced in the challenges and the subsequent web application project. We started developing the web application from the second week. Other elements of a .Net web app such as MVC, HTML, JavaScript and CSS also played important roles in the development, which required a lot of reading, practicing, trial-and-error along with help from our project managers. We were all also sent regular emails delivering more general information about software development.

All the interns divided into pairs to work on different but related tasks in the project. We swapped pairs regularly so that everyone got a chance to work with different people and share in their different backgrounds and experience. Our managers regularly reviewed our work allowing us to improve our code on as we progressed through the project. We also periodically tested the
features implemented by others in turn and gave feedback.

What impressed me most about Softwire was that all the people around us were ready to help with any problems, which made me feel less and less nervous day by day. At the end of the fourth week, the website was ready, and we launched it internally for the staff to use. After working on the project for the last month, I and the rest of the interns were also keen to use the product we had created.
It was great to finally see it in use, and it was lovely to be part of a group of such enthusiastic and innovative people from day one.

Internship Profile: David Edey


3 November 2014, by

I applied to Softwire in my second year of studying Maths at Cambridge. As I applied reasonably late, all the spots had been filled for 2013, and so an offer had to be postponed for a year till 2014. It was, however, well worth the wait!

Softwire is the kind of company that makes you feel welcome the moment you walk in the door. Everyone I had the pleasure to meet (which, over my 10 weeks, was the majority of the London office!) was kind, friendly, and helpful. Not only that, everyone had a pride, passion and enjoyment for/of their work which really shone through. Added to that, the almost completely flat management structure made everyone – even us interns – feel equally valued and respected.

The work itself I found really interesting – I was in a project with other interns creating a desktop application in C# from scratch. Despite the fact that the majority of the team had never programmed in C# before (or, for that matter, other object orientated C-style languages such as C++/Java), we were soon not only writing code at a blazing rate, but moving onto focusing on making it clean, readable and testable – all under the guidance of our fantastic technical lead, Jamie.

Whilst “clean, readable and testable” might sound a little dull, it actually made it fun: whilst writing code that works might be easy, writing code that makes logical sense and is easy to understand is just as important, and learning new ways to think about coding was really enjoyable.

If we were ever stuck, Jamie was just literally just behind us, ready to help with anything, and Ying (of intern-blog 2012 fame!) also did a fantastic job at helping us out. In fact, we all learnt so much that in my final week, I even had the opportunity to talk through some of the new stuff we’d learnt, and share the knowledge with other members of staff at Softwire, at a “Lunch and Learn” session. Go to a lunch and learn session, and you not only learn some interesting things, you also get free lunch on the company. It’s one of many initiatives that embody the passion for sharing, learning and self development shared by everyone at Softwire.

On the subject of lunch, the food was amazing and very reasonably priced, and cooked by Helen, the in-house chef. There is also a very large morale budget, meaning the cupboards are full of all sorts of snacks for the taking, and there are regular events (3-4 times a week), with food and/or drinks paid for by the company, and were definitely some of the highlights of my summer. Events ranged from various pub trips – through to rampaging dinosaurs across a city at Pizza and Board Games night – and an afternoon out of the office for the annual Hampstead Heath picnic, spontaneously attended by the one and only Ed Miliband!

All in all, the internship was a fantastic experience, and I would thoroughly recommend it!

Internship Profile: Haden Spence


29 August 2013, by

Haden Spence

I applied to Softwire so late in my second year at Oxford that sadly, by the time I reached the interview stage, there were no places left for me that summer.  Instead, I was accepted for an internship after my third year.  So I had a year for the anticipation to build.  A friend of mine spent that year telling me how incredible the experience is; raising my expectations further!  I was not disappointed; my seven weeks here have been better than I could have ever imagined.

Those seven weeks at Softwire have gone by far too fast; every day has been great fun.  I’m a maths student, but have always had a keen interest in computing, so it’s great to be able to apply myself fully to what is otherwise ‘just’ a hobby.  The work is always a challenge, but if it ever gets too much, the support structure is something Softwire have spent a lot of time working on.  It is impossible to stray too far, with your team and managers looking after you.

Softwire place a strong focus on personal development.  Indeed it would be hard not to learn a massive amount during your time here – everyone in the office is always free to help anyone else, be it by running an educational lunch or whiteboard session, or helping with a specific problem.  The time spent on peer-to-peer training is always enjoyable, and the skills learnt are invaluable even if your career path leads you to something other than software development.
(more…)

Internship profile: John Ginger


26 November 2012, by

JohnI took a summer internship at Softwire between my 3rd and 4th years doing Engineering at Cambridge University. I came to Softwire with relatively little programming experience, minimal amounts from my course and a little more from experimenting and playing around with stuff in my spare time. I wanted an internship that would be fun, where there would be the chance to do real things and to gain a better insight about what career path I would like to take in the future.

(more…)

Internship profile: Thomas Chetwin


16 November 2012, by

ThomasI’m currently studying Computer Science at Cambridge and had had some prior programming experience in my second year group project. This had led me to consider software development as a career, and where better to start than Softwire? The employees I’d spoken to at the computer lab recruitment fair were enthusiastic and full of praise for Softwire and I was not disappointed!

I was put on a project very soon after arriving and was given structured training sessions over the first few weeks. My project was to work on the internal interview management application, the same one I’d been on the other side of just months before. I was allowed to experiment and explore with the unfamiliar technologies (Java ServerPages, Hibernate, Spring …) under the guiding hand of my team manager, which was of great benefit to me. I continued to work on this application for around a month and became familiar with its many facets.

(more…)

Internship profile: Ian Baker


5 November 2012, by

IanI applied for an internship at Softwire because I wanted to get some experience in the real world of software development, and learn about all the practicalities that were outside the scope of my Computer Science degree at Cambridge. I had a fair amount of programming experience before I arrived, mostly from my course, but it all focussed on creating trivially small programs to illustrate an academic point; what I hoped to gain from Softwire was an understanding of the processes involved in creating usefully large programs that interacted with real-world data. (more…)

Internship profile: Joe Edwards


22 October 2012, by

JoeAfter doing nearly three years of maths, I still wasn’t really sure what I wanted to do afterwards, so I applied for an internship at Softwire. I’d only had a few small experiences programming, but it was something I was confident I could do – the environment was something I was more concerned about though. However even when I went down for my interview in January I knew I’d made the right decision – the office was friendly, and it felt like a really good place to be.

When I properly arrived in July, we had just a few days to get settled in before being thrown right in on a project. It’s intimidating at first seeing a massive codebase – especially not having done any serious coding before, but very quickly you start to pick it up, and it’s immensely satisfying once your first feature gets finished! Everyone is always happy to give advice if you need it, and there’ll be someone looking after you to make sure you’re on the right track. (more…)