Skip to content

devsdmf/cv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lucas Mendes

Basic Information
e-Mail: [email protected]
Website: http://www.devsdmf.io
LinkedIn: https://www.linkedin.com/in/devsdmf
GitHub Profile: https://github.com/devsdmf
SpeakerDeck: https://speakerdeck.com/devsdmf

Summary

Experienced software architect/engineer, focused in scalable and distributed software design/development, advocating for the software development best practices, using TDD and BDD in a daily-basis. Specialist in backend engineering with technical-background in C/C , Java, PHP, Python, JavaScript and Scala, with experience in MySQL, MongoDB, Redis, DynamoDB, ElasticSearch, ActiveMQ, Kafka streams, Amazon Web Services (AWS) and more. Also, with experience designing distributed systems using DDD and other architectural and software engineering approaches like Event Sourcing, Event Collaboration and Actor Model-based systems.

Work Experience

TWILIO

Senior Solutions Architect (Apr 2021 - Actually)

Twilio is the leading customer engagement platform, providing products and tools to send SMS, WhatsApp, place calls, video conferences and others. At Twilio, I've worked on the Professional Services organization, helping customers to be successful using Twilio providing:

  • Architecture design to solve customer's problems using Twilio products
  • Technical advisory on product usage, best practices and troubleshooting
  • Development of reusable assets used as sample code / quickstart for new customer projects
  • Development of Twilio Flex plugins to customize Twilio's contact-center solution using ReactJS and NodeJS
  • Documentation of architecture design decisions along with other SAs

Twilio Products:

  • Flex
  • Frontline
  • Functions (Serverless)
  • Programmable Messaging (SMS, MMS, WhatsApp)
  • Programmable Video
  • Studio
  • Sync
  • TaskRouter

Technology Stack: NodeJS, Java, Python, React

SENSEDIA

Software Architecture Consultant (Aug 2020 - Apr 2021)

Sensedia is an API platform that offers professional consulting services in software architecture and backend development, and in this role I'm working as a consultant for a customer in the payment processing market, and my main responsibilities consists in:

  • Analysis, design and development of a scalable, reliable and secure platform to develop payment-processing and banking services including automation, testing and software develivery tools
  • Design and implementation of reference architectures that meets the requirements of the product engineering teams
  • Teach the developers how to use the available reference architectures and platform services
  • Analysis, development and documentation of libraries to access and use the available platform services
  • Perform consulting sessions with the product engineers, helping them to design the product architecture using the available platform services

Technology stack: NodeJS, TypeScript, Python, Microsoft Azure, Docker, MongoDB, Redis, etc.

SYMPLA

Principal Software Architect (Oct 2019 - Aug 2020)

Sympla is the biggest SaaS ticketing platform in Brazil, and in this role I'm acting as the principal architect in the Engineering department, currently working in the whole platform architecture, migrating from a monolithic to a service oriented architecture approach. As a senior software engineer and principal architect, my main responsibilities consists in:

  • Analysis and design of business domains with product managers and analysts in order to identify the necessary services to compose the system's architecture.
  • Analysis, development and improvement of the existing software development processes with engineering managers enabling the squads to being high performers.
  • Analysis, development and documentation of new software systems using PHP, Java and Python to improve the product experience.
  • Research and development of new technologies and architectural patterns to solve complex problems in a scalable and maintainable way.

Technology stack: PHP, Java, Python, JavaScript (NodeJS), Docker, Kubernetes, Rancher, MySQL, MongoDB, Redis, AWS Kinesis, ElasticSearch and more.

TIENDA NUBE

Senior Software Architect (May 2019 - Sep 2019)

After finished my job as a Technical Product Manager, I've got back to my previous role as a Software Architect, now working in the Fulfillment and Shipments team, responsible to:

  • Analysis and development of internal and external system integrations for the existing shipping carriers through the new technology stack using Java and Scala, addressing scalability and reliability issues.
  • Maintainance of the existing systems in the core platform to keep backward compatibility with the existing shipping carriers.
  • Analysis, design and development of new software systems to support the company strategy for shipments, including new services to manage fulfillments through a public API.
  • Attend to product architecture commitee meetings in order to discuss and help other software architects to design and address common issues between different business domains.

Technology stack: PHP, Java, Scala, JavaScript, MySQL, MongoDB, Docker, Akka, Apache Kafka and more.

Technical Product Manager (Oct 2018 - May 2019)

