Senior Software Engineer
About Us
We are a growing collection of creative problem solvers focused around the arts and technology whose mission is to help arts organizations be more successful. We're doing this through a combination of cloud-based software and consultative customer support that empowers arts organizations to grow revenue, increase efficiency, and build stronger relationships with audiences. We are always looking for new ways to approach problems, share knowledge, and better serve our customers.
Key Responsibilities
We are looking for a senior software engineer to join our engineering department. To us a senior is an engineer who can lead on projects as needed across a wide range of situations and technologies and mentor others in the team as they do so.
Our cloud native approach means using Azure PaaS solutions where possible to deliver value to our clients. Clients operate their business from our platform. You will be joining a team that builds and runs part of the company's platform which powers that functionality. Our functionality ranges from ticket sales to reporting, marketing and CRM functions which are available from our client portal and via our APIs and Web Components.
The ideal candidate will be practiced in agile delivery, test driven development and refactoring techniques. They will be excited by the challenges of building and operating the web services and infrastructure for a business critical SaaS product serving the entertainment industry.
Technologies
Experience of our existing tech stack is a bonus but if you are not familiar with these then we still want to hear from you. You'll just need to be happy to learn them
C#
Azure Cloud (DevOps, Compute, Storage, SQL PaaS etc)
Git
Terraform
Skills Knowledge and Expertise
Candidates must:
Be able to communicate fluently and teach others the following working practices
Pair programming
Agile software delivery practices including Lean and Kanban
Test Driven Development
Continuous Integration
Dependency Injection & Inversion of Control
Have experience building and maintaining web applications in production environments
Common architectural patterns (eg layered, hexagonal, clean)
Databases (Including concepts like indexes and transactions scopes)
Performance and monitoring
Security practices (eg understanding of OWASP Top 10)
Be comfortable safely refactoring Legacy code
Be able to work alongside client facing support and product owners to analyse business requirements
Be keen to learn new technologies and skills
Be receptive to feedback and be able to give constructive feedback