Senior Software Engineer

Research, design, develop, and test operating systems-level software, compilers, and network distribution software for medical, industrial, military, communications, aerospace, business, scientific, and general computing applications. Set operational specifications and formulate and analyze software requirements. May design embedded systems software. Apply principles and techniques of computer science, engineering, and mathematical analysis.

Senior Software Engineer Job Description Template

Our company is looking for a Senior Software Engineer to join our team.

Responsibilities:

  • Assisting in customer support queries when escalated by the client facing teams;
  • Develop new solutions to resolve ongoing issues with the platform;
  • Work to improve overall system architecture and design components accordingly;
  • Developing solutions that are modular, scalable and portable;
  • Work closely with artists and programmers to develop advanced techniques for producing cutting edge visual effects;
  • Interface with other teams within the business to ensure the timely delivery of high quality products;
  • Maintain strong departmental and inter-departmental communications;
  • Perform requirements analysis, software design, C/C++ coding, software testing and documentation in line with the project requirements;
  • Travel to client sites as needed;
  • Coordinate and conduct peer reviews of team tasks;
  • Champion engineering excellence;
  • Realisation and delivery of technical designs to meet release deadlines;
  • Being able to prioritize and manage work, adhering to critical project timelines in a fast-paced environment;
  • Specify, design and implement performance & resilience tests across Mimecast services;
  • Collaborate using tools such as Git, JIRA, Slack and wiki pages.

Requirements:

  • Experience of building mobile, graphical connected apps;
  • Experience with Git or similar source code revision control systems;
  • Some exposure to working with CI/CD pipelines (we useAzure DevOps);
  • Appreciation of the value of unit tests and code review;
  • Learning, development, coaching and mentoring;
  • In depth understanding of security controls and implementations in the cloud;
  • Experience with Agile software development and DevOps practices such as Infrastructure as Code (IaC), Continuous Integration and automated deployment;
  • Object Oriented (OO) programming, design principles and patterns;
  • Python;
  • Working knowledge of software design;
  • Advanced experience software development in any of the following: C, C++, Java, Golang;
  • Degree or equivalent in Computer Science, Computer Mathematics, Software Engineering or a related field;
  • Maths – Strong background in 3D and other applied mathematics;
  • Communication skills;
  • Relevant MSc or PhD.
Smart Job Promotion with Jooble
Attract Relevant Candidates