Senior Software Engineer
2021 - PRESENTFugro- Developed a desktop application capable of displaying large underwater surveying geodata with point clouds of up to one billion points.
- Created back-end systems to facilitate various geospatial data transformations.
- Developed automated tests and CI/CD workflows using GitHub Actions.
- Organized knowledge-sharing sessions and helped mentor developers and share knowledge.
Technologies: C++, OpenGL, Qt, Amazon Web Services (AWS), TypeScriptDeveloper
2020 - 2021EIC Activities- Developed and maintained several microservices to undertake 3D mesh conversion and generation, allow integration with external systems, and handle authentication and authorization.
- Developed and maintained a 3D desktop application in Unity capable of displaying, creating, and editing 3D construction models, construction plans, and animations with multiplayer support.
- Mentored junior developers and helped establish modern software practices.
Technologies: C#.NET, Azure, Unity, Oracle, SQL, MySQL, Microservices, TypeScript, Node.jsTeam Lead
2019 - 2020Fugro- Headed a development team and mentored other developers.
- Managed sprints, Kanban boards, and ticket backlogs. Performed project management tasks like interfacing with the client for feature requests, bug reports, etc.
- Developed a back end based on event sourcing capable of tracking all changes made to a project and rollback, allowing viewing the state at any particular time. This system was later adopted globally throughout the company.
- Created algorithms for generating meshes derived from point clouds on the GPU rather than the CPU, making generation 1,000 times faster than traditional methods by removing the need for several complicated computation systems.
- Developed advanced caching and compression algorithms, schemes, and procedures to efficiently load, update, and export changes made to large point clouds.
- Implemented application integration with single sign-on (SSO) providers like Auth0 and Azure Active Directory (Azure AD).
- Established software development practices and guidelines.
Technologies: C#.NET, C++, OpenGL, SDL, GLSL, Go, TypeScript, Amazon Web Services (AWS), Microservices, Auth0, OAuthSenior Software Engineer
2018 - 2019Fugro- Implemented and administered web servers and databases for dealing with triggering long-running compute jobs, user authorization, and user-lockable spatial assets to prevent simultaneous access, etc.
- Deployed software using high-availability services like AWS S3, Elastic Load Balancing (ELB), Amazon ECS, AWS CloudFormation, Amazon CloudFront CDN, and AWS Route 53.
- Developed high-availability job and workflow management systems using Apache Airflow and AWS Batch.
- Implemented CI/CD pipelines for deploying back-end services to AWS and building Unity desktop applications using Jenkins, Docker, and infrastructure-as-code technology, such as Terraform and AWS CDK.
- Integrated an application and back-end system with external APIs throughout the organization.
- Mentored junior developers and led knowledge-sharing sessions.
Technologies: C#, .NET, HLSL, OpenGL, Unity, Go, TypeScript, Node.js, Python, Julia, Amazon S3 (AWS S3), Amazon Web Services (AWS), Jenkins, Terraform, MicroservicesSystem Developer
2015 - 2018Subtonomy- Developed data processing systems capable of processing many terabytes of mobile network data daily with hard latency constraints. The systems were built to scale to several million users on a constrained, on-premise hardware budget.
- Created several single-page web applications and corresponding servers to display said data in a user-friendly way in order to express overall telecommunication network health.
- Managed operations in terms of maintaining on-premise servers, monitoring server uptime and performance, managing deployments and distribution of patches, updates, etc., and implementing monitoring systems.
- Developed and maintained SQL databases requiring high throughput and low latency by hierarchically aggregating data, applying CQRS patterns, choosing specialized database engines, and applying acceleration indexes to tables.
- Headed a development team and mentored junior developers.
Technologies: JavaScript, Java, Apache Kafka, Spark, Bash, Linux, Machine Learning, SQL, PHP