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.

Software Engineer Job Description Template

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

Responsibilities:

  • Living a real agile experience and being in control of your fate: contributing to the continuous improvement of the team;
  • Contributing to code reviews & documentation as well as taking on complex bug fixes;
  • Translating your technical skills to influence other developers, product managers and senior managers to ensure the team understands the Tyro vision;
  • Analyse system requirements and develop technical design;
  • Identify root cause issues with live operational sites and develop permanent solutions to aid continuous improvement;
  • Implement minor change orders for installed base solutions;
  • Support the application software by analysing and fixing problems as required;
  • Writes/reads clean well-documented custom code in various languages and updates, as needed;
  • Participate in regular meetings with the implementation team;
  • Effective use of defined toolsets (Eclipse, Maven, Jenkins, Sonar and Subversion) in accordance with company standards;
  • Understand and evaluate the requirement and feasibility of customization required for the end customer;
  • Perform software development life cycle from preliminary system analysis to tests and deployment;
  • Assists in the analysis of incidents and problems to show trends and potential problem areas;
  • Develop and maintain application software to defined quality assurance standards;
  • Take ownership of software trackers, but highlighting defects within support incidents and ensures those are resolved.

Requirements:

  • Bachelor’s degree in Computer Science, related technical field or equivalent practical experience;
  • Experience working with C, C++, Java or Python;
  • Must be a team player;
  • Good principles of software design and architecture;
  • Real world application development experience;
  • 2-3 years’ experience building high quality software;
  • Undertakes peer code reviews;
  • Comfortable working in a fast-moving startup environment;
  • Ability to work in a small team;
  • Plus: Experience building cross platform mobile apps (Ionic, React Native, Flutter, etc);
  • Data migration and management;
  • Experienced in Git. Familiarity with project management tools like JIRA / Asana;
  • Troubleshooting;
  • Strong version control (git);
  • New product development.