Key Responsibilities
• Design, develop and test companies’ server-side components
• Configure and maintain the project’s development, test and production environments in Azure
• Review and sign-off key technical deliverables to ensure consistency of design and quality across the team
• Develop, maintain and communicate the application architecture, functionality and designs, through presentations, documentation and regular review with the company’s management team
• Manage and resolve any technical issues with server-side applications in a timely manner
• Remain fully abreast of the latest changes in technology, with an emphasis on Azure and anything that will impact our architecture on that platform
• Manage the build process to ensure the reliable and repeatable production of deployable versions of our applications, using best practices such as continuous integration and deployment
• Adhere to the companies programming standards, and participate in their definition and maintenance
• Adhere to the company’s software testing approach using established test environments and defect tracking tools
• Provide input into system documentation, particularly design artefacts, configuration and user help and “how to” guides
• Participate in the Agile/Scrum development process, as implemented by the companies software engineering team
• Represent the company in technical meetings with the company’s investors, customers and prospects
The responsibilities of this role may vary from time to time given the small and dynamic nature of the technology team, but the core requirements are those listed above.
Experience & Qualifications
• Seven or more years’ experience with the development of back-end services and client applications using the Microsoft .NET framework
• In-depth knowledge of designing architectures and establishing environments for developing, building, testing and releasing server-side components to hosted cloud platforms such as Microsoft Azure
• Experience of developing and launching cloud-based Software as a Service (SAAS) products
• Extensive experience of Agile development approaches (e.g. Scrum) for iterative, adaptive product development, continuous integration and regular releases
• Any experience of the development of IP telephony systems would be an advantage, for example integrations with Asterisk, Broadsoft or another IP PBX
Core skills:
• Languages: .NET, C#, F#
• IDEs: Microsoft Visual Studio, Visual Studio Code
• Technologies: JSON, RESTful HTTP APIs
• Platforms: Microsoft Azure (Function Apps, App Services, Service Bus, Cosmos DB, Notification Hubs, Event Hubs, Storage Accounts, Data Factory) • Databases: SQL Server, Azure SQL Database
• Protocols: TCP/IP, SSL, HTTP(s)
• Cloud Computing Services, such as: Realm.io, Twilio, SendGrid, Stripe, GoCardless
• Tools: Postman, Fiddler, Git, SourceTree, Azure DevOps, JIRA • Security and Authentication: OAuth2.x (Auth0)
• Microservices-based architectures, asynchronous messaging patterns
Useful skills:
• MySQL, Angular 2, Javascript, JQuery, Node.js, WebRTC, MySQL
• iOS and Android development (Swift, Kotlin, Java), APNS, GCM/FCM
• VoIP, SIP
• XCode, Android Studio