Goings on at Softwire, technical and otherwise

Archive for December, 2011


Christmas Celebrations

At Softwire we’re lucky in that we celebrate Christmas twice each year. Once with a very long lunch just for employees, and once with a slightly more sophisticated evening meal to which we can invite guests.

Here’s a peek into what we get up to at these events. Merry Christmas!

Yemi shoots

READ MORE…


Softwire Christmas Card 2011

Season’s Greetings from Softwire

Softwire Christmas Photo

We hope that you have an enjoyable holiday and a happy and healthy New Year!


Softwire Charity Quiz Night

The first Softwire charity quiz night was held recently to raise money for Medecins Sans Frontieres.  45 people attended forming 8 teams and the competition was fierce, especially for the delicious buffet laid on by a local curry house. Congratulations go to Tom Riley, Rowan Hill and friends on winning not only the main competition, but also the raffle at the end!

We raised a total of £735 for MSF – thanks to everyone who attended and donated. And many thanks to Quizmaster Tom Steer, who produced some great head-scratchers. Here are some of my favourites (select the text to see the answers):

READ MORE…


Getting Objective, part 2: [Square Brackets] and other animals

previous article in series

Recap

In part 1 I gave a little introduction to Objective C – why people would want to develop for it, and a quick hello world example. This post will go into more detail about the syntax, with the help of a few household pets.

READ MORE…


How we run a software company: Responsibility

previous article in series

Who is responsible for the successful delivery of a project? In Softwire, the answer is quite illuminating.

Each project is assigned a Project Manager (PM), who is the most obviously responsible for its successful delivery (incorporating commercial success and customer satisfaction).

The PM’s manager is called the “Super Project Manager” (SPM). In Softwire we currently have 4 SPMs, each of whom manages a number of PMs. Here’s what our internal literature says about the SPM’s duties:

The SPM is fully responsible for ensuring that the PM delivers the project successfully by providing oversight and advice as required…

Note that the involvement of the SPM does not in any way diminish the PM’s responsibility to deliver the project successfully. The PM remains fully responsible for successful delivery. The SPM is also fully responsible for ensuring the PM succeeds. I.e. both roles are fully responsible!

A similar principle applies to the portion of a project assigned to each developer. The developer is fully responsible for both the quality and timeliness of their delivery, but so is the PM and the SPM. You may consider this to be logically inconsistent garbage – or worse, some kind of Orwellian brainwash along the lines of “War is Peace”. The flippant response is “You can never have too much responsibility!” However we need to prove that this overlapping responsibility is meaningful in practice.
READ MORE…


My Softwire Internship – Jon

JonI started my internship at Softwire following my third year studying engineering at the University of Oxford. I arrived with almost no programming experience – only the material that Softwire had asked me to read in preparation for the summer, and a small amount of Matlab and C as part of my course. I wanted to use the internship both for experience, but also to learn what working in software was actually like.

During my internship I’ve worked on three different projects, all very different in scale, technology and structure. My first project was an internal app for Softwire itself, rather than a commercial one – the idea was to increase company productivity by making employees’ personal development records and yearly appraisal much more streamlined. It was a .NET MVC app written in C#, and we had two interns as the sole developers – with a couple of more experienced people keeping an eye on things, and giving us the support we needed when we encountered problems.

READ MORE…


Clandestine Maths Club

Softwire have always recruited from numerate disciplines. We mainly target computer science, physics, engineering and maths, although we’re not averse to recruiting from other disciplines if we find candidates with aptitude – including to date philosophy, biochemistry, psychology and even classics.

If you’d asked us before we started, we might have guessed that we’d get the most hits from computer science, but it turns out that maths is the modal subject. About 40% of Softwire studied some form of mathematics, narrowly beating the number who studied the more career focussed computer science.

We didn’t really think anything of this until around the middle of last year, when suddenly equations started appearing on whiteboards throughout the office. It seems that the mathematicians are ready to play…
READ MORE…


How we run a software company: Setting expectations

previous article in series

It’s important to communicate clearly what you expect from your employees. What you consider to be their key responsibilities also says a lot about what kind of employer you are.

New starters at Softwire are given a presentation by one of the directors, during which they are told about Softwire, our philosophy, some of our more important procedures, and also what is expected of them. This last part has been distilled into five “Key Responsibilities”:
Maybe more screens would help...

  • Be fully responsible for all your tasks and actions
  • Treat your time like gold dust
  • Take active responsibility for your own personal development
  • Widen your involvement
  • Be happy.

I’ll expand on all of these below:

READ MORE…


Fonts on the internet

It used to be that if you wanted to use an unusual font on a website you had three choices:

  • Somehow ensure that all your users have the font. Not many exciting fonts are on all Mac and Windows systems by default, plus you would also have to hope that Linux users will have a similar enough font that the site still looked reasonable to them. In an internal corporate site you may have more control over the client machines, but that’s only likely to be worthwhile in a very limited number of cases.
  • Generate an image of the text you want in the font you want to use – this works great until you want to copy and paste the text, or read it automatically to a visually impaired user. Plus, it’s a bit of pain generating and updating all those images.
  • Use Flash, which can embed fonts and give you very fine control of text display. However, this can cause new issues, especially if you don’t have any Flash experience and just want to put up a simple site.

Then along came some clever solutions like sIFR – which automates the third option above, and cufon – which tries to do the same thing as sIFR but using JavaScript instead of Flash. These solve some of the problem by making the resulting pages more friendly to screen readers and similar devices. The cost of this however is a lot of complicated moving parts that will probably stop working if the user has Flash or JavaScript disabled.

Now finally, in CSS3 this situation is being addressed with the introduction of the @font-face attribute. Using @font-face will delegate the displaying of text in your shiny new font to the browser. This makes using different fonts simpler and more reliable in browsers that support it, and will not break anything in older browsers that don’t.

READ MORE…