Services
Software engineering
We build new applications, modernize old ones and keep production running. You can engage a team for an outcome or bring in engineers to work with yours.
What organizations bring us
Software projects go wrong in predictable ways: the problem was not understood, the architecture could not carry the load, testing came last, or nobody planned for operations. Technology choice matters less than these habits.
Our delivery process covers the whole path from product discovery to operations, and we separate two kinds of work that are often confused. Greenfield development builds something new. Brownfield modernization changes something that is already running and already depended on. They have different risks and need different plans.
Delivery, end to end
- Product discovery Users, outcomes and scope
- Architecture Structure, data and integration
- UX and UI Flows, prototypes, accessibility
- Sprint planning Backlog and cadence
- Engineering Build with review and CI
- Testing Automated and exploratory
- Security validation Threat model, scans, test
- Deployment Pipeline and progressive rollout
- Operations Monitoring, support, iteration
Greenfield and brownfield are different jobs
Greenfield: build something new
Freedom to choose, with the risk of building the wrong thing.
- Most effort goes into discovery and design choices
- Early releases to real users reduce risk
- Architecture can fit the need without legacy constraints
- Success depends on scope discipline
Brownfield: change what is running
Constraints are known, but so is the cost of breaking them.
- Most effort goes into understanding behavior and data
- Change in slices, with the old system running
- Tests are written around existing behavior first
- Success depends on equivalence and a safe rollback
What our engineers build
-
Custom enterprise applications
Internal systems, workflow tools and portals built for how your organization works.
-
Web applications
Server-rendered and single-page applications with accessible, tested front ends.
-
Mobile applications
iOS, Android and cross-platform apps with a shared back end.
-
Backend and APIs
Services, data access, authentication and authorization, versioned APIs.
-
Microservices and cloud-native
Decomposition where it pays off, with the operating model to run it.
-
Modernization
Rehost, replatform, refactor or replace aging applications in controlled steps.
-
Database development
Schema design, query tuning, migration and data access layers.
-
Quality engineering
Test strategy, automation, performance and reliability testing.
-
Application support
Incident handling, defect fixing, enhancements and release management.
Seven specialist services
Services
Each has its own page with scope, method and deliverables.
CSD Custom software development New applications built to a defined need.
- What it covers
- New applications built to a defined need.
- What we do on projects
- Discovery, design, build, test and release.
- Where projects go wrong
- Scope growth without a decision.
- Roles we staff
- Product owner, architect, engineers, QA
MOD Application modernization Aging applications moved to current platforms.
- What it covers
- Aging applications moved to current platforms.
- What we do on projects
- Assessment, strangler pattern, replatforming.
- Where projects go wrong
- Hidden business rules.
- Roles we staff
- Architect, senior engineers
API Enterprise API integration APIs and integrations between systems.
- What it covers
- APIs and integrations between systems.
- What we do on projects
- Contracts, gateways, security, monitoring.
- Where projects go wrong
- Unversioned changes.
- Roles we staff
- Integration engineer, API architect
MSV Microservices transformation Splitting monoliths where it helps.
- What it covers
- Splitting monoliths where it helps.
- What we do on projects
- Domain boundaries, data ownership, platform.
- Where projects go wrong
- A distributed monolith.
- Roles we staff
- Architect, platform engineer
PRD Product engineering Engineering for software products, from first release on.
- What it covers
- Engineering for software products, from first release on.
- What we do on projects
- Roadmap, architecture, multi-tenant design, releases.
- Where projects go wrong
- Technical debt accepted without limits.
- Roles we staff
- Tech lead, full-stack engineers
QE Quality engineering Test strategy and automation.
- What it covers
- Test strategy and automation.
- What we do on projects
- Framework, pipeline gates, performance tests.
- Where projects go wrong
- Flaky tests that teams ignore.
- Roles we staff
- SDET, QA lead
SUP Application support Running and improving what is live.
- What it covers
- Running and improving what is live.
- What we do on projects
- Triage, fixes, releases, knowledge base.
- Where projects go wrong
- Support without monitoring.
- Roles we staff
- Support engineer, developer
Technology we work with
We choose technology to fit the team and the problem. These are the areas where our engineers have experience.
Back end
- Java
- Spring Boot
- .NET
- C#
- Python
- Django
- FastAPI
- Node.js
Choice usually follows your existing skills and hiring pool.
Front end
- React
- Angular
- Vue
- Next.js
- TypeScript
Accessible components, tested, with a design system if you have one.
Data
- PostgreSQL
- SQL Server
- MongoDB
- Redis
Relational by default. Other stores when the access pattern calls for them.
Messaging and runtime
- Kafka
- Kubernetes
- Docker
Used where the scale and team justify the operating cost.
Engineers we place
Staffing is a separate engagement from project delivery. You can use either, or both.
-
Java or .NET developer
Builds enterprise services and APIs.
- Spring Boot or ASP.NET
- SQL
- testing
- API design
-
Full-stack developer
Delivers features across front end and back end.
- TypeScript
- React or Angular
- Node.js or Python
- SQL
-
Python developer
Builds services, data tooling and automation.
- Django or FastAPI
- SQL
- testing
- packaging
-
Software architect
Sets structure and standards.
- Domain modeling
- integration
- non-functional requirements
-
SDET or test automation engineer
Builds test frameworks and pipelines.
- Selenium or Playwright
- API testing
- CI
Related technology
Listed as technologies our engineers work with. This is not a statement of vendor partnership or certification.
Questions people ask
Do you build mobile apps?
Yes, through engineers with iOS, Android and cross-platform experience. See product engineering.
Fixed price or time and materials?
Either, depending on how well scope is defined. A short discovery phase usually comes first. See engagement models.
Do we own the code?
Ownership terms are set in the contract. Our default expectation is that you own what we build for you. Third-party and open-source components keep their own licenses.
Can you take over an application someone else built?
Yes. We start with a code and operations review so we know what we are accepting.
Related
-
DevOps and platform engineering
CI/CD pipelines, infrastructure as code, Kubernetes, GitOps, observability and internal platforms that help engineering teams ship safely.
-
Legacy modernization
Assess and modernize aging applications and platforms: rehost, replatform, refactor, replace or retire, with a plan that keeps the business running.
-
Engagement models
Eight ways to work with us, explained plainly, with a short tool to suggest which to discuss first.
Have a technology challenge? Let’s work out the approach.
Discuss a project
Tell us the current system, the target and the timeline. A technical lead replies to talk about scope.
Start the project briefRequest technical talent
Need consultants inside your team rather than a project owner? Send the requirement.
Request talentBecome a partner
Delivery firm, staffing supplier or consulting partner? Register your company.
Register as a partner