As a Technical Product Manager, I've got the challenge to build a new engineering team from scratch. The Ecosystem team had the mission to enable customers and partners to extend our product through public APIs in order to solve complex business problems. In this position I was responsible to lead the development of an API-based product, where I had to:

  • Collect meaningful inputs from both internal and external stakeholders to develop a product backlog.
  • Prioritize the product backlog using different strategies, always looking for the company OKRs.
  • Support a team of product engineers and product designers, running daily, weekly and monthly-based rituals and meetings in order to complete the product backlog.
  • Provide team both technical and behavioural feedback through retrospective meetings and performance review sessions, enabling them to be high performers.
  • Technical writing of API documentations, developer resources and releases of new features delivered in production.
  • Development and maintainance of SDKs and sample projects that serves as tools and reference to developers that are aiming to integrate with out public API.

Software Architect (Apr 2017 - Sep 2018)

Tiendanube is an ecosystem of services that provides products to build e-commerce systems through an intuitive and extensible platfrom that makes it easy to start your online business.

As a Software Architect, I've got to tackle the challenges in the Consumers team, responsible for the purchase experience. I've worked to achieve the best solution for architectural problems in the migration process from a monolithic to a service-oriented and micro-services architecture. My main responsibilities were:

  • Analysis, design and development of a new service responsible to process consumer's payments, aiming to replace the actual solution inside the monolith platform in PHP. This new micro-service was developed using a Scala based stack, implementing Actor Model using Akka framework, MongoDB for the persistence layer for the event sourcing and ActiveMQ for IPC.
  • Attend to Product Architecture Comitee meetings in order to help other architects to design the macro-architecture of the company products, using DDD to split the monolith in domain-oriented services.
  • Design, define and document IPC's for both internal and external integrations.

Technology stack: PHP, Java, Scala, MySQL, MongoDB, Docker, Akka, ActiveMQ, Redis and more.

ISET INTERNET INC.

Lead Software Engineer (Jan 2015 - Apr 2017)

For the last two years in company, I've acted as the Lead Engineer in the web/mobile platform team, being responsible for:

  • Analysis, design and development of the backend architecture for the mobile e-commerce platform
  • Help other engineers as a technical reference for the product development and key decision advisor
  • Research and development of tools and frameworks for the engineers working in the platform
  • Management and prioritization of the product backlog in a technical view along of the product leads and company executives

Technology stack: PHP, Python, JavaScript (NodeJS), MySQL, MongoDB, Docker, Redis and more.

Senior Software Engineer (Jan 2014 - Jan 2015)

One year after starting my job in the company and with the team growing I've got a set of new responsibilities, now focused in the backend architecture and development, and also the platform stability in production environments. Now, beyond the software development responsibilities, I was also responsible to:

  • Monitor and maintain the e-commerce platform infrastructure doing performance tweaks in order support large processing times needed by background tasks dispatched by internal system components, also doing security fixes in order to platform reliability and security.
  • Implement and maintain a self-hosted version control system (GitLab).
  • Research and analysis of new technologies to be used in our backend stack.
  • Develop and maintain a fresh new mailer service to be used by the new version of the CRM platform that was being developed by the another team. This new mailer service was named AwMailer and was developed using PHP and C . The core functionality now is an open source project available at GitHub, but the internal extension for outgoing IP address balancing stills a proprietary project.

Technology stack: PHP, C Ansi, Python, JavaScript (NodeJS), MySQL, MongoDB, Redis and more.

Software Engineer (Jan 2013 - Jan 2014)

ISET is a technology company from Belo Horizonte, Brazil, that provides digital products to its customers. The main product is an e-commerce platform (iShopping), integrated with other company products like CRM (iMarketing) and chatting (iChat) systems.

As a software engineer, I started to work with the e-commerce and chatting platform, mainly responsible to:

  • Maintain and implement new features in the e-commerce platform using PHP as the main language.
  • Maintain and implement new features in the chatting platform using PHP and JavaScript.
  • Integrate partner's services into the e-commerce core platform, like payment gateways, shipping carriers and new sales-channels, to improve the merchant's experience.
  • Develop and maintain internal tools to help other teams to integrate their products into the ours.
  • Implement a new contracting system for the company products from scratch using PHP, BackboneJS with MarionetteJS as the technology stack.

Technology stack: PHP, JavaScript, MySQL, Redis and more.

CARAVANE SOCIAL TRAVEL

Founder and CTO (Dec 2013 - Jan 2015)

