Robert M.

Robert M.

Document Designer

Followers of Robert M.230 followers
location of Robert M.Portland, Oregon Metropolitan Area

Connect with Robert M. to Send Message

Connect

Connect with Robert M. to Send Message

Connect
  • Timeline

  • About me

    DevOps Engineer

  • Education

    • Oregon Institute of Technology

      2005 - 2009
      B.S
    • Linfield College

      2002 - 2004
  • Experience

    • Portland Community College

      Jun 2005 - Jul 2005
      Document Designer

      • Redesigned a web form both on time and on budget.• Collaborated with Computer Technology faculty to revitalize the design of the web form.

    • Oregon Institute of Technology

      Aug 2005 - Sept 2006
      Intern Web Developer

      • Fulfilled customer's requirements by installing and configuring a Debian Civicspace server.• Assisted customer in describing the business logic of the application.• Presented project status to customer.

    • Express Employment Professionals

      Dec 2009 - Jan 2010
      Technical Support II

      Last Contract Date: January 2010• Discovered and clarified customer's computer problems using the Socratic Method.• Fixed customer's computer problems using the US Navy 6-step troubleshooting method.• Calmed down and gained cooperation from angry customers using the H.E.A.T. method.

    • Discover-e Legal

      Aug 2010 - Sept 2010
      Software Development Intern

      • Designed and collaboratively implemented a Domain Filtering Utility using C# 3.0, WPF, LINQ to SQL, Lucene.NET, and Microsoft SQL Server 2008.• Assisted coworkers in solving technical challenges on their projects.• Communicated progress with manager.

    • Liturgica.com

      Oct 2010 - Jan 2018

      • Wrote a Ruby script to aggregate and visualize the download statistics for downloaded albums.• Ensured that company’s servers and SSL certificates were unaffected by the Heartbleed bug.• Configured in-house software applications to send email messages to Gmail servers.• Outsourced our email services to Google Apps for Business.• Configured SPF records and DKMS (DomainKeys) for all managed domain names.• Led the development of an e-card site powered by both DotNetNuke and SQL Server 2008.• Configured and maintained valid SSL certificates across all managed domains.• Wrote stored procedure to automate the insertion of new albums into the download store.• Created the company’s Silverlight 4 powered cross-platform music purchase download manager.• Extended the RegexRenamer utility to recursively rename files in a file tree.• Consolidated company’s diverse profile of PHP and JSP websites onto a single CentOS server.• Collaborated with other developers to port and fix the company’s JSP-powered eCommerce site.• Evaluated and recommended a replacement virtual hosting options to consolidate our diverse web applications onto two virtual machines.• Managed and maintained company’s CentOS Linux server via a SSH-secured BASH shell. Show less • Wrote a program to streamline the adding of new albums to the company’s music download store.• Collaborated with co-contractors to launch the company’s time-critical e-card site on-time.• Partitioned the company’s download manager into a client server architecture using WCF.• Spearheaded the company’s move from using a custom-built and maintained server to using a hosted virtual machine, resulting in reduced initial and marginal server costs. • Designed and implemented extensible backend components for the company's Silverlight-based download manager using the Managed Extensibility Framework (MEF).• Created and distributed a patch for a currency bug in the 1-2-3 Music Store. Show less • Created a MySQL query to decrease new album insertion time by over 40%.• Automated the assignment of mp3 files to songs using C#4.0.• Analyzed the RESTful communication with http://www.liturgicamusic.com using Fiddler2 to author two C# 4.0 programs: one that automates the addition of album reviews and another that validates the downloadability of all songs being sold on http://www.liturgicamusic.com.• Created an extendable C# 4.0 program to generate a MySQL script to update song running times in a table inner joined with another table.• Used outer joins in a MySQL database to find tracks not associated with an album.• Validated and Processed download manifest files using Lookahead regular expressions.• Added new albums and tracks to music download store and validated existing content.• Communicated progress with manager. Show less

      • Lead Software Developer & Webmaster

        Jun 2011 - Jan 2018
      • Digital Music Software Developer & Administrator

        Jan 2011 - Jun 2011
      • Digital Music Intern

        Oct 2010 - Jan 2011
    • Indy Music Technologies

      Jul 2012 - Sept 2014
      Software Developer II & Webmaster

      • Collaborated with co-contractors to get two deployments of the company’s DNN-powered eCommerce engine setup and operational.• Ported designs for two music eCommerce sites to DotNetNuke as skins.• Documented defects, work left to be done in future iterations of the company’s eCommerce engine.• Implemented an extensible design for the company’s new multi-vendor music purchase download manager.• Built a C# and Ruby datatype generator using Ruby to automate the generation of boilerplate classes.• Collaborated with a web designer to realize his design for the company’s DNN-powered eCommerce engine using a combination of jQuery, HTML5 and CSS3.• Developed fluent ASP.NET 4 web pages using C# 5, .NET 4.5, HTML5, JavaScript, and jQuery.• Extended a 3rd party eCommerce engine using ASP.NET, C#, HTML5, CSS3, and jQuery to allow for the sale of digital and physical albums and tracks, along with regular products.• Built a test suite using NSpec and Moq to validate the suitability of ASP.NET Web API 2 for building the company’s digital product delivery software.• Debugged CSS rules and JavaScript code using Google’s DevTools.• Created an ORM for the company’s eCommerce database using Entity Framework.• Coached team members on the best practices of .NET-based general purpose, database-driven development.• Assisted the Project Manager in getting up to speed on the nature and scope of the company’s DotNetNuke eCommerce suite project.• Facilitated the hiring process for a dedicated project manager to manage the company’s DotNetNuke eCommerce project.• Designed several different domain models for the company’s digital product delivery software.• Furnished pertinent technical details for the company’s patent lawyer to use to patent the company’s eCommerce and digital product delivery suite.• Designed and implemented a 2nd normal form T-SQL database containing triggers and stored procedures. Show less

    • Solea Software Solutions Consulting LLC

      Jan 2013 - Aug 2013
      Software Developer II

      • Optimized performance of database queries using query caching and joins, resulting in performance improvements ranging from 1100% to 32,000%. • Co-authored a NoSQL-style database schema for a proposed software project. • Configured a SSH tunnel to securely connect to a SQL Server blocked by a firewall. • Held virtual meetings with team and stakeholders using both Google Hangouts and FuzeBox. • Communicated project status to managers and stakeholders. • Wrote a CSV parsing utility to upload new datasets into a SQL Server database. • Used Schema Crawler to create a list of all tables that create an audit trail when edited, placed tables not under audit protection under audit protection. • Wrote an Entity Framework program to extract MS Office documents stored in a SQL Server database. • Identified undocumented requirements for previously abandoned program suite consisting of a database-driven Silverlight application, a CMS website, and a web-based geo-data visualization program. • Documented the acronyms, terminology, dependencies, build instructions, workflows, purpose, and database schema of previously undocumented software suite. • Assisted co-worker in getting his computer to build the software suite we were working on. • Collaborated with co-worker in finding and fixing bugs in Silverlight application. • Coached co-worker on how to make and merge Mercurial branches. • Aggregated all the URLs and phone numbers used in the software program, collaborated with co-worker to replace them with current ones, placed in a centralized location. • Discovered, documented, and fixed defects using a bug tracker. • Drafted and enforced password policies for the production servers. • Analyzed and documented open ports on the production server using the nmap port scanner. • Co-authored formal assessment of the software suite using Google Docs, delivered report to stakeholders. Show less

    • Intel Corporation

      Oct 2014 - Sept 2023

      • Championed the acquisition and provisioning of 10 repurposed build servers that removed the bottlenecks on the CI pipelines of a critical software project, saving the company $55k over buying new servers. • Proved that there was no need to relocate 16 build servers from the US to Poland to improve build times or reliability, saving Intel tens of thousands of dollars in shipping and handling, plus weeks of downtime and wasted staff hours. • Created a Python-based vSphere VM manager to enable the powerup/down and snapshotting of multiple machines at once, reducing the deployment time of changes to VMs from hours to minutes. • Mitigated NTLMv1 authentication vulnerabilities by refactoring home grown build system to use the more secure and future proof zeep SOAP library over the suds library. • Addressed NTLMv1 authentication vulnerabilities by pioneering a method for securely mounting Windows SMB shares on FreeBSD using SSHFS protocol via a Linux proxy system. • Migrated from Chef to CINC, saving Intel tens of thousands of dollars per year. • Researched methods to use Test Kitchen to provide on-demand validation of Ansible playbooks as part of the division's shift to Ansible. • Prototyped a WSUS server to demonstrate efficiency improvements in updating Windows build systems. • Created methodology to provision Windows build systems using Chef automation, demonstrating it was both faster and more reliable than manual provisioning. • Collaborated with stakeholders to architect Jenkins artifact storage mechanisms, access control strategies, and to manage the scalability and robustness of the division’s Jenkins servers across multiple geos. • Administered division’s Jenkins server to enable users to rapidly test and deploy code changes. • Root caused performance issues with division's Jenkins server to Active Directory queries. Fixed invalid configuration settings, reducing page load times from 60+ seconds to negligible. Show less • Drove the adoption of Chef as a configuration management and DevOps automation tool throughout my team and department to drive efficiency, reduce infrastructure bugs. • Reduced turnaround time for new server provisionings from one week to half a day or less using Chef Infrastructure as Code. • Authored and maintained Chef recipes using InSpec and Test Kitchen. • Setup and maintained a Chef Server used by team. • Documented Chef best practices, recipe application instructions on corporate wiki. • Maintained infrastructure scripts and Chef recipes using GIT. • Tutored teammates on Chef recipe creation and Chef server administration. • Recommended using Packer to fully automate the creation of servers, trained team ultimately assigned with the exploration of Packer. • Wrote ASP.NET Web API application to insert records into a home-grown enterprise web application. • Proposed extensions to a custom enterprise ASP.NET website. • Built and administered a Jenkins CI/CD system to enable teams spread across multiple geos to test software changes and perform production releases. • Filed bug reports against Jira and Jenkins plugins. • Coached development team on how to debug a CI build failure their builds w/o having a login account on a Jenkins agent. • Installed and configured Klocwork and Protex client-side binaries on Jenkins agents. • Coached developers having trouble using GIT on the correct usage of GIT. • Researched cluster monitoring utilities, recommended three options to team. • Provisioned and configured Linux and FreeBSD build systems, documented BOM lists and configuration procedures, then automated configuration using Chef IaC. • Used SysRq keys to safely reboot hung Linux server. • Advised team on emerging technologies, such as Docker for Windows. • Resolved support requests using the Kayako ticket system. Show less • Implemented and maintained a CentOS-based Jenkins CI build server that ran Klocwork security scans, performed Bullseye coverage builds, and built RPMs nightly.• Wrote a proof-of-concept plugin for pytest that output a TAP (Test Anything Protocol) stream which could be used by Jenkins’ TAP Plugin to display test pass/fail metrics.• Extended a Python-based build script for company’s GTest and cmocka test suite to setup an HPC cluster, run tests against a live cluster, and tear it down.• Maintained and extended the C/C++ unit test suite infrastructure code using POSIX system calls to cover additional testing use cases as needed.• Wrote unit tests for a Modular Component Architecture (MCA) component using GTest.• Authored and responded to code reviews using review board.• Leveraged GIT to author and maintain C, C++, & Python code.• Developed and documented procedures to maintain the build scripts installed on a production CI server.• Researched and documented procedures for using the Valgrind Memcheck tool to trace memory leaks in an y cluster.• Used Valgrind Callgrind to debug performance with a HPC framework.• Wrote comprehensive instructions for setting up a Jenkins build server starting from a bare metal server.• Planned out and prioritized personal sprint tasks.• Coached teammates on building, developing, and testing a HPC framework.• Communicated status to manager. Show less

      • Infrastructure and DevOps Engineer

        Jul 2018 - Sept 2023
      • DevOps Engineer

        May 2015 - Jun 2018
      • HPC Software Engineer I

        Oct 2014 - Apr 2015
  • Licenses & Certifications

    • GPT-4: The New GPT Release and What You Need to Know

      LinkedIn
      Feb 2024
      View certificate certificate