Software engineering

Human-like computingBy Caroline Jay, University of Manchester.

Software engineering is difficult. This is particularly true in a research environment, where code is often intended to be a precise representation of a scientific entity, process or system. Developers must grapple with the difficult issues that affect every software development project, but also deal with the fact that the formal representations used by machine computation are frequently at odds with the heuristics used by the human brain (an issue discussed in a recent Institute blogpost on code/theory translation).

Over the past two years, a new research domain has started to emerge, that may ultimately offer a solution to this problem. “Human-Like Computing” is the shared endeavour of researchers from psychology and computer science, with a common desire to improve the interface between technology and people. At first glance, the aim of this domain might appear familiar: research areas such as robotics and natural language processing have been working towards naturalistic communication with people for a long time. The difference with human-like computing, is how this aim is achieved: the focus is on understanding human cognition, and using this to produce a step-…

Continue Reading

By Daisie Huang, Software Engineer, Dryad Digital Repository.

What differentiates scientific coders from research software engineers? Scientists tend to be data-discoverers: they view data as a monolithic chunk to be examined and explore it at a fairly fine scale. Research Software Engineers (and software engineers in general) tend to figure out the goal first and then build a machine to do it well. In order for scientists to fully leverage the discoveries of their predecessors, software engineers are needed to automate and simplify the tasks that scientists already know how to do.

Scientists want to explore. Engineers want to build

I've been thinking a lot about the role of coding in science. As a software engineer turned scientist, my research is extremely computational in nature: I work with genomes, which are really just long character strings with biological properties. My work depends on software developed by myself and many, many other scientists. Scientists are, by and large, inquisitive and intelligent people who are fast learners and can quickly pick up new skills, so it seems natural that many would teach themselves programming. When I first started talking to scientist-coders, I thought that perhaps I could relate to them from a programming perspective, and maybe bring some experience in formal software design practices to teaching scientists about coding. I started working with…

Continue Reading

The Software Engineering Group at RAL are organising a workshop on Tuesday 7th October as part of the SESC programme. The workshop is aimed at scientific researchers whose role involves writing software and will introduce them to basic software engineering and collaboration practices such as:

  •   Source code repositories and version control
  •   Bug and feature trackers
  •   Use of analysis and coverage tools

The workshop will demonstrate these practices using the features of CCPForge.

They are also organising a similar workshop in January at the Daresbury Laboratory.

Further event details and registration information can be found at

University College London now has a vacancy for a new member to join its Research Software Development Team.

Working as a research software developer (Ref: 1429197), the successful applicant will help code the scientific applications UCL needs to continue with its world class research, from simple data analysis scripts to supercomputer-based complex simulations.

Other duties will include making sure UCL's research software meets high standards of sustainability and helping researchers from across the disciplines with their software needs.

To apply for this job, you need to be able to provide expert software engineering skills in one or more fields, can quickly grasp and write code for new scientific projects and be able to use at least one or more languages and platforms used in scientific computing.

To find out more details and to apply for the post, please visit the…

Continue Reading

The Open University has two new vacancies for software engineers, where they will work on research examining privacy and security.

The roles will involve two different projects, with the first, called Privacy Dynamics, looking at group behaviour from a social psychology perspective.

The second, Monetize Me, will look at business models for 'lifelogging' and other forms of self quantification and the implications these have for our personal data.

The posts will be based at the OU's Milton Keynes headquarters, where successful applicants will work at its software engineering laboratory, noted both for its world class research record and extensive facilities.

The contracts will be for a period of 2 to 3 years, and the salary range will between £31,342 and £37,394 with 33 days paid holiday.

Applicants will need to show they can develop the research application prototypes and software engineering tools needed for the projects' empirical studies. They must also be able to work effectively with colleagues from both within their field and across the disciplines.

To apply for the Privacy Dynamics and…

Continue Reading
Subscribe to Software engineering