Back-end Software Developer
Scientia the global market leader in timetabling and resource scheduling software solutions for Higher Education, Government and Private sectors, is growing its team of developers.
With close to 500 customers in over 34 countries and 6 continents, we are proud to list many of the best universities in the world amongst our customers.
This role represents a unique opportunity to join a passionate development team focused on building state of the art intelligent software solutions to the problems faced by organisations in optimising their assets and resources.
Our next Software Developer will have:
- Collaborative Working
- Some experience of Agile project teamwork using SCRUM, Lean, Kanban
- Pair Programming., Peer Code Review ... XP practices in general
- C# .Net
- Experience working with APIs (ideally RESTful)
- Knowledge of databases: NOSQL (e.g., MongoDB) and / or Relational (e.g., SQL Server, Oracle, MySQL)
- Good communication skills and enthusiasm to share their knowledge with technical colleagues
While the following will make you stand out:
- A computer science, physics or engineering degree
- .Net Core and Kestrel
- Microservices and distributed architecture
- Caching (REDIS)
- Event Sourcing (i.e. EventStore)
- ELK stack, Grafana, InfluxDB. logging, metrics and visualisation
- Terraform scripting
- Cloud providers: Azure, AWS, Google Cloud
- Knowledge of performance considerations, especially with respect to data access
Read on for further specifics on this great opportunity to join our team in Cambridge
This role is for a software developer with a proven track record in developing workable real world software applications. This role will require the use of software development best practice techniques and a strong adherence to the “Agile” development methodology.
The job holder is required to perform all duties as reasonably required by their manager to the best of their abilities. This will include but is not necessarily limited to, the following specific responsibilities:
- Follow ‘Agile’ and industry best practice development techniques;
- Adopt a Test Driven Development coding methodology, and liaise with the Test Team;
- Adopt pair programming and peer review development techniques, providing constructive feedback;
- Adopt continuous integration techniques for builds;
- Write sufficient documentation to enable colleagues to understand the changes made and to provide enough information for test planning;
- Write code according to the industry best practice and company standards (these may change from time to time);
- Provide specific technical expertise, guidance and recommendations to colleagues;
- Analyse requirements and bug reports and design solutions to software problems;
- Document designs in a suitable format according to the company standards;
- Provide estimates for the time required to implement solutions;
- Strive to achieve the milestones set for the project and if these are at risk then inform the Development Manager or Project supervisor immediately;
- Report progress to Development Manager or Project Supervisor;
- Report risks to Development Manager or Project Supervisor;
- Occasionally attend customer meetings when required.
- Qualifications & General Attributes
- Be educated to degree standard in Computer Science or an equivalent discipline or have the appropriate industry experience;
- Have experience working in the software industry;
- Continue with training or education in Software Development techniques and practices;
- Have a willingness to learn new and improve existing technical knowledge;
- To demonstrate the ability to work on own or within a team;
- Maintain a calm, analytical disposition;
- Show initiative in the technical working environment;
- Show the ability to work independently;
- To be task completion oriented.