Senior Software Developer Role - Xera One
I served as a Full-Stack Developer at the Xera One Technologies start-up, which operates in the inventory management and marketing sector. I started my journey focusing on front-end development using Angular. However, as I gradually familiarized myself with the entire stack, I transitioned into a role predominantly focused on back-end development, specifically developing API services.
Building an Inventory and Marketing Management Systems
Xera One initially focused on developing integrated eCommerce solutions, encompassing inventory management, point of sale systems, and digital menus. As the business evolved, it expanded into the advertising sector, delivering auction-based advertisements via retail rented televisions.
In order to deliver solutions swiftly and maintain a flexible architecture, we adopted DDD, Event Sourcing and CQRS patterns. This strategy facilitated the creation of a highly extensible, maintainable, and scalable solution based on a microservices architecture. It enabled us to better identify and address business needs, and also provided me with an introduction to a development methodology alternative to traditional CRUD operations.
Role and Responsibilities
As a Senior Full-stack Developer at Xera One Technologies, I was tasked with the end-to-end development of integrated eCommerce solutions and marketing applications. Initially focused on front-end development and subsequently transitioned to predominantly back-end roles, while maintaining the ability to work flexibly across the stack.
-
Front-end Development: Utilized Angular for the creation and maintenance of user interfaces in the early stages of projects.
-
Transition to Back-end: Following the initial project stages, transitioned to focus predominantly on back-end development.
-
API Development: Developed robust API services to facilitate communication between different parts of the application.
-
Adoption of DDD/Eventing/CQRS Patterns: Employed Event Sourcing, Command Query Responsibility Segregation (CQRS), and Domain-Driven Design (DDD) patterns to deliver highly extensible, maintainable, and scalable solutions.
-
Microservices Architecture: Built and maintained a microservices architecture to enable flexibility and scalability.
-
Business Needs Identification: Worked closely with business stakeholders to understand and address business needs effectively.
-
Team Collaboration: Worked closely with the team to ensure the delivery of high-quality solutions and contribute to the ongoing improvement of development practices.
- Linux environment using:
- Go
- Ruby / Rails
- PostgreSQL
- Event Store
- Elasticsearch
- Angular
- AWS
- Docker
- Terraform