

Software Engineering
Nebulaworks knows that high-performing engineering teams write and maintain great software.
Our Software Engineering Philosophy
High-performing engineering teams leverage sound computer science and software engineering fundamentals to create, deploy, and maintain services and infrastructure to gain speed, consistency, and enable asychronus collaboration.
Process
How the Nebulaworks Software Engineering approach delivers high-quality services and platforms.
Implement a Development Methodology
Code drives business outcomes and managing development, release, and fixes are critical. We leverage Trunk-Based Development to facilitate the SDLC.
Represent Everything as Code
From service definitions, tests, to documentatation, everything is code and is treated the same. No out-of-band changes, everything follows the development process.
Fully Automate Testing and Builds
Going beyond test driven devleopment, we seek to have testing frameworks and tools for all stages of the SDLC, from formatting to service tests, and are used as the foundation for builds.
Manage Planning and Execution
We know that robust software delivered to a production status requires rigor and discipline to create, manage, and burn down issues. We favor engineer-led sprint planning and standups.

Background - Bridge

Where people and process interesect to drive business outcomes.
Quickly Onboard and Deliver Code
Allow feature and operations teams the ability to onboard additional resources quickly and effectively through transparency and reduction in tribal knowledge.
Enhanced Team Collaboration
Through the extensive use of the commit, review, and commentary practices in source code management, drive discussion and ideation resulting in better code.
Accurate Effort Tracking
Accurately estimate effort to complete development and operations tasks at any time through the story points assigned to tasks using the Fibonacci sequence.
Mitigate Risk
Using a disciplined approach to development provides the short and long-term ability to adapt and extend code resulting in well-known characteristics.
It's not all about the tools.
It's all about the team.
Technological and cultural change starts when the focus is on developing the team's skillset, collaboration, and process to deliver software.