avatar

Pedro Ivan Lopez
Software Engineer

About

I'm a Software Development Engineer interested in large scale systems and the Web. I have 3.5 years of experience in software engineering and have been programming for over 12 years. My primary development experience is in back-end programming in Java, C#, JavaScript, and Python; writing agent/batch/job-oriented systems for financial systems, system administration for Windows and UNIX, hardware/computer engineering and robust control software. A lot of the software I have designed and implemented is publicly available on GitHub.

Self-sponsored work authorization - TN Visa.

Other Résumé versions: PDF, One-page PDF, MS Word, One-page MS Word, JSON Résumé

Work Experience

Epicor Software Corporation
2017 – Present
Software Developer
Developing software in ERP system for financial, supply chain and manufacturing modules.
Highlights
  • Environment: Environment: .NET, C#, Visual Studio 2015
Self-employment/Freelancing
2015 – 2016
Freelance Consultant
Coached job applicants and students on computer science and software engineering topics.
Highlights
Self-employment/Freelancing
2015 – 2016
Technical Writer
Wrote technical documentation on topics such as programming, system administration, audio and video processing and production and security
Highlights
  • Published more than 45 technical notes at http://pedroivanlopez.com/tech-notes
  • Some of the software tools and applications I wrote about are Fedora Linux, FFmpeg, Windows, Python, JavaScript, Node.js, OpenSSH, Git, Android, Anki, Cygwin, Audacity, among others
  • Environment: Jekyll, Markdown, Fedora, Windows, Python
Infosys Ltd
January 2013 – February 2015
Systems Engineer
Monterrey, Nuevo León, Mexico. Contractor for a Fortune 100 multinational banking and financial services corporation. Development, administration and support team for a global trade finance application used mainly in North America and Asia
Highlights
  • Coded and tested new agents/batch-jobs or new features of existing jobs in Java, C#, JavaScript and Windows Batch
  • Designed and implemented a Windows Script Host script in JavaScript to retrieve scanned image and metadata files from the scanner workstations to our server and prepare for further processing
  • Fixed approximately 350 incidents, including code bugs, development of new features, customers with invalid data in production and outages
  • On-call primary contact for approximately 20 weeks
  • Led approximately 30 Request For Change procedures, mainly to install code updates and to update data via SQL scripts
  • Supported production and test environments for clients and other teams in the bank
  • Knowledge management via documentation of known issues and fixes, to coach offshore resources
  • Environment: Java, .NET, C#, JavaScript, SQL, Bash, Hibernate, Spring, Eclipse, Toad, ClearCase, RedHat Linux, Windows Server, Autosys, Windows Script Host
Center for the Development of the Software Industry
October 2012 – January 2013
Software Engineer
Monterrey, Nuevo León, Mexico. Tested and validated a financial web application and platform
Highlights
  • Performed testing and quality assurance of an enterprise financial Web platform for a Mexican bank, implemented in Java Enterprise Edition and JavaScript
  • Types of tests performed: black box, system, functional, acceptance
  • Environment: Internet Explorer, Mozilla Firefox, Excel, JavaScript
School of Physics and Mathematics at UANL
August 2011 – February 2012
Research Assistant
Monterrey, Nuevo León, Mexico. Internship. Research topics: control engineering, robust control, linear systems, filters.
Highlights
  • Developed and maintained robust control systems software in Python, MATLAB and Simulink
  • Co-authored one published paper: Basin, M.; Serna, M.; Lopez-Hernandez, P.I., Central energy-to-peak filter design for uncertain linear systems, Control Conference (ASCC), June 2013
  • Performed system administration of workstations and maintenance of hardware units
  • Environment: Python, MATLAB, LabVIEW, NI Elvis, LaTeX
School of Mechanical and Electrical Engineering at UANL
February 2012 – August 2012
Laboratory Assistant
Monterrey, Nuevo León, Mexico. Internship.
Highlights
  • Supported students in designing and troubleshooting programs in Python, MATLAB and LabVIEW
  • Performed system administration of workstations and maintenance of hardware units
  • Assisted professors with teaching electronics and programming during laboratory sessions
  • Environment: Python, MATLAB, LabVIEW, NI Elvis, LaTeX, BASIC

Awards

  • September 2012

    Autonomous University of Nuevo León

    Mención Honorífica de Excelencia

    Award given to students that graduated with overall grade of 95/100 or more

Volunteer

