BIM&CO
Senior Software Developer — 2020 – 2025 — Full-Time Remote
BIM&CO is a BIM data company, part of Trace Group, providing SAAS B2B products. Team of 6 people, Agile methodology.
Key Achievements
- Refactored Core Feature (CF) in its V4/XML: ~2k LOC transformed into 10+ specific action classes. Re-developed in V5/JSON/async, scalable
- Indexing from 2days down to 20m, async/await, slim semaphore
- Scaled Core Feature V5 using Workers, Queuing, K8S and Auto-Scaling, with unit testing via a dedicated Docker Compose framework
- Relived ~800 existing unit tests from non-working state to running in ~20 minutes
- Developed a multi-threaded execution framework, encapsulating all tests in async lambdas for parallel execution
- Semi-integrated testing, connecting Domains & Infrastructures specifically for testing
- Developed a generic IUseCase<TUseCaseRequest, TUseCasePayload> framework enabling testing and development within the Business layer while simulating complete workflows: TDD, Ports/Adapters
- Created a small test framework by generalization, each unit test targets a specific feature and a workflow implemented in the test
- Developed New Product in Extreme Programming (X.P.) with Unit Testing
- New big-data project with low-latency expectations
- Complete DX experience front & back-ends, backend developer push, frontend pulls and build and use docker image
- Set up OpenAPI with TypeScript and C# code generators
- Built an Aspire testing layer on top of .NET Aspire to reduce test boilerplate
- Set up SignalR with TypeScript client generation
- Developed front & back-end developer scripts: automatic TypeScript client regeneration when backend contract changes, etc.
- Developed PfDev — a developer assistance tool managing the full development lifecycle on a workstation
- Visual Studio management, dev environment (required apps like async server), compilation, unit testing, coverage
- Instance lifecycle: creation, setup, auto-configuration, up/down
Get-DockerCompose Stop,Rm,Up -Force -RmVolumesNew-Instance -GitBranch "features/my-feature" -UpdateSources- From 5days setting up computer down to hours
- Extracted Core Feature and made it a Distributable task, making it scalable
- Complete reorg. of feature implementation to be scalable using distributed queue, workers, saga-pattern alike
- Reworked Zip feature using AWS S3, async/await, Workers, Queuing, Auto-scaling, with unit testing
- Automated Git migrations of working instances from GitLab to GitHub, then to Azure
- Docker: multi-stage Dockerfile optimizations
- Docker Compose: PowerShell scripts for a new project, facilitating testing and development in X.P.
- Proposed a mini tech plan for the tech team to reorganize toward more Agile: SOLID, DDD, templates, Workers, Queuing, Distributed Tasks, async/await, dependency upgrades, .NET Framework version upgrades. Analyzed the codebase to identify large perimeters that could be isolated for refactoring
- First migration of a perimeter from legacy code to a new distributed system: isolated API, generated clients, specialized Workers, in new Projects within the Solution
- Integrated OpenID
Also: Debugging, Unit Testing, Design
Tech Stack
C# .NET 6-9 ASP.NET Visual Studio VSCode Aspire Web API Workers Distributed Computing Messaging SignalR OpenAPI OpenID Docker K8S PowerShell WSL Azure AWS