Overview
This project is a commercial desktop application I am working on during my Software Engineer role at Cerberus Software Solutions.
The application helps staff manage business records such as customers, jobs, invoices, workers and work sites in one structured system. I am building most of the application myself, apart from the database side, which gives me practical experience with C#, WinForms, SQL-backed workflows and real business requirements.
It is included because it shows commercial software development experience beyond university projects, including building features for staff workflows, debugging issues and working with a business-focused application.
Confidentiality note
This project involves internal business software, so the case study is intentionally anonymised.
It does not include customer data, private screenshots, database screenshots, credentials, source code or sensitive business logic. The focus is on the type of work, technologies used and what I am learning from the project.
Business problem
Staff need software to manage important business records and workflows more efficiently.
The application supports areas such as:
- Customers.
- Jobs.
- Invoices.
- Workers.
- Work sites.
- Business records.
- Related administrative workflows.
The main value of the application is bringing these areas into a structured system that supports day-to-day staff processes.
My role
My role involves building most of the desktop application myself, while working with the database structure and requirements already connected to the project.
This includes:
- Building screens and features in C# and WinForms.
- Connecting interface actions to SQL-backed data.
- Understanding how different business records relate to each other.
- Debugging issues during development.
- Testing changes against expected staff workflows.
- Learning how to work with real business requirements rather than isolated coursework tasks.
Feature areas worked on
The application covers several business workflow areas, including:
- Record management.
- Customer-related information.
- Job-related information.
- Invoice workflows.
- Worker and site information.
- Internal staff processes.
This gives me experience building software where the interface, business logic and data all need to work together clearly.
Database-backed workflow
The project is not just a static interface. User actions in the application connect to stored business records, so the work requires understanding how the screens, workflows and data link together.
This means thinking about:
- How staff use each feature.
- What data needs to be shown, added or updated.
- How different records connect.
- How to avoid breaking related workflows.
- How to debug issues when the problem involves both the interface and the data behind it.
Working with existing requirements
A major part of the project is understanding what the software needs to do for the business.
This is different from a personal project because the features need to support real staff processes. The work needs to be practical, reliable and understandable for people using the application as part of their day-to-day work.
This helps me practise:
- Turning business needs into working features.
- Reading and understanding the existing project structure.
- Tracing how data moves through the application.
- Testing changes carefully.
- Asking better questions when requirements are unclear.
Debugging and maintenance
Debugging is an important part of the work.
The application supports real workflows, so fixes need to be careful and practical. The aim is not only to make the code run, but to make sure the software behaves correctly for the people using it.
This includes thinking about:
- What the user is trying to do.
- What data is being read or written.
- Whether a change affects related screens or records.
- How the existing workflow expects the data to behave.
Technologies used
The main technologies and skills involved are:
- C#.
- WinForms.
- SQL.
- Database-backed workflows.
- Debugging.
- Desktop application development.
- Commercial software development.
Challenges
The biggest challenge is learning C# while also building software for a real business context.
I need to understand how WinForms applications are structured, how the application connects to data, and how each feature fits into the wider workflow. The challenge is not only writing code, but making sure the software supports the way staff actually need to work.
Current value
This project is giving me practical commercial software development experience with C#, WinForms and SQL-backed workflows.
It is helping me build confidence working on a real business application, creating features that connect interface screens with stored records and staff processes. It is also giving me a better understanding of how software is shaped by business needs, existing systems and practical day-to-day use.
What I am learning
This work is helping me understand that commercial software engineering is not only about building new features. It also involves understanding requirements, working with existing systems, debugging carefully and making sure changes support real users.
I am also gaining confidence with C#, WinForms and database-backed application development, while learning how to think more carefully about business workflows and maintainability.
Future improvements
Future improvements could include:
- Clearer interface structure.
- Better automated tests.
- Improved internal documentation.
- More consistent validation.
- More modern UI patterns.
- Stronger separation between interface, business logic and data access.