24 Sep
|
Flexischools
|
Surry Hills
24 Sep
Flexischools
Surry Hills
Role Purpose The Senior Full-Stack Engineer designs, develops, tests, implements and supports scalable software applications and systems across the Flexischools platform.
This role has a strong backend engineering focus, working primarily with C#, .NET, ASP.NET Core, AWS and distributed services, while also contributing to customer-facing applications using ReactJS and TypeScript.
The engineer designs maintainable services and APIs, applies strong software architecture and Domain-Driven Design principles, and contributes across the full software development lifecycle from requirements analysis and design through to production support.
As a senior engineer, the role also influences technical direction within the squad, contributes to engineering standards, and supports the growth of other engineers through collaboration, mentoring and code reviews.
Accountabilities
- Deliver high-quality software aligned with product priorities, architectural direction and engineering standards.
- Research, analyse and evaluate system and program requirements to inform software design and effective technical solutions.
- Design, develop, modify, test, implement and maintain backend services, APIs, integrations and supporting web applications.
- Contribute to technical design and architecture, with a focus on maintainability, scalability, reliability and clear domain boundaries.
- Work closely with Product, Engineering and other stakeholders to translate business requirements into effective technical solutions.
- Apply appropriate automated testing, observability, security and quality practices throughout the development lifecycle.
- Own software through to production, including deployment, monitoring, troubleshooting and incident resolution.
- Write, update and maintain technical documentation, engineering standards and records of significant design decisions.
- Identify and mitigate risks affecting software performance, reliability and security.
- Mentor engineers, provide constructive technical feedback and contribute to a strong engineering culture.
Role Specifics
- Design, develop and maintain backend services and APIs using C#, .NET and ASP.NET Core.
- Apply Domain-Driven Design, Onion Architecture, SOLID principles and other appropriate software design patterns to create maintainable systems with clear separation of responsibilities.
- Design domain models, application services, APIs, persistence layers and integration patterns that support evolving business requirements.
- Identify technology limitations and deficiencies in existing systems, and modify or modernise software to correct errors and meet changing requirements.
- Build and maintain distributed and microservice-based systems operating within AWS.
- Work with AWS services and infrastructure to deliver secure, scalable, observable and resilient applications.
- Contribute to CI/CD pipelines, infrastructure automation, deployment practices, monitoring and other DevOps responsibilities as part of normal software ownership.
- Manage testing and automation of software deployments to support reliable, repeatable releases.
- Develop and maintain frontend applications using ReactJS and TypeScript where required, enabling delivery of features across the full technology stack.
- Build well-structured frontend components and integrate applications effectively with backend APIs and services.
- Design and integrate REST APIs, asynchronous messaging, third-party integrations and other service-to-service communication patterns.
- Work with relational databases and persistence technologies, including Entity Framework and SQL.
- Implement automated unit, integration, contract and end-to-end testing appropriate to the solution.
- Test, debug, diagnose and correct errors and faults across development and production environments.
- Collect and analyse operational metrics to monitor performance, reliability and quality, and drive continuous improvement.
- Participate in architecture discussions and technical decision-making within the squad, documenting significant decisions where appropriate.
- Conduct code reviews and help maintain strong engineering standards across the codebase.
- Support production systems through monitoring, troubleshooting, root-cause analysis and implementation of sustainable fixes rather than short-term workarounds.
- Identify opportunities to simplify systems, reduce technical debt and improve developer experience and operational reliability.
Skills & Experience
Essential
- Tertiary qualification in Software Engineering, Computer Science or a related field, or equivalent commercial experience (typically 5 years).
- Strong commercial experience with C# and modern .NET.
- Strong experience building APIs and backend applications using ASP.NET Core.
- Strong understanding of object-oriented design, SOLID principles, dependency injection and automated testing.
- Experience applying architectural patterns such as Onion Architecture, Clean Architecture or similar layered approaches.
- Practical experience with Domain-Driven Design concepts, including domain modelling, bounded contexts, aggregates, and separation of domain and infrastructure concerns.
- Solid experience designing and developing REST APIs and service integrations.
- Experience with Entity Framework Core and relational databases such as SQL Server or PostgreSQL.
- Strong understanding of distributed systems and microservice architectures.
- Experience building and operating applications in AWS.
- Experience with DevOps practices including CI/CD, automated deployments, infrastructure configuration, monitoring and production support.
- Commercial experience with ReactJS and TypeScript, with the ability to contribute effectively to modern frontend applications.
- Strong understanding of software engineering quality practices, including automated testing, code reviews, observability and secure development.
- Experience taking ownership of software through design, implementation, deployment and production operation.
- Strong communication and collaboration skills, with the ability to work effectively across engineering, product and other business functions.
Highly Desirable
- Experience with AWS services such as ECS, API Gateway, SQS, SNS, EventBridge, RDS, CloudWatch or similar.
- Experience with Docker and containerised application deployment.
- Experience with event-driven architecture and asynchronous messaging.
- Experience designing systems around complex business domains and transactional workflows.
- Experience with infrastructure-as-code technologies such as AWS CDK, Terraform or CloudFormation.
- Experience with authentication, authorisation, identity and role-based access control.
- Experience working with payment systems or other high-volume transactional platforms.
- Experience improving legacy systems or progressively modernising existing applications.
- Experience with Azure DevOps and Jira.
- Previous experience mentoring engineers or providing technical leadership within a delivery squad.
Pay: $120,000.00 – $130,000.00 per year
Work Location: Hybrid remote in Surry Hills NSW 2010
📌 Senior Full-Stack Engineer (Surry Hills)
🏢 Flexischools
📍 Surry Hills