IFC Engineer (C++)
Job Description:
Job Overview
The Software Engineer (C++ / IFC Quality Checker) will be responsible for the development, maintenance, enhancement, and operational support of the IFC Quality Checker system. This role involves maintaining a cloud-native application that validates Building Information Modelling (BIM) files in IFC4 format against predefined quality rules and generates standardized validation reports.
Project Overview
The IFC Quality Checker is an automated validation platform designed to assess Building Information Modelling (BIM) files in IFC4 format. The system performs quality validation for:
- Architectural models
- Mechanical & Electrical (M&E) models
- Structural models
The application validates BIM models against predefined quality check rules and generates standardized validation reports.
Key Responsibilities
Software Development & Maintenance
- Develop, maintain, and enhance the IFC Quality Checker application.
- Implement bug fixes and performance improvements.
- Update and enhance BIM validation rules and business logic.
- Support new IFC file formats and BIM standards where required.
- Maintain and optimize Docker images and container deployments.
- Manage Amazon ECR repositories.
- Integrate and maintain GitLab CI/CD pipelines within the SHIP/HATS environment.
- Provide application support, issue investigation, and troubleshooting.
- Produce clean, maintainable, secure, and well-documented code.
Cloud Infrastructure & DevOps
- Manage Terraform infrastructure across multiple AWS accounts.
- Maintain AWS cloud resources supporting the application.
- Deploy and manage containerized workloads using Amazon ECS Fargate.
- Monitor application health using Amazon CloudWatch.
- Analyze logs and troubleshoot production issues.
- Maintain deployment automation and infrastructure consistency.
Security & Compliance
- Identify and remediate security vulnerabilities, including SAST findings.
- Implement secure coding practices and cloud security best practices.
- Maintain compliance with RS-NS data classification and government security requirements.
- Manage IAM roles and security policies.
Testing & Quality Assurance
- Develop automated tests using Python and Pytest.
- Support application validation and regression testing.
- Ensure software quality through testing, code reviews, and documentation.
Required Technical Skills
C++ Development
- Minimum 4–7 years of hands-on C++ software development experience.
- Strong knowledge of object-oriented programming principles.
- Solid understanding of memory management and performance optimization.
- Experience maintaining large production codebases.
IFC / BIM
- Experience working with Industry Foundation Classes (IFC).
- Understanding of IFC4 schema.
- Familiarity with Building Information Modelling (BIM) workflows.
- Experience with IfcOpenShell, C++ library is highly preferred.
Python
- Strong Python programming skills.
- Experience with Pytest or similar testing frameworks.
- Ability to develop automation scripts and data processing tools.
Docker & Containerization
- Experience building and optimizing Docker images.
- Familiarity with multi-stage Docker builds.
- Experience managing Amazon ECR repositories.
Infrastructure as Code
- Strong Terraform experience.
- Experience managing Terraform state across multiple AWS environments and accounts.
CI/CD
- Experience designing and maintaining GitLab CI/CD pipelines.
- Experience with SHIP/HATS environments is an advantage.
AWS Experience
Hands-on experience with:
- Amazon ECS Fargate
- AWS Step Functions
- AWS Lambda
- Amazon S3
- Amazon ECR
- AWS IAM
- Amazon CloudWatch
- Amazon Bedrock
Experience
- 4–7 years of relevant software engineering experience.
- Proven experience in modern C++ development.
- Experience developing and supporting cloud-based applications on AWS.
- Experience with containerized applications and DevOps practices.
- Experience maintaining and enhancing production systems.
Preferred Skills
- Experience with IfcOpenShell.
- Experience with Static Application Security Testing (SAST) tools.
- Knowledge of BIM standards and construction industry workflows.
- Experience working in government or regulated environments.
- Familiarity with Singapore Government ICT standards.
- AWS Certifications (Developer Associate, Solutions Architect Associate, or equivalent).