Our Software Engineers don’t just write code but take an active role in feature and platform development by being instrumental to and taking ownership of features from the design stage right through to its release into production.
Planning and design:
· Participating in group planning sessions and helping to elaborate requirements.
· Contributing to the design and architecture of innovative solutions.
·Ensure that the ability to scale the solution is considered within the design of front and back-end systems.
Writing code:
· Developing new features.
· Resolving operational issues.
· Fixing bugs.
·Building greenfield products.
Code reviews:
· Conducting and receiving code reviews.
· Sharing skills and techniques with other members of the team.
Managing releases:
· Handling code changes from inception through to deployment.
· Maintaining the CI/CD pipeline.
· Ensuring code changes are adequately tested and working in production.
Essential:
· Experience of C# and .NET Core
· Understanding of web applications, HTTP communication and REST
· Ability to demonstrate innovative, imaginative problem-solving skills with focus on delivering quality outcomes in a timely manner.
· Experience of writing and maintaining different testing suites
o Unit tests (xUnit, nUnit etc)
o Integration Tests
o Functional Tests
· Working knowledge of RDBMS and SQL / T-SQL
· Knowledge of Message brokers and event driven architectures
· Experience of Version control & CI/CD (Bamboo, GitHub Actions, Azure DevOps)
· Experience of Microservice architectures
· Awareness of SOLID coding principles
Desirable:
· NoSQL database technologies (MongoDB, Cosmos)
· Docker workflows · Container management systems (Kubernetes / Docker Swarm)
· Knowledge of Cloud solutions (AWS / Azure / Google Cloud Platform)
· Knowledge of scripting languages (Bash and PowerShell)
· Administration of Windows and Linux server