👋 Hi there! I'm AleixSee my stack
I'm currently working as Engineer Manager at Creditas
I'm a Software Engineer that focuses on Software Architecture, Coaching Teams and helping product to deliver in short development cycles faster.
Long version bio
I'm a software engineer with a strong focus on software architecture, best practices and methodologies 👨💻.
I do believe that Test-Driven Development, DevOps, Continuous Feedback and a Growth Mindset helps teams to achieve better outcomes. I base my work on those pilars and I help teams and companies to adopt them as well. 🚀
When I'm not working, I'm usually doing:
- 🧗 Climing
- 🚴 Cycling
- 🎮 Playing
- 🥘 Eating
- 📚 Reading
💪 I'm good at...
- Software Architecture
- Team Player
- Engineering Strategy
- Facilitate Workshops and Discussions
- Filling the gaps in the team when required
😁 I want to do more...
- Work in open source
- Teaching and coaching
- Public speaking
- Work that has some social or cultural good
😔 I don't like...
- To work in a toxic environment
- A role with poor work/life balance
👨💻 Work experience
Engineering Manager at Creditas
As Engineering Manager of a Global team, 50% located in Brazil and 50% located in Spain, my main responsibilities include:1. People Growth
Understanding the team and people's needs, knowing where we're and where we want to be. From there, defining and review the development map.2. Delivery
Combining People Growth meanwhile Delivering Value to the User is always a challenge. Still, with a good mindset and practices, you can combine both in a healthy balance.
I consider Fast and Honest Continuous Feedback combined with Engineering Best practices to be the fundamentals of my work.
From the Engineering side, I use the 4 Key Metrics of DevOps to measure and help the team to make decisions on which areas we should improve first. Whenever needed, I help the team to become familiar and put in practice things like TDD, DDD, Continuous Deployment, Trunk-Based Development, Monitoring & Observability, Infrastructure as Code, Pair Programming, and more.
Regarding Delivery, I focus on understanding the Team Topologies and the relationship with the different stakeholders. By doing this, I help boost the Fast Flow of Change and ensuring that, as a team, we have an End To End Ownership of the product delivery. In essence, build empowered teams.
Outside team, I collaborate with different key people in the company in:
- Training on the 4 Key Metrics of DevOps with other Engineer Managers
- Be part of the Interviewing process, selecting hiring, and being a decision-maker
- Adoption of DevOps practices company-wide
- Helping on finding the best practices on running a Global Team like helping in the adoption of Remote First Practices and Asynchronous Collaboration and Communication
#TDD #DDD #DevOps #CICD #IaC #TeamTopologies #AsyncWork #RemoteWork #GlobalTeam #EmpoweredTeams #4KeyMetrics #TBD #FeedbackCulture #Agile #Lean #AWSMarch 2021 - Now
Tech Lead at Balio
As a Tech Lead, my main responsibilities were in three areas; Software Delivery, Risk Management and Team Growth
Regarding Software Delivery, I bring to the team three proposals; DevOps, Continuous Delivery and Test-Driven Development. I consider those three points to be the backbone to deliver our solutions to the customer faster and stable.
On the other side, on Risk Management, I focus on identifying and mitigating risks around business value, engineering, UX and monetizing. I bring my expertise during product design to see how viable is a solution proposition to business hypothesis, and how we can verify it as faster as possible with the less resources.
Finally, on Team Growth, I consider a key strategy to the success of the company and product to keep growing the capabilities of the team members in their own specific journey. Whenever I can help, I share my expertise to the team members using techniques as Pair-Programming, Tech Huddles or another collaboration sessions that facilitate the knowledge sharing.
Methodologies we do; TDD, CI/CD, XP, Pair-Programming, Kanban Technologies we use: GitHub Actions, AWS [ECS with Blue-Green Deployment, SQS, RDS, CloudWatch], Terraform for Infrastructure as Code, Docker Containers, React, enzyme, jest, Django, pytest, PostreSQL,May 2020 - Feb 2021
Senior Software Consultant at ThoughtWorks
The main responsibilities I have at ThoughtWorks is deliver working software solutions applying the best practices like TDD and CI/CD meanwhile during Pair Programming.
As a software consultant, we are in touch with the Client at daily basis. Part of the job is to manage the client expectations and show the work made during the iterations as showcases.
The project I was working on was an e-commerce product. We had a microservice architecture plus a Continuous Deployment system and pushing into production more than five times a day.
Also, I had the opportunity to coach team members while delivering business value to the customer thanks to the Pair Programming and other practices.
Technologies and Practices: TDD, Continuous Deployment, Pair Programming, eXtreme Programming, Observability and Monitoring with Grafana and Prometheus, Feature Toggles, Java, Kotlin, JUnit MongoDB, In Memory Databases, Unified Log technologies like Kinesis and Kafka, Event Driven Architectures, Hexagonal Architecture, Distributed Systems, a lot of AWS Products.Feb 2019 - May 2020
Freelance Software Consultant
I started working remotely as a freelance for the Blockchain industry. The main client was NEM Foundation.
Part of my job was to know the developer needs and build the necessary tools to make the development on top of the Blockchain smoother.
Technologies and Practices: TDD, CI, NodeJS, Java, Kotlin, MongoDB, restify, ZeroMQ, Code Reviews, Open Source Software.
CTO at vicom.io
I decided to start my own business with a co-founder, we were two, me as CTO and him as CEO.
We aimed to verify that the marked needed a video-centric platform to create communities around it. The product allowed to create a community as https://_community_name_.vicom.io, following the Slack style for community management.
We defined a Minimum Viable Product to verify the business hypothesis. The MVP needed small and frequent releases, so all the architecture was aligned with those requirements. We decided to couple heavily on AWS solutions to deliver as fast a working product to the customers.
Badly, we verified that there wasn’t a market need for the product and the customer acquisition was too high compared with the ROI we were expecting. Therefore, we decided to close the product.
Technologies and Practices: TDD, CI with Jenkins, AWS (EC2, S3, Elastic-Transcoder, SQS, SNS, RDS, ECR, CloudFront), Kotlin, Spring Boot 2, Angular4 with TypeScript, Lean Startup.Jan 2017 - Jun 2017
Software Consultant at Atraura
After two years, the company grew from 4 people, only two developers, to 15 employees which 11 were developers.
My role moved from being a Software Consultant to Manage a team and Architectural decisions. My area of responsibility was to gather the client's requirements, expectations and propose with the team a possible solution to the client, meanwhile keeping the responsibilities of Software Consultant that I had. Part of my job was configuring the CI system and the Docker containers to setup the infrastructure at the early beginning of the project, meanwhile helping the newcomers become familiar with our culture and development practices like TDD and CI.
We aimed to follow Agile Methodologies with the client, most of the times it was a challenging approach because back then Agile was not as popular as today. Even though some clients disliked the idea, we kept pushing for iterations and showcases to manage the client expectations on the product we were delivering.
Technologies and Practices used: Java, Spring Boot, MongoDB, PostgreSQL, RESTful Architectures, Hexagonal Architectures, Domain-Driven Design, Test-Driven Development, Python, Django, JUnit5, unittest (Python), Jenkins for the Continuous Integration and Amazon Web Services.Nov 2014 - Nov 2016