×
Mark Gardner

Mark Gardner

Senior Software Developer

5005 Georgi Lane, Unit 45, Houston, Texas, US, 77092-5519
+1 (215) 534-2301

Background


About

About

I am a certified full-stack web developer proficient in multiple programming languages, database management, DevOps, and continuous software integration and delivery/deployment (CI/CD). In addition to a Bachelor's degree in Computer Science, I have demonstrated throughout my thirty-year career a passion for collaborative creation of innovative solutions to complex software engineering challenges.

Work Experience

Work Experience

  • Senior Software Engineer (remote)EnergyNet

    Mar, 2023 - May, 20241 year 2 months

    • Increased platform stability through implementation of robust error handling and logging mechanisms

    • Streamlined development process, reducing feature delivery time through improved code review practices and documentation

    • Engaged in cross-functional collaboration, contributing to an increase in successfully implemented feature requests from stakeholders

  • Software Developer (remote contract)The Perl Shop

    Aug, 2022 - Feb, 20236 months

    • Improved database query performance through optimized PostgreSQL queries and increased test coverage

    • Facilitated smooth transition to sharded database architecture, enabling an increase in customer capacity

    • Implemented code review best practices, leading to a reduction in post-deployment issues

  • Senior Engineer (remote)Alert Logic

    Jan, 2022 - Aug, 20226 months

    • Resolved critical security vulnerabilities

    • Developed new WAF rules that increased threat detection accuracy

    • Streamlined bug fix process, reducing average resolution time

  • Senior Software Developer (hybrid remote and on-site)Newfold Digital

    Oct, 2018 - Jan, 20223 years 3 months

    • Increased feature delivery velocity by architecting and implementing composable REST-based microservices

    • Optimized database queries, resulting in a decrease in page load times for high-traffic areas of the customer portal

    • Introduced containerization using Docker, improving deployment consistency and reducing environment setup time

  • Developer IIcPanel

    Apr, 2016 - Oct, 20182 years 6 months

    • Implemented automatic email spam screening feature, reducing spam complaints for new user accounts

    • Developed user comment functionality for remote MySQL database configuration, improving collaboration among hosting clients

    • Optimized cPanel's backup system, reducing backup creation time for large accounts

  • Software EngineerZipRecruiter

    Dec, 2014 - Feb, 20161 year 2 months

    • Developed an automated resume parsing system, increasing job application processing speed

    • Implemented a recommendation engine that improved job match accuracy, leading to an increase in successful placements

    • Created a sales automation tool that increased sales team efficiency

  • Senior EngineerAria Systems

    Mar, 2013 - Nov, 20141 year 8 months

    • Developed secure credit card data extraction tools, reducing response time to legal requests

    • Integrated NetSuite CRM system, improving sales and billing data synchronization

    • Implemented JPMorgan Chase Paymentech account updater service, reducing failed recurring payments

  • Build EngineereBay Enterprise

    Jan, 2009 - Mar, 20134 years 2 months

    • Developed automated merge scheduling system, reducing code conflicts and improving parallel development efficiency

    • Created custom Subversion hooks for project authorization, enhancing security and reducing unauthorized access attempts

    • Automated multi-project releases with Apache Maven, decreasing release cycle time

  • Senior Perl Application DeveloperUSA Technologies

    Nov, 2007 - Nov, 20081 year

  • Perl Developer (contract), TruePosition

    Feb, 2007 - Oct, 20078 months

    • Used LAMP mod_perl-based template-driven framework.

    • Tracked issues, documentation and version control using Trac and Subversion.

  • Software Engineer, PayQuik

    Nov, 2006 - Feb, 20073 months

  • Project ConsultantBristol Myers Squibb

    Oct, 2005 - Nov, 20061 year 1 month

    • Database inventory web application using Oracle Application Express (APEX)

    • Install qualification Perl scripts for Windows Oracle databases, available as both web-based and stand-alone executables

    • Web interface to in-house Oracle security scanner

    • Automated email- and web-based system for selecting database security audits

  • User Interface Developer, Lucid Security

    Jan, 2005 - Mar, 20052 months

  • Senior Systems AnalystMerck & Co.

    Dec, 1995 - Aug, 20048 years 8 months

    • Webmaster for all Internet sites including www.merck.com, international subsidiaries and product-centric promotional sites

    • Webmaster for information services departmental intranet site

    • Managed web application performance test lab

    • Configuration and integration work on corporate public key infrastructure (PKI)

  • Technical Assistant, Comcast Cellular

    Jan, 1994 - Dec, 19951 year 11 months

    • Developed Microsoft Excel-based solutions for modeling telecommunications traffic capacity

    • Administered a small network of Sun SPARC workstations, including upgrades from SunOS 4 to Solaris.

Projects Experience

