Software Architect Senior Developer
Job Summary
Role Title: Software Architect / Senior Developer (Mining CAS / AHS)
Location: Perth Western Australia
Schedule: Full-Time (5/2 Schedule)
Experience Required: 10 to 15 years
Role Overview
We are seeking a highly experienced and visionary Software Architect / Senior Developer to join our technology team in Perth. With over 1015 years of industry experience the ideal candidate will lead the design development and delivery of sophisticated enterprise-grade solutions. A significant focus of this role involves working on Collision Avoidance Systems (CAS) and Autonomous Haulage Systems (AHS) 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 requirement and technical understanding.
- Tracking & Statusing: Conduct daily/weekly project tracking and reporting to maintain transparency on progress and milestones.
Required Skills & Competencies
1. 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 Optimization: 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.
2. 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.
3. 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.