Caravane was a social-travel startup based in Belo Horizonte, that offers a platform to organize and manage caravans (a shared-trip model). I was one of the co-founders and I've worked mainly as a hands-on CTO along of the other founders. My main responsibilities was:

  • Research the technology application to meet the market needings with help of the other founders.
  • Prioritize along of the other members the product backlog.
  • Develop the MVP for market validation, mainly in PHP and NodeJS for backend and vanilla JS and HTML for the frontend.
  • Build and validate dashboards with product metrics provided by monitoring and product analysis tools.

APLUS TECNOLOGIA E ENGENHARIA

Software Developer (Jun 2011 - Jan 2013)

Aplus Tecnologia is a web-development agency where I mainly worked as a software developer.

This was my first experience as a full-time software developer, where I had the opportunity to learn more about the software development process from the initial analysis of a customer’s problem, to the delivery of the software artefact in the production environment. During this time, my main responsibilities was:

  • Research and implement new technologies from scratch to meet the business requirements of each company’s customer.
  • Analysis and technical documentation of the software development process.
  • Develop web applications using PHP, Ruby and JavaScript.
  • Maintain and improve two company products, a local guide website for restaurants and pubs and an ERP software.
  • Deployment and monitoring of applications running both in VPS and shared-cPanel based hosting servers.

COMPUWAY ENSINO PROFISSIONALIZANTE

Course Instructor (Feb 2011 - Jun 2011)*

This was my first IT job, I was a course instructor in a local school, teaching classes about computer-related topics, the classes was mainly:

  • Basic Computing: How to use a personal computer to do simple tasks like internet browsing, e-mail conversations, write documents, spreadsheets and slide presentations using Microsoft Office's software suite and so on.
  • Advanced Computing: How to setup a computer for the work environment, how to manage computer files and its different formats and compression tools, how to manage data using Microsoft Office Access, and so on.
  • Web Design: Classes about design and coding web pages using basic HTML and CSS techniques.
  • Web Development: Classes about web development using PHP and MySQL databases.
  • Hardware e Computer Maintenance: Classes about the computer components, how to setup a new computer from the scratch, backup techniques and broken component replacements.
  • Setup and Administration of Computer Networks: Classes about network setup using Microsoft Windows Server, Active Directory configuration and also the configuration of network devices like routes, repeaters and hubs.

Education

Bachelor of Applied Science (B.A.Sc.), Computer Science

Pontifical Catholic University of Minas Gerais (Jan 2015 - Jun 2017 / Hold)

Associate of Arts and Sciences (A.A.S.), Information Technology

Polytechnic School of Minas Gerais (Jan 2009 - Dec 2011)

Silverlight and SharePoint Certification Program

Microsoft Student to Business (Jul 2011 - Dec 2011)

Technical Background

  • Programming/Scripting Languages (separated by proficiency):
    • Advanced: C/C , Python, PHP, JavaScript (NodeJS), Shell Script
    • Intermediate: Java, Scala, C
    • Basic: Ruby, Go, Rust
  • Frameworks and Tools (separated by language/technology):
    • PHP: Symfony, Zend Framework, Silex, Laravel, CodeIgniter, Slim Doctrine, PHP Core Extension Development
    • Java: Spring, Springboot, Play
    • Scala: Play, Akka, Artery
    • C : Boost, Qt
    • JavaScript: jQuery, BackboneJS (and Marionette), AngularJS, Elm
    • CSS: Sass, Less
    • NodeJS: ExpressJS, SailsJS, Socket.io
    • Hybrid Mobile Development: PhoneGap, Ionic
    • Python: Flask, NumPy, SciPy, PyAudio
  • Database and Object Storages: MySQL (and MariaDB), MongoDB, DynamoDB, Cassandra, Redis, Memcached
  • Operating Systems: Linux, OSX, Windows
  • Web Servers: Apache, nginx, Tomcat
  • Versioning: GIT
  • Infrastructure: AWS, Google AppEngine and Google Cloud Plaftorm
  • Methodologies and Patterns: RESTful, OAuth, JSON, XML, OOP, SOLID, Design Patterns, Self-Documenting, Scrum, XP, Continuous Integration, Continuous Delivery, TDD, BDD
  • Plus Experience: API Design, Scalable Software Architecture, Cloud Infrastructure Engineering, SaaS, PaaS, IaaS, Microservices Architecture, Distributed Software Architecture

Projects and Contributions

Articles and Publications

Classes and Talks