Projects Experience

  • Tie-Handle-Filter, cPanel

    Sep, 2016 - Present

    • Filters file input and output through a user-defined function

    • Originally created to prepend formatted time stamps to all output for log analysis, but later deprecated after discovering more robust and performant solutions

  • WebService-Avalara-AvaTax, ZipRecruiter

    Mar, 2015 - Present

  • LWPx-UserAgent-Cached, ZipRecruiter

    Feb, 2015 - Present

    • Subclass of the popular libwww-perl web automation library that adds caching functionality

    • Reduced the need for time- and bandwidth-intensive network updates when retrieving remote SOAP API's WSDL and associated definitions

  • XML-CompileX-Schema-Loader, ZipRecruiter

    Jan, 2015 - Present

    • Generates object-oriented Perl wrapper for any API described in standard Web Services Definition Language (WSDL) and supporting documents, rather than relying on a premade Perl library for every service

    • Eliminates need for premade Perl libraries for every service, increasing flexibility and reducing dependencies

  • SVN-Tree, eBay Enterprise

    Feb, 2012 - Present

    • Utility library to describe an Apache Subversion working copy's virtual file system as a tree of Perl Path::Class objects

    • Simplified navigation and manipulation of Subversion repositories in Perl applications

  • Tree-Path-Class, eBay Enterprise

    Feb, 2012 - Present

    • Spinoff from [SVN-Tree] to enable creation and query of any hierarchy of Perl Path::Class objects

    • Expanded functionality to work with various hierarchical structures beyond Subversion repositories

  • App-DBCritic, Shutterstock

    Jul, 2011 - Present

    • Scans relational database schemas for best practices via user-supplied policy modules

    • Originally created as a job interview code sample to demonstrate expertise in database management and code quality

  • Dist-Zilla-Plugin-UploadToSFTP, eBay Enterprise

    May, 2011 - Present

    • Plugin to release Perl software distributions to secure file servers

    • Streamlined the deployment process for Perl projects at eBay Enterprise

  • MooseX-Types-XML-LibXML, eBay Enterprise

    May, 2011 - Present

    • Increases the reliability of Perl XML processing by defining type constraints using the GNOME [libxml2]https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home) software library

    • Enhanced XML handling capabilities in Perl applications at eBay Enterprise

  • SVN-Simple-Hook, eBay Enterprise

    Mar, 2011 - Present

    • Simplified framework for Apache Subversion to enable development of hooks for events such as commits and property changes

    • Improved version control workflow and automation at eBay Enterprise

  • XML-Ant-BuildFile, eBay Enterprise

    Mar, 2011 - Present

    • Extracts information from Apache Ant configuration files describing build resources and targets in Java applications

    • Facilitates integration between Perl-based build systems and Java projects using Apache Ant

  • MouseX-SimpleConfig, eBay Enterprise

    Mar, 2011 - Present

    • Enables developers using the Perl Mouse framework to use configuration files for setting class and object attributes

    • Simplified configuration management for Perl applications at eBay Enterprise

    • Port of a similarly-named library that used the more heavyweight Perl Moose framework

  • Dist-Zilla-Plugin-RequiresExternal, eBay Enterprise

    Feb, 2011 - Present

    • Plugin to help distributors of Perl-based software ensure users have installed required non-Perl dependencies

    • Improved software distribution and installation processes at eBay Enterprise

  • Dist-Zilla-Plugin-WSDL, eBay Enterprise

    Aug, 2010 - Present

    • Plugin to automatically generate glue code for Perl-based software communicating with remote web service APIs described in WSDL

    • Streamlined integration of on-premise Atlassian web services in Perl projects at eBay Enterprise

  • Dist-Zilla-Plugin-Subversion, eBay Enterprise

    Mar, 2010 - Present

    • Plugin to automatically commit updates to Apache Subversion repositories with every Perl software release

    • Improved version control and release management processes at eBay Enterprise

  • Dist-Zilla-Plugin-MetaNoIndex, eBay Enterprise

    Mar, 2010 - Feb, 201111 months

    • Plugin allowing software package distributors to submit unit tests and example code to CPAN without appearing in search results

    • Now included in the main Dist-Zilla distribution as of version 4.200004

  • Data-Compare-Plugins-Set-Object, eBay Enterprise

    Sep, 2009 - Present

    • Plugin to enable comparison of unordered sets of objects when using the Perl Data::Compare module

    • Created to support comparison of differences in Java software projects' dependencies, build order, and tasks described in Apache Maven POM XML files

Skills

Skills

  • Software engineering and development

    data structures

    object-oriented programming

    software version control

    Atlassian Bitbucket

    Atlassian Jira

    Git

    GitHub

    GitLab

    Apache Subversion

    CVS

  • Perl programming

    object-oriented programming

    CPAN

    DBI

    DBIx::Class

    Template Toolkit

    PSGI

    Plack

    Catalyst

    Dancer

    Mojolicious

  • Full-stack web development

    HTML

    CSS

    Perl

    CGI

    Apache HTTP Server Project

    mod_perl

    Nginx

    LAMP

  • JavaScript-based web development

    object-oriented programming

    HTML5

    document object model (DOM)

    JavaScript

    Express

    React

    Node.js

  • Database development

    MySQL

    PostgreSQL

    SQLite

    MongoDB

    Redis

    Oracle Database

    Oracle Application Express (APEX)

    SQL

    PL/SQL

  • DevOps & CI/CD

    software build automation

    Docker and Docker Compose

    Kubernetes

    Rancher Desktop

  • Operating systems

    macOS

    Windows

    Red Hat Enterprise Linux (RHEL)

    CentOS

    Ubuntu Linux

    Alpine Linux

Education

Education

  • Computer Science, Bachelor, Independence University

    Jul, 2014 - May, 2017

Certificates

Certificates

Publications

Publications

  • How to use Mojolicious for web scraping , Linux Format

    Published on: Apr 01, 2022

    How to retrieve and parse HTML and XML from websites with a few lines of Perl and the Mojolicious framework.

  • Patent 9,384,286: Composite search results , US Patent and Trademark Office

    Published on: Jul 05, 2016

    Integrates e-commerce listings into general-purpose search results, enabling users to interact with and perform transactions directly with the products, thus creating a streamlined online shopping experience with fewer "abandoned shopping carts."