S – Situation
Customer’s product development team needed a full‑stack developer to advance the truck scale system. The initial team comprised one developer/architect from the client and a Product Owner; as the project progressed, a couple of customer’s own developers joined.
T – Task
- Building new features: Implement traffic‑light status monitoring and control in the React user interface; add new fields to weighing data (license plate number, additional info) and display them on receipts and in the reporting interface.
- Extensive refactoring: Remove old, unused code modules and projects and simplify the structure of DTO classes.
- Integrations & architecture: Ensure seamless data flow between MQTT messaging, the C++/Qt backend and the React frontend.
- Quality assurance: Write unit tests, integration tests and UI unit tests.
A – Actions
Feature development
- Built a traffic‑light control and status monitoring module in React that communicates with the C++/Qt backend via an MQTT bus.
- Added a license plate number and other new fields to the weighing data and updated the receipt and reporting UI to display these details.
Refactoring
- Removed years‑old redundant code blocks and introduced a library to simplify DTO structures.
Test automation
- Wrote an extensive suite of unit and integration tests for the backend as well as unit tests for React components on the frontend.
Process support
- Facilitated the team’s retrospectives and, together with the Scrum Master, carried forward improvement suggestions—some were escalated to the CEO when broader process changes were needed.
R – Results
- Features & quality: Delivered three key new features (traffic‑light control, extended weighing data fields and updated receipt generation) on schedule and without critical bugs in production.
- Code clarity: After refactoring, DTO models were clearer and test coverage increased, accelerating the development of new features; removing unnecessary code significantly reduced the amount of code requiring maintenance.
- Teamwork & processes: Regular retrospectives produced concrete improvement ideas. The Scrum Master escalated these to upper management when necessary, ensuring that important process improvements were addressed at the right level.
Tools & Technologies
- Languages & Frameworks: Java, Spring Boot, TypeScript, React, C++/Qt, AngularJS
- APIs & Testing: REST, WebSockets, MQTT; JUnit, Mockito, Jest, Qt Test, Spock
- DevOps: Docker, GitHub, Jenkins
- Database: Couchbase
- Collaboration: Trello, Reetro