Work

Coolblue - Software Developer

An image of Carl Reid in a chair wearing a Santa Hat, and Christmas Jumper. In the background there is a stack of Cool Blue boxes, and Christmas trees.
C#
.NET
.NET Core
Web API
AWS
React
TypeScript
SASS
Cake
PowerShell
TeamCity
Git
GitHub

Full stack development as part of the Stock Management Team that automates part of the ordering process of Coolblue by using methodologies such as Agile, DDD, TDD and other software craftsmanship best practices.

As a full stack developer at Coolblue, I worked as part of the Stock Management team who was responsible for automating part of the restocking/ordering process of Coolblue. A lot of “software craftsmanship best practices” are used at Coolblue, and wow, did I learn a lot during my time here. I got to use ways of working/methodologies such as Agile, Scrum, DDD, and TDD. Amazingly, none of my previous companies utilized anything like this and was kind of like a headless chicken running between project demands.

Coolblue is also a very international company (at least in the Tech Department) which was wonderful for me being an international myself. There were so many different personalities and cultures, which really is something to try. Colleagues in my team came from Belarus, Colombia, Netherlands, Portugal, and Zimbabwe; with many more in tech from of course many more countries.

The focus on DDD, testing, and Architecture is something that I think will stay with me through my career. I learnt so much about how important it was to separate concerns in software development, and how each module in an application should have a clear responsibility. This is where Domain Driven Design (DDD) comes in – by modeling the core domain of an application, we can keep the focus on the heart of the business logic while keeping the code modular and reusable.

Testing is another key area where I learned the value of taking a structured approach. Writing tests upfront creates a safety net for development, and helps in spotting issues early on. A good test suite also acts as documentation for the code, and creates confidence when making changes to the application.

Architecture is the foundation of any application, and I realized its importance while working with different types of projects. A well-architected application is easy to maintain and extend, while a poorly architected one can quickly become a nightmare to work with. This is why it’s essential to have a solid understanding of software design principles, patterns, and anti-patterns.

Pair programming has also been a valuable experience, where I was exposed to different coding styles, techniques, and perspectives. It’s a great way to learn from each other, and solve problems collaboratively. When reviewing code, I always try to apply best practices and look for any potential optimizations. Security is also a top priority, and I ensure that any security problems are raised and addressed promptly.

During my time at Coolblue, I contributed to several significant achievements (at least personally) that I am proud of:

Migration from a Static MVC to Hybrid App: One of my most significant achievements was to migrate a static MVC website to a hybrid application using React, Typescript, and Jest. This migration was not only a major technological upgrade but also helped to improve the performance and user experience of the application. As well as bring in a more “modern” approach to Front End development which would potentially mean attracting new employees more easily.

Improving Knowledge of Frontend Technologies: Another achievement that I am proud of is improving the knowledge of the Stock Management team regarding React, Typescript, and other new ways of thinking and working. I worked hard to share my knowledge with my teammates, and helped them become proficient in using these technologies.

Confetti Release Notes Page: Building a confetti release notes page. Yes that’s right; our users loved it! Was one of the most rewarding experiences to get such great feedback on actually a pretty simple addition. The page has still been so popular that my former team members have even since forwarded me positive feedback after leaving, and other teams in Coolblue asked if they could use it for their own projects.

My role required a range of skills, including Representational State Transfer (REST), Development Tools, Communication, Cloud Development, Agile Development, C#, .NET, Continuous Integration, Scrum, ASP.NET, SQL, Windows, GitHub, Git, Language Integrated Query (LINQ), Amazon Web Services (AWS), React.js, Web Services API, ASP.NET Web API, Continuous Integration and Continuous Delivery (CI/CD), and TypeScript. I kept myself updated on the latest advancements in these technologies to deliver the best solutions to our customers.

I’d say my role as a Full Stack Developer at Coolblue was very fulfilling. I was able to contribute to the success of the project, and have vastly improved my knowledge and skills in Software Development and Architecture. I am super grateful for the opportunities I had at Coolblue, and for working with such great colleagues. It was very difficult to say goodbye to the team, but I had plans to move to and work in Denmark 🇩🇰.