Software Architect

Skills
RDBMSSoftware ArchitectureSoftware DevelopmentData ArchitectureDesign PatternsDomain-Driven DesignHypertext Transfer Protocol
Role

What the job involves

The main requirements, responsibilities and hiring steps.

Requirements

  • Proven experience as a Software Architect or similar role
  • Strong background in .NET C# software development
  • Experience in scalable distributed systems
  • Knowledge of RESTful HTTP API design, messaging application architecture, microservices, SOA, enterprise integration patterns, security, IPC mechanisms, performance, and cloud deployment
  • Enterprise .NET development experience (8+ years) and knowledge of .NET eco-system
  • Database design and ORMs
  • OO design and modelling of complex domains
  • Knowledge of Domain Driven Design
  • Familiarity with Agile development practices including Clean Code, TDD, Unit Testing, Continuous Integration, Continuous Delivery

Nice to have

  • Experience with alternative languages such as Python, node.js, Ruby
  • AI/Machine Learning/Computer Vision knowledge
  • Experience with alternative RDBMS and NoSQL data stores
  • Containerisation and orchestration experience
  • Familiarity with cloud-based technologies and microservices architecture

Day to day

  • Design and implement the overall structure of software systems
  • Collaborate with cross-functional teams to deliver high-quality software solutions
  • Stay updated with emerging technologies and recommend innovative solutions to enhance systems