Noe Nieto

Senior software developer

Senior software developer

Hi! My name is Noe Nieto, I’ve doing software development for the last 20 years. I work mainly with Free/Libre/OpenSource software, though I use proprietary software whenever its the right tool. I live in the Mexico-US border (sunny ☀ Mexicali!) with my wife and 8 beautiful crossbreed dogs 🐕.

I have worked with a range of different languages and frameworks and I am always looking for opportunities to work with something new. The things that I currently have the most experience working with are: Linux, Django, Postgresql, AWS, Woocommerce, Jekyll, Docker

Experience

Kimetrics

Backend developer

July 2020 - Today

https://www.kimetrics.com/

Kimetrics:BI for Retail and POS

This is my current full time job. I’m a backend engineer doing data mining for the retail industry.

Technologies used include: Linux, Python, AWS (RDS, Redshift, S3, SES, ECS), Docker, Knime and MS Excel / LO Calc.

NNieto Consulting Services

Jan 2001 - Today

https://www.noenieto.com

I do some freelance work every now and then.

This is where I have had the chance to solve problems with a special focus on using exclusively open source technologies whenever possible. I started this as a side job during the university years but sometimes it has even has evolved to become my main source of income. Projects include websites with PHP, Wordpress, Woocommerce, Drupal, Django, administration of Linux servers, direct customer support and troubleshooting of windows and Linux workstations, installation of Ethernet LANs, analog and IP cameras, and even small electronics hardware.

Technologies used include: PHP, Python, JavaScript, C, Assembler, AWS, Twitter API, Plone, Django, Beanstalk, RabbitMQ, Supervisord, zc.Buildout, Bootstrap, Foundation, CakePHP, jQuery, Angular.js (1.x), Drupal, Django-LFS, WooCommerce, KnockoutJS, Github Actions, Jekyll, Restructured Text, Gtk+, PyGObject, Linux, Apache & Nginx, Git, Subversion and a few years ago, the PIC16F85 microcontroller.

Purism SPC.

Librem One web developer

November 2018 - March 2020

https://puri.sm/

Purism: A Social Purpose Corporation, dedicated to freedom, privacy, and security.

During my time on Purism I worked integrating Wordpress and Woocommerce with our middleware running Django. Other small tasks and technologies included LDAP configuration, static sites with Jekyll and Zola, Continuous integration with Gitlab CI, PHPUnit, Python Virtualenv/Pipenv, Bash, Docker and Vagrant.

Technologies used include:: PHP, PHPUnit, Wordpress, Django, Bash, Vagrant.

Google Summer of Code 2018

May - August, 2018

https://bit.ly/3zIOv69

I did the Google Summer of Code on 2008

My master’s degree thesis was about solar cells so I choosed DEVSIM. DEVSIM is a TCAD (Technology Computer Aided Design) semiconductor device simulation software. TCAD tools are special simulation software that can simulate the fabrication process of semiconductors as well as their operation. The objective of this work was to add the necessary improvements to DEVSIM so it could simulate solar cells.

Technologies used include: Python, the DEVSIM TCAD.

Social Reality

SRAX Web Developer

November 2015 - August 2017

https://srax.com/

SR Enables public companies to track their investors’ behaviors and trends and use those insights to engage investors across marketing channels.

Working on SR was both fun a challenging. When I started, the company’s Ad exchange backend was the typical LAMP stack with a lot of legacy code on stored procedures and PHP/CodeIgniter code. Deployment process was completely manual and error prone.

My first assignment was to streamline their somehow complex onboarding process, I wrote the backend using stored procedures and tested them using PHPUnit and a MySQL server running on a ramdisk.

Their Real Time Bidding system relied on a proprietary algorithm written in C++. The developer had never worked on Linux before, so I helped him by configuring a proper sandbox server and wrote a tool that would pull the latest changes from SVN/Git, compile the code and restart the web server with a webhook or with the click of a button.

At the end of my time on SR/SRAX the new onboarding process was finished, we had already integrated several ad exchanges into our backend (a huge milestone), the team migrated from SVN to Git, we started to write tests with PHPUnit and Selenium and the developer’s development enviroment was now semi automated using a customized version of Puphpet, (code named Arale) and the whole team was already using Agile methodologies. Besides the developer role, I also enjoyed administering some of Linux servers with Puppet and staring to New Relics graphs.

Technologies used include:

PHP/CodeIgniter, the LAMP stack, C++, Jira, NewRelic.

Valutech Outsourcing S.A. de C.V. (now Clover Wireless)

Developer/Sysadmin

October 2013 - November 2015

Valutech/Clover: Cellphone repair & refurbishing

This was mi first time working on a data center of a company. My main responsibilities included administration, maintenance, backup and optimization and emergency response for SQL Server databases, IIS, and Linux hosts for ftp/sftp, web and backup systems, all integrated into the company’s Active Directory server. I was in charge of monitoring all the changes pushed by the developers; Our Database load had high concurrency and I had to look for naive queries that otherwise would trash the DB server. Also since database sizes typically exceeded Terabytes, we had to be a bit extra careful for backups. Some of the SQL Servers had HA configurations like replicas and Always On. Also, I had the chance to work on internal tools using ASP .NET MVC., AWS S3, VMWare, Python and RabbitMQ.

