Softwire Blog

Code Club at Tufnell Park Primary School

25 November 2015, by

image2At Softwire, we’re firm believers in the benefits of using our technical expertise to make a positive impact on society. As part of that effort, we run a weekly after-school coding club at nearby Tufnell Park Primary School, teaching children aged 9-11 the basic concepts of programming (and having lots of fun along the way!). The prospect of starting up a club was a bit daunting at first, but luckily the whole process is made much easier thanks to Code Club, a nationwide organisation that aims to facilitate the process by putting volunteers in contact with local schools and providing a wealth of teaching materials. Sharing the task of organising and running the club between four of us has also made the time commitment much easier to manage and we’ve found the whole experience to be really rewarding.

Code Club have some excellent resources available, including step-by-step worksheets for projects that suit a wide range of experience levels. For children joining the club for the first time, Scratch has proved to be an excellent tool for teaching basic programming concepts, it conveys these concepts in a fun and visually appealing way. Keeping the children engaged in what they’re doing is crucial, so projects that focus on creating games and animations have generally proven to be the biggest hits.

For those children that outgrew what Scratch has to offer, last year we began teaching HTML and CSS,  but this year we’re planning to introduce the more advanced groups to JavaScript instead. This feels like a more natural progression from the visual programming concepts used by Scratch, and should offer the prospect of creating richer and more interactive web pages. While Code Club doesn’t currently provide projects for JavaScript, we’re planning to try out Trinket – an online HTML and JavaScript editor that provides simple code-completion and syntax highlighting – instead, and we’re hoping this will make the transition into text-based coding a much more positive experience.

image3I’m always amazed by how quickly the children grasp the basic concepts (what is an if statement, a for-loop, etc.) so we also aim to encourage the collaborative and problem-solving aspects of programming, skills that we value highly at Softwire, as well. We’ve found that an excellent way to reinforce those concepts is to go beyond the original scope of the project and ask the children to invent extra features they’d like to add to their game. We then chat with them about what code they might need to add to make it work, then let them explore the ideas themselves. This really helps to fire their imagination and they definitely take more personal pride in the result. We’re also fortunate that Tufnell Park school has a blog page where we’ve been able to highlight some of the great projects that the children have created, and this public recognition really helps to encourage them and reward their hard work.

Overall, we’ve really enjoyed the Code Club experience. We’re constantly struck by how enthusiastic the children are about coding and how eager they are to explore new ideas, once they realise that coding isn’t some mysterious and difficult art form, but really a form of puzzle-solving. It’s especially great to see them take the skills they’ve learnt and use them to create their own games, since programming is as much a creative endeavour as it is a technical one.

We have lots of ideas for new projects to explore this year, and with the success of last year’s effort, we now have enough new volunteers within Softwire that we’re planning to expand, with the hope of starting a new club in another nearby school after Christmas! We hope to give another update on our progress then.

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.