The Senior Software Engineer will be part of a small team of developers that builds and supports our Azure cloud solutions. You will work closely with the business partners to understand the requirements and implement successful solutions and software components.
We’re looking for a curious, intelligent, and proactive Azure cloud focused senior software engineer who is passionate about creating amazing software experiences. You’re committed to delivering high quality interactions and you’re excited about making a big impact on a small team by participating in the analysis, design, development, testing, deployment and configuration as well as maintenance of web and Azure software components, whilst ensuring that other requirements such as performance and security are met.
- You love solving difficult problems that lead to business solutions.
- You love building the best user experience; apart from being functional and insightful you, really want it to look beautiful and, like your team members, you are set on delivering digital interfaces which exceeds expectations.
- We won’t have to tell you much about software architectures or web technologies; your expert knowledge is up to date or you can research and learn.
- From a personal perspective you are well-rounded and enjoy working with multiple cultures and stakeholders.
- You thrive in a fast-pace project environment where excellent collaboration and communication skills are key to success.
- When it comes to the crunch, you love the pressure of an occasional healthy deadline.
- You proactively identify opportunities for work optimisation including opportunities for automation.
- You’re fluent in English.
Software Engineering (Development)
- Develop system integrations, using Microsoft Azure Integration Services to connect a portfolio of on-premises, SaaS, and cloud-hosted applications.
- Perform ETL or ELT from various structured and unstructured data sources using Azure Data Factory, implement or enhance current CICD Azure pipelines in alignment with SDLC methodologies.
- Develop integration solutions, including REST APIs, Event Driven or Queue based integrations and service orchestrations or automate processes using PowerShell, ARM, JSON, Python and other scripting utilities.
- Development/ enhancement and maintenance of a web-based client content and data access portal. This portal allows NMG to deliver reports to our clients and, importantly, builds out specific interactive dashboards for data visualization. The existing portal has been built using HTML, CSS, Angular, GIT, .net and SQL server.
- Adhere to or recommend best practice cloud services, software engineering, database, and identity standards and perform team and 3rd party code reviews in accordance with such standards.
- Build prototypes or pilots using new technologies.
- Present solutions and recommendations to stakeholders.
- Perform unit, integration, or system testing (automated or otherwise) on all developed code and / or system components through stringent routines and procedures to ensure accuracy and solution integrity and that solutions run smoothly with optimum operational efficiency.
- Provide feedback on solutions’ usability, features, and design based on results of testing.
- Performance profiling of in-browser code.
Production Support and Maintenance
- Provide exceptional support by applying critical thinking skills to troubleshoot, determine the cause of failure, and quickly restore failed components or processes when they occur; Diagnose and remediate resource contention issues and failures in application logs.
- Participate in an on-call rotation with the team when necessary, specifically related to customer-facing digital cloud solutions.
- Report and escalate issues to 3rd party vendors if necessary.
- Conduct monthly reviews of incidents and service requests, analyse, and recommend improvement in quality and work with the internal team on identifying pain points in existing Azure deployments and configuration and ways to alleviate them.
- Monitoring applications within Azure (Application Insights) & constantly monitoring and improving our non-Azure live sites with frontend monitoring. Working experience in hardening cloud production environments for error handling, fault tolerance, self-healing, monitoring and incident alerting and recovery beneficial.
Other Critical Deliverables:
- Training and Mentorship: Provide technical training and mentoring to other teams and team members and organize and execute training sessions for the user base of in-house developments for new workflows and procedure recommendations.
- Documentation: Originate and maintain documentation for new and existing solutions throughout the solutioning life cycle, covering all applicable functional areas, such as bugs, change requests, operational policies and procedures, solution designs, integration and API specifications, technical specifications, test plans and test results, production control (and / or job scheduling), security administration & TSQL code where applicable.
- Our values: Living the NMG values of Collaboration, Curiosity, Go for It, and Make it Count in all that you do.
YOUR EXPERIENCE & CAPABILITIES
The successful candidate for this role will be able to demonstrate:
- Strong organisational abilities and high attention to detail.
- The ability to thrive within a small team whilst also working independently.
- Agility in approach, reacting positively to change and shifting priorities.
- Effective communication skills and the ability to collaborate cross-group or cross-geo.
- Working well under pressure with excellent time management skills.
- A passion for technical excellence and a flair for user experience and design.
- Excellent analytical, process design and problem-solving skills.
- Resourcefulness and troubleshooting aptitude.
- Ability to communicate technical needs and solutions with non-technical staff and comfortable performing component demonstration for key business stakeholders and project managers.
Technical Capabilities should encompass the following:
- Experience in multiple or all Azure components, including: Logic Apps, API Management, Event Grid, Service Bus, Data Factory, Functions, Resource Manager Templates, Storage Accounts, Notifications Hub, Key Vault, DevOps, SQL database or similar cloud infrastructure (5+ years’ experience and deep expertise in the Software Development Lifecycle as applied to Azure service deployments preferred), including C#, .NET, and Visual Studio (ASP.Net, MVC, MVVM).
- SQL server development and TSQL coding.
- Infrastructure automation for continuous integration and continuous deployment of technical solutions leveraging Azure Services and Features.
- Responsive design and mobile first approach
- Modern version control Git, SVN, TFS, etc.
- Knowledge of HTML Graphics (Canvas, SVG)
- Prefer experience with D3 chart library (but not required)
Experience that will make you stand out:
- Being able to conceptualize the full project life cycle.
- QA testing.
- Azure Policy and Security Centre, Azure Monitor, including configuring and maintaining diagnostic settings, log analytics, and application insights.
- SQL Server and building complex Programming using TSQL code and troubleshooting complex stored procedures and datasets.
- Managing and optimizing cloud costs associated with development.
- Power BI.