Marcos Navarro Senior Software Engineer Picture

Marcos Navarro Sr Software Engineer

Hey there! 👋 I'm a seasoned software engineer living and working from Chihuahua, Mexico.

I've been involved in software development for 10+ years, with most of my journey working remotely.

How do I like to work?

I like to thrive in quick paced and proactive environments. I'm happy to collaborate on any side of a software solution and 100% committed to quality. I'm all up for Code Reviews and knowledge sharing, always open to feedback.

I love to code but I'm not indifferent about the business. Any ledge all up to the end users matter. I ask questions, share opinions and respect decisions taken.

To get an idea of me programming...

I left ego-boosting one liners in the past

I respect colleages time, from the present and the future. Clean, concise and readable code is my way. Abstraction is cool but unnecessary most of the time.

Tests, tests, tests...

I love writing tests, not that it is the most joyful activity in this industry, but thrill comes when you have the confidence to make changes later knowing your back is covered. Tests are good, a wise investment for the future you and the ones that will come after you.

I don't jump straight to code

It is important to take time to think, plan, create diagrams when necessary. So, at the end we don't spend valuable time and resources twice.

Type of work (or workplace) that I avoid

Any place that requires management to discuss anything a couple weeks, to then create a ticket for fixing or improving something that can be done in a couple hours... I'm out.

I know planning is important, prioritization is important, time is limited and better decisions lead to better products. But being corporatively hand tied and having every hour of your work day set in stone, is not my thing.

Tech I'm very good with

Go lang programming language
Go
NodeJS
Node
JavaScript
JavaScript
Typescript
TypeScript
React
React
Vue
Vue

Tech I'm familiar with (not exhaustive)

Ruby
Ruby
Ruby on Rails
Rails
Angular
Angular
Cypress
Cypress
Python
Python
R
R
PHP
PHP
PSQL
PostgreSQL
MySQL
MySQL
Docker
Docker
Bash
Bash
Linux
Linux

Timeline of experience

  1. Working as a contractor with Posit through X-Team

    Key points of this period:

    • Happy to discover that the enterprise ecosystem does not necessarily mean slow paced work.
    • To be a better software engineer you have to care about the business.
    • Do not reinvent the wheel, you can delegate complex processes to a Bash script and Linux instead of making everything again within your project or codebase.

    Posit is a key player in the Data Science space, providing tools and products for the enterprise. With almost 5 years of working as a contractor here, I've had the luck to work on many interesting and challenging projects.

    1. A huge UI migration from a legacy AngularJS codebase to Vue.
    2. Migrated a legacy non-structured logging implementation to a configurable structured logging strategy.
    3. Multiple improvements on access management and configurable authentication providers.
    4. Conceptualize and create tooling for easier installing of on-prem products.
    5. Create a new library of React based widgets to facilitate report making.
    6. Create, document and maintain versioned API endpoints.
    7. Introduce new configurable functionality to allow custom branding.
  2. Mifiel - Digital Signatures Startup

    Key points of this period:

    • Do not overthink, iterate faster, fail faster, improve.
    • The value and impact of automated testing was undeniable.
    • Be transparent and clear in your code. Often, clever solutions and abstractions chew up time and tend to be blurry and hard to maintain, bringing more pain than value.

    Mifiel is a startup focused on digital signatures for the legal ecosystem in Mexico. Making use of cryptography and blockchain to have a functional solution for promissory notes in the digital realm. In Mifiel, I worked directly on:

    1. Created a mobile app using React Native (Android and iOS) for digital signatures.
    2. Migrated functionality from AngularJS to React and TypeScript.
    3. Built and maintained services with Ruby on Rails.
    4. Created business administrative portals to handle digital assets (BTC and LTC blockchain transactions)
  3. Aftertype - Personal Project

    Key points of this period:

    • Creating your own business is hard, keep smiling.
    • Consistent practice gives new heights.
    • Learned the hard way that prioritization is key and that working hard just for the sake of working hard does not necessarily lead you to your destination.

    I tried to build a business. A marketplace of Ghost themes built mainly with NodeJS, MongoDB and React. While also making use of MeteorJS, Redis and PostgreSQL for some services.

    The original goal was to have a marketplace of Ghost themes at reasonable prices but then my vision grew, from a marketplace to something that was more than that. I wanted to have a community of Ghost users and developers where they could share knowledge, opinion and services. But that does not happen magically.

    So, I had to design and make the initial batch of Ghost themes while at the same time build the actual platform where the themes were going to be sold... and because it wasn't just a marketplace anymore I also had to build the community, forums, users portals and profiles. Everything from the ground up.

    At the end of October 2016, I launched Aftertype. At this point I already had a small following due to some free themes published in advance. I got some customers and things were moving. But I was so naive... I wanted to build a platform with too many features that I neglected the important areas for the business to grow, I even spent time and resources pushing features that no one would use ever.

    I cherish this time of my life so dearly because even if things didn't worked out as I wanted, I grew up so much technically, professionally and as a person.

  4. GammaPartners, company from Chicago IL (now accquired by Concentrix)

    Key points of this period:

    • Real software engineering.
    • I wasn't a freelancer on my own anymore, I had to be a teammate and a better professional.
    • Putting into action proper software patterns and practices. MVC, SOLID, DRY...
    • Scalability was a concern now.

    I had the chance of working on many interesting projects during this period.

    • Maintaining a legacy healthcare platform built with PHP and static assets, while being migrated to a more modern version with AngularJS.
    • Building custom Magento themes for some clients.
    • Helped to create and maintain scripts to handle clients Analytics and A/B testing.
    • Introducing new features to a beauty and wellness on-demand services app. An Android and iOS native mobile app running with services on NodeJS with Sails.

    While working with GammaPartners, I was working on my personal project of building Aftertype, the Ghost Themes marketplace.

  5. Freelance Work

    Key points of this period:

    • Found out that I didn't wanted to be solely a front-end or back-end developer.
    • Semantic HTML and well organized CSS became natural skills, like riding a bike.
    • Started to get a grasp of what is DevOps.
    • I called myself a web developer and was missing out on many neat tech... far from being a software engineer.

    At this stage in my professional career, I was mostly building up websites for clients. In many cases custom WordPress themes. HTML, CSS, jQuery (I was a real junior, I couldn't tell the difference between jQuery and JavaScript), PHP, MySQL and WordPress were the everyday bread and butter.

    At some point, to save some bucks I ditched the common shared hosting plans and started using VPS with DigitalOcean. This change allowed (forced me maybe?!) to understand much better Linux, servers, high-availability and load balancers, SSL certificates.

    Around November 2013, I stumbled upon the Ghost blogging platform and started playing with it, that's how I met NodeJS and everything changed... I didn't wanted to build simple websites anymore. I wanted to create something different and pursued the idea of creating a Ghost Themes marketplace.