Technologies used: SQL Server, IIS, Linux, Active Directory, Apache, MS Access, SSIS, Red Gate’s SQL Compare, SQL Backup and SQL Monitor, Redmine, DB Comparer.

HomeViva (Now defunct)

Full stack developer

August 2011 - March 2014

South american startup for the home construction industry

At the beginning our stack was Linux (on AWS), Nginx, HTML, CSS and vanilla JavaScript with some jQuery on the frontend, Python and Grok on the backend (using ZODB, a NoSQL) until the JS code became difficult to maintain; to escape our doom we migrated to another stack: Python, Pyramid and SQL Alchemy with a good JSON API on the backend, and Angular.js 1.x on the frontend. Additionally, I managed the Linux servers on AWS.

Technologies used: JavaScript, HTML, CSS, Python, Pyramid, Linux, Angular.js, Git, subversion.

iServices de México (Now defunct)

Web/Python Dev and Linux Sysadmin

January 2009 - April 2011

Small company specialized on elearning infrastructure

I was in charge of integration/development and maintenance of their in-house LCMS systems. My activities involved system administration of the Linux servers (including scaling up for concurrency), project management development maintenance with the Plone CMS and emergency assistance in case of software failure. Key technologies included: Python, Plone/ZODB/RelStorage/PostgreSQL, HTML, CSS, JavaScript and Django.

Technologies used include: HTML, CSS, JavaScript, Django. Python, Plone/ZODB/RelStorage/PostgreSQL.

Honeywell Aerospace de Mexico / Honeywell MRTC

Data acquisition engineer.

May 2006 - December 2008

A center for Research and Technology for aviation, located on Mexicali.

As a Data Acquisition Engineer I was in charge of the commissioning and operation of DA hardware and software. I became the in-house specialist for pressure, temperature, voltage, current and vibration measurements as well as video over IP and networking. I was also in charge of assuring that} our instruments were always calibrated with traceability to the NIST and always ready for use that included dealing with purchasing and supply chain departments. I successfully concluded my Six Sigma Green Belt course. Software tools included: Windows, Linux/Apache/MySQL/PHP, Python, GStreamer. DA equipment included brands like Scanivalve, Dewetron and Genesys (LDS Test and Measurement).

Technologies used include: PHP, Linux, Apache, MySQL, Python.

Gameloft (Mexicali)

Multiplayer programmer

February ~ March 2016

French video game publisher with a special focus on the mobile games market.

I implemented tested and deployed modifications of the multiplayer server and multiplayer API used in networked games for mobile phones. I also worked on adding support for specific models of cellphones by the different game titles published by Gameloft.

Technologies used include: C++, Apache, Linux, Android.

Centro de ingenieria – INAOE

Internship - Embedded systems laboratory assistant

October 2013 - November 2015

Internship @ Instituto Nacional de Astrofísica Óptica y Electrónica

Kalman filter (a corrective/predictive filter) simulator as internship project using a dll compiled from Matlab. Other tools were C and Assembler for the Atmel microcontrollers. I also played a lot with Simulink.

Technologies used include: C, Assembler, Matlab, Simulink.

Education

M.Eng. UABC, Instituo de Ingeniería

2016-2018

Thesis title: ESTUDIO POR SIMULACIÓN DE LOS EFECTOS DE DISEÑO EN CELDAS SOLARES SEMICONDUCTORAS. I used Silvaco’s TCAD software simulate the fabrication solar cells using Crystaline Silicon as substrate with Boron and Phosphorus as dopants using diffusion or ion implantation. Besides earning my degree, I used this knowledge to work on 2018 edition of Google’s Summer of Code with the project “Enable DEVSIM to simulate solar cells

International SCRUM Institute (May 2015).

May 2015

Three day intensive course for the role of SCRUM Master. After training I passed the accreditation exam on May 29. My Authorized Certification ID is 79778815187513. The Certificate validity period is lifetime. You can use the ISI’s website to verify the certificate.

Instituto Tecnológico de Puebla

2000 - 2005

My Thesis “Sistema de Vigilancia con video sobre TCP/IP” demostrates the possibility of building surveillance systems by using only Free/Libre/Open Source Software (i.e Linux, Python, Supervisord and Gstreamer). I also installed a 8-node cluster in the parallel computing research laboratory of the Instituto Tecnologico de Puebla as social service using Linux, and the MPI/BLAS/Lapack stack.

Universidad Popular Autónoma del Estado de Puebla

1997 - 2000

This is when I learn the basics of algorithms, C, Basic and Pascal to finally earn a Computer Programmer Technician diploma.

Beyond the scope of work

Altough I like computers, I do other things too.

  • I like welding metallic stuff on my free time.
  • I’m a Holokinetic Psychology instructor.
  • I write stuff on my (possibly outdated) blog and sometimes upload Demos, tools and toys to my site.
  • The names of my dogs are based on a candy theme: Bombon, Chocorol, Candy, Wini, Bubulubu, Tutsi , Cremino & Cuquis.