Senior Software Engineer
Role details
Job location
Tech stack
Job description
technology that revolutionises how infrastructure and buildings are designed and engineered; reducing waste, cutting CO , and making the built environment more efficient and sustainable. This is where software has measurable, real-world impact. With our AI Engineering team we've created a unique setup: a lean, highly technical team with the speed and ownership of a start up, backed by the scale, resources, and domain expertise of one of the world's leading engineering firms. There has never been a better time to be at AECOM. We are leading the industry's AI transformation, and with our people and technology we deliver excellence and innovate with impact. We invite you to bring your bold ideas and big dreams to solve the world's most complex challenges. We're one global team driven by our common purpose to deliver a better world. Join us. What You'll Do As a Senior Software Engineer, you'll work at the intersection of software engineering and machine learning operations. This role is, The role involves working at the intersection of software engineering and machine learning operations, focusing on core platform engineering tasks like designing services and evolving system architecture. Another part focuses on ML systems, ensuring models run reliably, efficiently, and at scale by deploying, monitoring, and optimizing AI workloads.
Requirements
Python, FastAPI, Flask, Django, ML Model Deployment, Monitoring, Docker, CI/CD, GitHub Actions, Agile, Scrum, Kanban, Database Design, System Architecture, Machine Learning Operations, Software Engineering, intentionally broad. We're hiring multiple engineers with complementary strengths across platform engineering and ML systems. No single person is expected to cover everything. Depth in one area, strong fundamentals, and the ability to collaborate effectively matter more than perfect overlap. Part of the work focuses on core platform engineering: designing and building services, evolving system architecture, improving reliability, resolving issues, and making sound trade-offs in areas such as database design and schema evolution. Another part focuses on ML systems: ensuring models run reliably, efficiently, and at scale, turning research into production-ready tools. This includes deploying, monitoring, and optimizing AI workloads using Python and solid software engineering practices. Qualifications Must-Have Qualifications Bachelor's or Master's degree in Computer Science, Engineering, or related field (or equivalent experience). Solid programming skills in Python (plus experience with frameworks such as FastAPI, Flask, or Django). Hands-on experience with ML model deployment and monitoring in production. Knowledge of containerization (Docker). Experience building CI/CD pipelines (GitHub Actions). Experience working within startups / scaleups. Strong communication skills and a collaborative mindset. Knowledge of Agile delivery models (Scrum/Kanban) and software development best practices. 3+ years of hands-on experience building production-grade systems. Preferred Skills Understanding of optimizing both CPU-bound and GPU-bound workloads. Knowledge of monitoring and observability tools (e.g. Prometheus, Grafana, ELK stack). Experience with Infrastructure as Code (Terraform). Experience with Azure. Identifying and resolving bottlenecks in distributed machine learning workloads (knowledge of low-level languages and CUDA library is a plus). Experience in building design automation products within the construction industry. Additional