Software Architect / Senior Developer
Job Description:
We are seeking an experienced Software Architect / Senior Developer to join our technology team in Perth. With 8-10 years of industry experience, the ideal candidate will lead the design, development, and delivery of sophisticated enterprise-grade solutions within the mining sector. You will act as a bridge between high-level architectural standards and hands-on product development, driving the modern technological landscape of our operations.
Key Tasks & Responsibilities
Architectural Design & Planning
- Enterprise Alignment: Understand, uphold, and apply enterprise-level design and architectural principles.
- Requirement Discovery: Facilitate discussions on both functional and non-functional requirements with solutions/software architects.
- Detail Design Documentation: Prepare and maintain comprehensive detailed design documents (including sequence diagrams, prototypes, data flow diagrams, and reference architectures).
- Design Governance: Actively engage in, lead, and secure approvals during collaborative design reviews.
- Estimation & Roadmapping: Lead estimation and planning sessions for technical components within an Agile framework.
Development, Delivery & Quality Assurance
- Hands-on Engineering: Perform hands-on development and coding to build reliable, high-performance product code, ensuring 100% unit-test coverage.
- Impediment Resolution: Proactively highlight technical blockers and work collaboratively towards swift resolutions.
- Standard Compliance: Ensure that all software deliverables adhere tightly to quality and security guidelines as mandated by enterprise standards.
- Continuous Feedback & Demo: Regularly demonstrate project deliverables to stakeholders and execute thorough playbacks of requirements and technical understanding.
- Tracking & Statusing: Conduct daily/weekly project tracking and reporting to maintain transparency on progress and milestones.
Required Skills & Competencies
Conceptual Skills
- Microservices Architecture: Solid understanding of decoupled microservices and service-oriented environments.
- Containerization: Practical experience with containerization concepts and their operational capabilities.
- Messaging & Integration: Strong grasp of service communication paradigms and message queues (MQ).
- Performance Optimisation: In-depth understanding of caching patterns and strategies to scale applications.
- Modern API Paradigms: Proficiency in headless API concepts and Event-Driven Architecture (EDA).
- Agile Methodology: Experience executing projects in a highly collaborative, fast-paced Agile environment.
Technical Skills
- Programming & Frameworks: C#, .NET Core, React, and TypeScript.
- Concurrency & Distributed Systems: AKKA Framework.
- API Management: Swagger / Async API, including the concept of Swagger clients.
- Data & Message Brokering: C# coding specifically targeting RabbitMQ and Redis integrations.
- Deployment & Ops: Container orchestration and deployment using Docker and Kubernetes.
- AI Tooling: Advanced usage of modern developer AI toolsets such as Claude Code and Codex for efficient programming.
- UI/UX Appreciation: Experience with UI/UX Design concepts, Figma, and wireframing toolsets.
Behavioral Skills
- Strong Articulation: Excellent ability to explain and diagram detailed designs (data flow, sequence, etc.) to technical and non-technical audiences.
- Accountability: Clear definition of “Definition of Done” (DoD) and commitment to achieving it.
- Presentation Skills: Strong presence to demonstrate features, playback requirements, and validate alignment with business goals.
- Problem-solving Mentality: Ability to highlight bottlenecks early and bring positive, constructive resolutions to the table.