ASPNET5CO
April 2015 – Present
Advocacy and Community. Efforts to advocate the ASP.NET Core framework
Data structures and algorithms in C#
June 2015 – Present
Data structures and algorithms in C#
mazerob
July 2015 – Present
Bluetooth-remote-control robot implemented with Java Virtual Machines on a PC and a Lego NXT Brick
printer73x
December 2011 – Present
A computer numerical control system for printing binary images
cerca
November 2012 – Present
A distance measurement system running on a personal computer and an 8-bit microcontroller
pysyspol
June 2016 – Present
Cross-platform system policy for applications and environments, with Python
syspol-js
December 2015 – Present
Cross-platform system policy for applications and environments, with JavaScript
dotfiles
July 2015 – Present
Miscellaneous configuration files and directories
Software engineering problems in C#
August 2015 – Present
Software engineering problems in C#
resources-viewer
August 2015 – Present
Browser based static app for viewing resources
timeman
July 2016 – Present
Simple time management types
syspol
August 2015 – Present
Cross-platform system policy for applications and environments
swebserv
July 2013 – Present
Java program that simulates Denial-of-service attacks on HTTP/web servers
– Present
For other projects see my technical notes, as well as my Github and Gist profiles.

Contact

+52 818 023 1545
GitHub
LinkedIn
Twitter

Education

  • 2013 2015

    Autonomous University of Nuevo León

    Master

    Information Engineering in Computer Science

    GPA: 4.0 = 94.5/100.0

    Courses
    • Research Methodology
    • Quantitative Methods (Statistics)
    • Discrete Mathematics for Geometric Design
    • Programming and Simulation
    • Information Systems
    • Object Oriented Programming
    • Database Management and Design
    • E-Business Oriented Information Systems
    • Computer Science Seminar
    • Management of Information Technology Projects
    • Technologies for Internet Information Security
    • Technologies for Organizational Change
    • Information Technology Management and Planning
    • Decision Support Systems
    • Human–computer Interaction
  • 2012

    Autonomous University of Nuevo León

    Bachelor

    Mechatronic Engineering. Intelligent Machines Design. Mención Honorífica de Excelencia.

    GPA: 4.0 = 95.9/100.0

    Courses
    • Basic Programming
    • Probability and Statistics
    • Discrete Mathematics
    • Data Structures
    • Advanced Programming
    • Theoretical Computer Science
    • Digital Electronics
    • Object Oriented Programming
    • Data Acquisition
    • Robot Architecture
    • Artificial Intelligence and Neural Networks
    • Project Management
    • Human–Computer Interaction
    • Machine Vision
    • Perception
    • Machine Perception

Skills

Languages
Python JavaScript C# Java SQL HTML CSS Bash/UNIX Shell Scripting VB.NET MATLAB LabVIEW XSLT LaTeX
Data/Databases
Microsoft SQL Server Oracle MySQL SQLite JSON YAML XML
Technologies
.NET Java Node.js ASP.NET 4 & 5 ASP.NET MVC 5 Docker Spring Hibernate ASP.NET Web Forms Java EE Sphinx documentation tools Jekyll lejOS
Design patterns
Dependency Injection Object-Relational Mapping (ORM) Module Factory method Iterator Reactor Singleton Observer
Architectural patterns
Inversion of Control Event-driven architecture Model–View–Controller
Applications
Microsoft Visual Studio Visual Studio Code Git ClearCase Toad Eclipse Cygwin Vim GNU Make Ant IPython OpenSSH Maven
Operating Systems
UNIX (Fedora, Ubuntu, Red Hat Enterprise Linux, Android) Microsoft Windows (Server 2003, XP, Vista, 7, 8, 10)
Other
Linux user for 8 years Proficient with UNIX command line interface Technical documentation writing Homebuilt computers enthusiast

Publications

Central energy-to-peak filter design for uncertain linear systems
Control Conference (ASCC)
23 June 2013

This paper presents the central finite-dimensional energy-to-peak filter for linear systems that is optimal with respect to a modified Bolza-Meyer quadratic criterion including the first degree state-dependent term and the attenuation control term with the opposite sign. The obtained solution is based on reducing the original energy-to-peak filtering problem to the corresponding mean-module filtering problem, using the technique proposed in [1]. The paper first presents the central energy-to-peak filter for linear systems, based on the optimal mean-module filter from [2], assuming the standard filtering conditions of stabilizability, detectability, and noise orthonormality. Finally, to relax the standard conditions, the paper presents the generalized version of the designed energy-to-peak filter in the absence of the noise orthonormality. Numerical simulations are conducted to verify performance of the designed energy-to-peak filter for linear systems against the central suboptimal H∞ filter [3]. The simulation results show a definite advantage in the values of the noise-output energy-to-peak norm in favor of the designed filter.

Technical notes
Self-published

Technical documentation on topics such as programming, system administration, audio/video processing and production and security

Languages

  • SpanishNative speaker
  • EnglishFull professional proficiency

Interests

Software
Development Design Industry Web/HTTP Security
Open source
Open Collaboration Security Open Data
Rationality
Decision-making