Senior Software Developer

Solution Development Durbanville, South Africa


Description

Key Outcomes

  • Develop, test, analyze, and maintain new software applications in support of the achievement of business requirements.
  • Write, code, test, and analyze software programs and applications.
  • Research, design, document, and modify software specifications throughout the production life cycle.
  • Direct software development projects.

 Key Responsibilities

  • Define, design, develop, integrate, test, deploy, maintain, troubleshoot, and enhance software applications.
  • Produce clean, well-documented, efficient, and standards-compliant code with an eye towards performance optimization.
  • Write secure code and exercise good judgment in handling sensitive data.
  • Embrace emerging standards while promoting best practices.
  • Improve quality through application of TDD practices.
  • Maintain a high awareness of industry issues and trends, particularly in regard to accessibility, usability, and emerging technologies; keep team members informed as appropriate, with a view to incorporating these in future projects.
  • Write technical software requirements as needed.
  • Evaluate developer code quality and provide input for performance evaluations.
  • Understand client short and long-term goals and recommending a solution.
  • Comfortable trouble shooting critical production issues.
  • Integrating designs, flows and processes.
  • Industrialize solutions with DEVOPS.
  • Pay attention to software development process practiced by the team and help improve it, so we deliver products on time with quality following an agile approach.
  • Foster a culture of continuous improvement by learning, applying and educating team on software best practices.

Key Traits

  • Good communication skills.
  • Ability to work with an international team with international customers in different time zones.
  • Detailed, accurate, responsive, and inquisitive personality.
  • Demonstrable ability to learn new concepts quickly.

 Position Requirements

  • Bachelor’s degree in Technology or equivalent, other advanced degree a plus.
  • 5+ years’ experience in web application development, specifically HTML, CSS, JavaScript and ASP.NET.
  • 3+ years’ experience and a solid understanding of object orientated programming in one or more languages preferably C, C++. Java or C#
  • 3+ years’ experience with
    • Dependency Injection
    • Object-Relational Mapping
    • Object Mappers
    • Web API (OData & REST)
    • Testing Frameworks
  • Strong front-end development skills using frameworks like Bootstrap & Angular.
  • Experience in test driven development using both front-end and back-end unit testing frameworks.
  • Experience in relational database management systems using Microsoft SQL Server, including data modeling and creating relational databases using T-SQL & stored procedures.
  • Mendix rapid application development platform experience highly beneficial, or willingness to learn this platform.
  • Solid understanding of the software development lifecycle including continuous integration & delivery using DevOps tools like Git, TFS & Octopus Deploy.
  • Experience using cloud technologies like Amazon Web Services (AWS) beneficial.
  • Experience in working in Agile teams.