Chad Woolley

1-520-861-1183 · thewoolleyman@gmail.com

Job History

Staff Fullstack Engineer, GitLab
11.2019 - 6.2026

Had a great run at GitLab, worked with some amazing people and created some awesome stuff over 6 years 7 months. Was laid off June, 2026. Resume update pending. Check my GitHub (thewoolleyman) for what I'm currently hacking on.

Senior Software Engineer, Pivotal
4.2006 - 10.2019

I worked at Pivotal for 13 years doing full-stack web development and DevOps (before it was called devops). Rob Mee, the co-founder and CEO, interviewed and hired me as the 10th employee when starting Pivotal's Ruby on Rails practice (Rails had just hit 1.0). For the first year or so, I was the de-facto IT department, and set up the first CI box in the office. Pivotal is a pioneer and leader in agile, and I've done full-time TDD and pair-programming for most of my time there. I did many various things in my career at Pivotal; too many to list here, but I'm happy to discuss anything in more depth. Here's some highlights:

  • Pivotal Tracker: In my time at Pivotal, I worked primarily on Tracker since its creation. I had the 43rd commit in Apr '06, it is now at 53K+ commits. I'm the #1 committer on Tracker, with well over 2000 commits and 2 million lines of code (Don't know the exact numbers; Github's analytics only go back to 2010, and Tracker's source predates git itself). This was 13 years of full-stack Rails+JS+DevOps+Support over the lifetime evolution of a globally-used, high-traffic SaaS product, including 24-7 on-call production infrastructure monitoring and outage support, and answering support tickets.
  • Agile Consulting: In the early days at Pivotal (during the SF dotcom boom, where new tech startups like like Twitter, Github and Heroku were working closely with Pivotal), I worked on several agile consulting projects, enabling and training clients on software development and agile practices.
  • Cloud-Native App Transformation Trainer (Java): I worked as an instructor at Pivotal's Platform Acceleration Lab (PAL) co-teaching multiple 3-week-long tech-intensive workshops in the US, Singapore, and Bangalore, where we trained senior Java engineers and architects how to transform legacy apps to be Cloud Native. The workshops involved in-depth hands-on development and deployment exercises using cloud technologies to handle various aspects of building and deploying highly-scalable, highly-available, distributed systems. This included an emphasis on the "App Continuum" architecture evolution, which describes how to gradually evolve from a monolithic to a microservices architecture, and when microservices may not be appropriate.
  • Pivotal Tracker CloudFoundry On-Prem "Tile": I led a year-long effort to modernize and transform the Tracker Ruby on Rails app to be 12-Factor compliant and Cloud Native, and to be deployable as a self-contained on-premise tile.
  • And much, much more...
Various Freelance and Consulting Gigs
1.2002 - 1.2018

In addition to the full-time jobs listed here, I have had numerous part-time consulting jobs. These were all software development in a range of technologies, including mentoring Nigerian devs, Devops, Ruby on Rails, Javascript, PHP, and technical research. These were all remote work.

Software Developer, Ionami Design
8.2005 - 4.2006

With one other developer, I managed all aspects of developing and maintaining http://PlanitJewish.com. The codebase was hundreds of thousand of lines of complex Java, XML, XSL, and shell scripts. Used Resin, Apache2, Oracle 10g, and Subversion.

  • Managed 24/7 production support, including all aspects of deployment, maintenance, and system administration. Set up Linux servers from scratch, including Resin and Oracle 10g client/server installs. All of my production work was performed remotely, via ssh, VNC, and Remote Desktop.
  • Responded to a security audit which uncovered security flaws in the legacy code (some of which had been previously identified). Provided a detailed analysis and response to the audit (including HTTP header analysis) - by pointing out some flaws in the initial audit, and making code/db changes to help address remaining problems.
  • Created and deployed new customized sites for several cities, schools, and synagogues.
  • Managed support ticket estimation, prioritization, and status reporting with a customized Trac installation.
  • Closed hundreds of bugs, maintenance requests, and enhancement tickets.
  • Performed troubleshooting and debugging of complex production errors.
  • Provided monthly consolidated site traffic statistics using WebTrends. Wrote batch and Ruby automation scripts to cut several hours of manual labor out of this process each month.
  • Administered production firewall and load balancers.
  • Installed and migrated to multiple new servers (two redundant application servers, one database server, staging server, and tools/support server) with zero downtime.
  • Worked on Ruby on Rails applications, and wrote support/automation scripts in Ruby.
Software Developer, VMS
6.2004 - 7.2005

Developed and maintained internal and client-facing Enterprise Web and Client-Server applications.

  • Used Test-Driven Development, Spring, Swing, Hibernate, Tapestry, Maven, Oracle 9i/10g, Oracle Enterprise Manager, Apache Axis, Web Services, and AOP/AspectJ, in a generally Agile and XP-like environment.
  • Performed statistical performance analysis using the "R" statistical analysis package
  • Set up an enterprise-wide Continuous Integration solution using AnthillPro, which managed the automated build and deployment of common internal libraries, and cross-project dependencies.
  • Worked on a small (2-3 person) team which a wrote a client server Java application with a Swing GUI front end, which was automatically deployed with Java Web Start, and communicated via Web Services to a central server. The application automatically downloaded, synchronized, and played audio and video advertising media which the customers had purchased.
  • Worked with a team to write a client-server application infrastructure which uploaded and processed high-volume, real-time closed-captioning and audio/video data captured by PC clients in hundreds of TV markets nationwide.
Developer, Choice Hotels International
9.2002 - 6.2004

Worked on development of J2EE web-based Property Management system to be used by Choice Hotels franchisees worldwide. Studied and applied Core J2EE Design Patterns. Used Agile, Extreme Programming and Open-Source tools and practices, including: Frequent iterations and releases; aggressive refactoring using Eclipse; test-driven-development using Junit, Mock Objects, JSUnit and Cactus; Struts; Jakarta taglibs; Jakarta Tomcat; Aspect-Oriented Programming; and Continuous Integration using Ant and Anthill. Also used BEA Weblogic, MS SQL Server, and Tomcat.

  • Created Wiki website to manage team documentation and communications
  • Participated in database schema redesign and refactoring.
  • Responsible for redesign and support of continuous integration process. This included writing and maintaining several Ant scripts to manage the testing, integration, build, verification and publishing of entire application consisting of multiple projects. Used Anthill and Ant to automatically email teams and provide Ant logs when builds failed, and automatically publish artifacts, including links to archived artifacts and logs.
  • Used Eclipse IDE, including advanced features such as: AspectJ plugin; Jalopy plugin, import management, dependency management of multiple projects; JUnit Testing; remote debugging of Tomcat and Weblogic; and automated refactoring across projects.
  • Performed aggressive and efficient refactoring, using Eclipse. Wrote JUnit tests to prevent bugs from reoccurring. Leveraged Struts framework and taglibs to write compact and simple classes and JSPs.
Application Integrator, IBM Global Services
7.1995 - 7.2002

Performed team lead, technical lead, project management, customer interaction, requirements management, project planning, architecture, design, documentation, development, testing, integration, maintenance, and troubleshooting roles on several diverse projects:

  • IBM Web Development Project: Worked on a web project with Internet and Intranet components. Used Websphere Studio Application Developer, Websphere 4, Struts, Log4J, and Parasoft JTest. Collaborated on design and enhancement of relational database model and Object-Relational mapping. Designed and implemented persistence layer using Data Access Objects design pattern. Used the Struts framework to develop a pure-HTML expandable tree structure with the ability to modify data on any node of the tree.
  • IBM Healthcare Account (Horizon Blue Cross Blue Shield NJ): Worked on development of a commercial web application, using VisualAge for Java to develop for Websphere. Designed and implemented MVC/Model 2 architecture using Struts and JSPs, including custom taglibs. Interfaced with a back-end team that provided the Business/Model layer as J2EE Session and Entity Enterprise JavaBeans. To see screenshots and flow of the application, go to http://www.horizon-bcbsnj.com/ and click Brokers, Member Maintenance, Online Tutorial.
  • IBM Healthcare Account (Nasco): Worked on developing a Java/JSP web application using VAJ and Websphere. Designed and implemented MVC/Model 2 architecture, using Command Pattern for controller layer. Performed design/administration of test and production databases.
  • University of Michigan Healthcare (UMHHC): Was Team Lead for the Support Team, which was responsible for Environment and Configuration and Change Management. Participated in Architecture and Design reviews and Object Oriented Analysis and Design effort using UML. Planned and managed the acquisition, installation, configuration, and support of multiple servers (Win2K and AIX) and workstations. Planned and coordinated migration of entire development group to Win2K Active Directory Domain. Planned the acquisition, installation, configuration, and usage of several client- and server-based software tools, including Websphere, Oracle Database, Rational Rose, Requisite Pro, ClearCase, ClearQuest, and MS Project Central. Planned and completed Document of Understanding with Tucson Server Support group to provide administration, support, and backup/recovery of servers. Participated in the interview and hiring of contractors who worked on Support Team, and was responsible for their training and task assignments. Created detailed Project Plans in MS Project based on Rational Unified Process methodology. Instrumental in the planning, implementation and support of a project "Team Site" which incorporated several Lotus Notes Databases as well as an HTML- and Javascript- based homepage, and was replicated between Tucson and Michigan.
  • w3.ibm.com ("Enterprise Knowledge Portal"): Worked on major redesign of w3.ibm.com Intranet home page, which supported user customization and storage of links, and automated display of customized, continually updated links to users based on their "profile" (employee's rank, location, position, etc). Worked with a widely distributed multi-team group, which required communication with management, architects, and development teams in multiple locations across US and worldwide. Collaborated on design and implementation of a fairly complex relational database model, including consideration of normalization, performance and integrity issues. Worked on design and implementation of overall object model and application architecture. Designed and coded servlets and associated Java/DB2/XML back-end code. Responsible for design and implementation of an XML-based scheme for storage of high-volume user data. Assisted in support of testing group, and helped coordinate problem determination and resolution of issues found during testing.
  • Track2: Held Technical Lead role, performed Project Management responsibilities, and was primary customer interface. Worked with customer to transform requirements into design, and managed development and deployment over several releases. Designed and implemented integration of Notes databases with MVS/TSO-based IBM HR Database, including mainframe batch jobs and Notes agents to synchronize data on a nightly basis. Track2 played a key role in ISO 9001/14001 certification of IBM's Storage Technology Division. It tracked audits and automatically escalated managers as required.
  • CallOwn: Performed design and development on several CRM/Call Center applications. Gained experience in Java, VisualAge for Java, Object-Oriented design/programming, REXX, Lotus Notes, Notes/C APIs, Notes/Java APIs, and Notes integration with host-based databases.
  • Distributed Services Billing: Worked on design and development of Java Swing application to automate billing and web-based reporting for cost-recovery services, such as Phones, Userids, and Help Desk calls.
  • Configuration Management: Held Configuration Management Lead role on several projects. Designed, documented, implemented, and enforced Configuration Management and Control policies and procedures. Administered CM systems using CVS, Rational ClearCase, CMVC, ISPF/LMF, and SCLM, including the design and coding of several custom utilities and interfaces.
  • Other projects: Worked on several teams to support a applications using COBOL PL/I, CICS, AIX, and MQSeries, including 24-hour on-call support to troubleshoot production problems for major external customers.
Technician and LAN Administrator, New Mexico State University, Department of Chemical Engineering,
9.1992 - 6.1995

Installed, maintained, and administered a NetWare Ethernet-based local area network and all departmental computing resources, including initial installation/configuration of a server, computer lab, and many LAN-based applications, and physical installation of network cabling and fiber-optic security system. Hand-made RS-232 cables and Ethernet cables. Designed and created relational database systems for inventory, student, and alumni records. Created and administered a public departmental web site during the infancy of the WWW, which was accessed using Netscape 1.0.

Formal Education

Bachelor of Business Administration, with Honors, Business Computer Systems
8.1990 - 5.1994

New Mexico State University, Las Cruces, New Mexico, May 1994, 3.7 GPA

Associate in Pre Business
8.1990 - 5.1992

New Mexico State University, Las Cruces, New Mexico, May 1992, 3.5 GPA

Open-Source Projects Created/Contributed

Fixture Builder
1.2012 - current

https://github.com/rdy/fixture_builder - I am the sole active maintainer of Fixture Builder, which brings together the best of both worlds in Ruby on Rails testing - The maintainability of Object Mothers + the speed of Transactional Fixtures.

process_helper
7.2014 - current

https://github.com/thewoolleyman/process_helper - I created and actively maintain process_helper, which "Makes it easy to spawn Ruby sub-processes with guaranteed exit status handling, capturing and/or suppressing combined STDOUT and STDERR streams, providing STDIN input, timeouts, and running via a pseudo terminal."

GemInstaller
7.2009 - 5.2010

GemInstaller was by far my most successful and popular open source project. It has 77,000 downloads (FWIW), but has been deprecated since 2010, when Bundler superseded it. But until then, it was widely used as the best way to manage Rails dependencies, superior to the flawed "config.gems" approach which Rails itself provided. I conceived and wrote GemInstaller from scratch, using Rspec and a Behavior-Driven Development approach. It had a thorough and extensive test suite, and was continuously integrated against multiple RubyGems releases.

VirtualMock
1.2002 - 1.2004

https://sourceforge.net/projects/virtualmock/ - I created VirtualMock, a Java unit testing tool based on an idea from an article in XP Magazine. It uses Aspect-Oriented Programming (AOP) and supports the Mock Objects testing approach. The key feature it had was the ability (via AOP/JVM bytecode manipulation) to mock static class methods. I now realize that this is an anti-pattern in almost all cases, but I was young and naive, and it was a good OSS experience ;).

Ruby on Rails
1.2006 - 1.2017
  • Contributed to Rails Core (preinitializer.rb which facilitated the use of GemInstaller
  • Moderator for rails-core mailing list for several years.
Pivotal
4.2006 - current

Contributed to various Pivotal-created open source projects.

CruiseControl.rb
7.2005 - 11.2008

Contributed to build serialization support.

EMMA
5.2003 - 2.2009

http://emma.sourceforge.net/ - a Java code-coverage tool. Was a committer, rewrote the Maven 1 Plugin for EMMA from scratch, and helped monitor the mailing list.

EasyMock
10.2004 - 12.2008

http://www.easymock.org - contributed to the EasyMock mailing list for a while, and helped out with the class-mocking patch, which I was kindly given credit for.

JFig
1.2004 - 1.2005

http://jfig.sourceforge.net/ - contributed to Jfig a bit. It was really cool, but then Spring came along with PropertyResourceConfigurer. :)

VCardSplitter
8.2003 - 1.2004

http://sourceforge.net/projects/vcardsplitter/ - A small utility that I wrote for my own use, and then open-sourced to see if anyone would find it useful. My first Open Source experience; it only took me a few hours to write but people still downloaded it!

AntHill
12.2004 - 9.2005

http://www.urbancode.com/projects/anthill/ - (one of the first Continous Integration tools) - contributed a couple of small patches to Anthill, and helped out on the Anthill OS and Anthill Pro mailing lists while I was using it.

Writings, Publications, Presentations, and Awards

Instructor for Pivotal Platform Acceleration Lab
current

Co-taught multiple 3-week-long intensive technical courses on transforming legacy Java apps to be cloud-native.

Pivotal Blog
current

blogged at Pivotal Labs (apologies for the random-order link, recent migrations of Pivotal blog has made it hard to link to my articles)

Presenter at RailsConf 2008
current

CI for the Rails Guy (or Gal) - An update of my Continuous Integration tutorial for RailsConf 2008.

Presenter at Agile 2007 Conference
current

CI for the Web 2.0 Guy (or Gal) - A hands-on tutorial on Continuous Integration presented at the Agile 2007 conference.

IBM Developerworks Technical Article
current

"Introduction to Spring Using Swing" - A tutorial published on IBM DeveloperWorks

Hackfests
current

Winner in the November 2007 Rails Hackfest

Book Reviews
current

Reviewed "Junit Recipes" and had my open source project mentioned in it, reviewed "Craft GraphQL APIs in Elixir with Absinthe"

Various User Group Presentations
current

Informal presentations at the Tucson Java Users Group, East Bay Ruby Users Group, and lightning talks at technical conferences.

Various Awards - IBM
current

Peer Star Silver Award, "Dinner for Two" Award for Technical Contributions, Three 'Thanks' Peer Recognition Awards

Classroom Instruction - IBM
current

Prepared and taught several end-user training classes

Skills/Tools - Methodologies/Processes

Growth / Lean often
current

I have worked on teams which use Lean Startup style practices and related modern growth-focused methodologies and approaches, including metrics-driven planning, validated learning, pivot-persevere-kill, "double-diamond" (discover-define-develop-deliver), etc.

agile / Extreme Programming (XP) teach
current

I've practiced and taught agile/XP for close to 20 years, long before big-A Agile became a buzzword. I am very familiar with agile methodologies, and their various pros and cons, benefits and drawbacks, in various situations.

Continuous Integration (CI) teach
current

For nearly as long as CI has been around, I've created, used, and maintained CI systems (the first tool I used was Anthill Pro, the first commercial CI tool). It is one of my areas of most expertise. Tools used include: GitLab, Travis CI, Circle CI, Buildkite, Concourse CI, CruiseControl, CruiseControl.rb, AntHill, Luntbuild, and others.

Continuous Deployment (CD) teach
current

Created and maintained continuous deployment pipelines for many projects, including large-scale high-availability blue-green deployments. Tools used include GitLab, Heroku, Circle CI, Concourse CI, Amazon AWS, unix-based homegrown, Capistrano, and others.

Testing - Unit / Integration / Browser / TDD / BDD teach
current

I've written thousands of automated tests, at every level, in both Detroit/Classical style and Mockist/London style. On Pivotal Tracker, I helped grow an app from greenfield Rails 1.0 to tens of thousands of tests on the front and back end. Tools/frameworks used include: Rspec, Jest, Jasmine, Capybara, Junit, Selenium, Enzyme, Jmock, Easymock, and others.

Event Sourcing (ES) once
current

Familiar with event sourcing as an architecture, and have worked on Pivotal Tracker which used a "Command" architecture before the "Event Sourcing" term was coined/popularized.

Command Query Response Segregation (CQRS) played
current

I've studied this architecture, which is closely related to Event Sourcing, but have not yet used it strictly on an app.

Patterns/Architectures toolbox
current

Here's a list of various patterns/architectures in my toolbox: Loose Coupling and High Cohesion (almost everything else flows from these fundamentals, IMO), Functional Programming, Object-Oriented Programming (OO), SOLID OO patterns, Refactoring book patterns, Gang of Four Design Patterns book patterns, REST.

Other Tools often
current

Grab bag of older stuff I've used: Trac, XPlanner, MS Project, Rational Unified Process, Enterprise Unified Process, Software Configuration Management Patterns and Process Patterns, J2EE Core Patterns.

Skills/Tools - Frontend Languages/Libs/Frameworks

Javascript / ECMAScript toolbox
current

I've done Javascript since Javascript came out, and have written tons of it, but always tended to work more on the backend than the frontend, so I never got as strong as I would have liked, and honestly never liked the ecosystem that much. But ES6 and TypeScript have changed that; I'm really enjoying working with them nowadays!

Frontend Build/Tooling toolbox
current

I've used NPM, Yarn, Babel, Webpack, Webpacker, React on Rails, Rails Asset Pipeline, Sprockets, as well as many older approaches.

Vue.js / Vuex / bootstrap-vue once
current

I wrote this resume in Vue+Vuex+bootstrap-vue! It was my first experience with the Vue ecosystem, and I'm a fan!

React/Redux often
current

I've used React/Redux on multiple apps

Typescript played
current

I'm a big proponent of strong-typing + strong type inference + null safety for modern development. I've started using Typescript on some personal projects, and I like it.

Other Frontend Tech often
current

Grab bag of various stuff: ES6, Kotlin/JS, Jest, Jasmine, Jquery, Prototype.js, YUI, others...

Skills/Tools - Backend Languages/Libs/Frameworks

Backend Stuff often
7.2001 - 8.2001

Tons of stuff over the years, here's a random and non-exhaustive list: Ruby, Rails, Javascript, Typescript, Kotlin, Elixir, Phoenix, Haskell, Java, Struts, J2EE, JSP, Servlets, PHP, XSL, C

Skills/Tools - Databases

Various Databases toolbox
current

SQL, Ruby on Rails Migrations, Mysql, Postgres, Sqlite, MS SQL Server, Oracle 9i/10g, DB2/UDB, SQL/DS, MS Access, Continuous Database Integration, Agile Databases, Relational Database Design/Modeling/Implementation

Various DB/Persistence Tools and Approaches toolbox
current

Rails Migrations, Rails Transactional Fixtures, Continuous Database Integration, Agile Databases, Relational Database Design/Modeling/Implementation

Skills/Tools - DevOps/SecOps/OS/Sysadmin

DevOps / SecOps / OS / Sysadmin - Tools and Tech toolbox
current

My first sysadmin experience was setting up and running a Netware network, and I've been using and administering Linux since Linux came out. I'm proficient with Linux command line utilities. Here's a big list of stuff I've used: Linux (Alpine, Ubuntu, Redhat, Fedora, Debian, WBEL3, etc), Bash, Posix, apt/aptitude, yum, VMWare, Solaris, AIX, Cygwin, Unix/Linux Shell Scripting and command line tools, installing/building Unix packages via RPM/SRPM/source, DOS, Windows 9x/ME/NT/2000/XP/8/10, OS/2, MVS/TSO, etc...

Modern Infrastructure Tools often
current

I've been doing less infrastructure work recently, but here's some of the things I've worked with: Kubernetes, CloudFoundry, Amazon Web Services, AWS Lambda, AWS CloudFormation, other various AWS tools, Docker, Chef, Ansible, Puppet, BOSH, Pivotal Platform (née Pivotal CloudFoundry or PCF), Pivotal Web Services (PWS), Google Cloud Platform (GCP)

Observability/Monitoring/Metrics often
current

I believe Observability (O11y) is an important paradigm shift - a much needed new perspective on how to approach this problem. I enjoy following Charity Majors, and I attended O11yCon a couple of years ago - and it was great. Tools: Honeycomb, Scout, NewRelic, Splunk, Datadog, AWS and GCP logging and metrics, etc.

Older Infrastructure Tools often
current

Mongrel, Lighttpd, Tomcat, Apache Axis, BEA WebLogic, WebSphere, Resin, Apache/Apache2/IHS, Jetty, "R" statistical analysis package (for lack of a better category), WebTrends, MS IIS, JTest, Rational Rose, MQSeries, Lotus Enterprise Integrator, others

Skills/Tools - Editors/IDEs

Jetbrains IDEs toolbox
current

Jetbrains IDEs are what I use for coding - Rubymine, Webstorm, Idea, Pycharm, PHPStorm

Atom / VSCode / Textmate toolbox
current

I use Jetbrains IDEs for coding, and only use text editors for quickly editing text files. I am very proficient in them, and would consider myself a power user in terms of keybinding usage, configuration (versioned in git), refactoring tools, debuggers, quickly exploring git history and annotations, etc. However, I do not use them for source control, other than visual diff and merge conflicts - I like my CLI for git :) The only other exception when I do not use them for coding is when Jetbrains does not have good enough support for the language (e.g. for Elm or Haskell when I last checked). I usually use Textmate as my text editor, because my main criteria for a text editor is that it starts instantly, but but occasionally use vi or Atom or VSCode if it's handier.

vi/vim toolbox
current

I only use vim/LESS when I have to, which nowadays is primarily when doing git command line commands. I can perform necessary basic tasks easily, but am nowhere near a power user.

Emacs once
current

Never learned emacs very well or became proficient. Tried Spacemacs recently, but went back to Jetbrains.

Skills/Tools - Remote Working

Remote Working and Remote Pair-Programming teach
current

I've worked remotely for almost 20 years, and remote pair-programmed nearly full-time for the last 13. I've got a lot of experience with the psychological and technical aspects of it, which are far too extensive to discuss here. Let me know if you want to talk more about it!

Remote Working Tech teach
current

Here's a random list of Remote Working tech I've used: Zoom, Skype, MacOS Screen Sharing, ScreenHero (RIP), Tuple, tmux, ssh, screen, NoMachine NX, VNC, Windows Remote Desktop, etc.

Skills/Tools - Networking

Networking Stuff often
current

It's rare that you have to get too low in the networking stack in the glorious Cloud-Native future in which we live, but it's good to know your way around. Here's some stuff I know/have known: Network traffic analysis using Ethereal/Wireshark, HTTP header/cookie analysis, ssh, ssh port forwarding/tunneling, automatic key-based authentication using ssh-keygen and ssh-agent, scp, rsync, tftp, Putty, WinSCP, Basic Router/Load Balancer/Firewall administration, TCP/IP, MS Networking, NetBIOS/Samba, MS Active Directory, Novell, General Network Installation/Configuration/Troubleshooting/Administration

Skills/Tools - Source Control

Source Control Management (SCM) tools teach
current

I've managed and worked with many source control systems, going back to mainframe days. I'm glad we have git now :). Here's some of them: GitLab, Github, AWS Codecommit, Git, Subversion, SVK, CVS, ClearCase, SourceSafe, ClearQuest, ReqPro, RACF, CICS

Source Control Management Patterns teach
current

Experienced and opinionated on tradeoffs of various SCM workflows and patterns: Monorepo vs. Multi Repo, Monoliths vs. Monorepos, Merge vs. Rebase workflows, Gitflow, Github Flow, etc. One of favorite git CLI tricks is: git rebase -i $(git merge-base head master). UPDATE: While studying for the GitLab technical interview, I found this documentation on GitLab Flow. Yes, I agree completely! It almost exactly echoes my opinions in the link above, including my criticisms of the Git Flow approach, usage of rebasing for feature branches, and the importance of --no-ff when merging upstream.

Skills/Tools - Legacy/Mainframe

Old Legacy Stuff often
current

COBOL, JCL, PL/1, Rexx, ISPF, Lotus Notes, OS/2, MVS/TSO, VM, Solaris, AIX

Favorite Books/Articles

Personal Info

Personal Info
current

I have a lame and outdated website, https://thewoolleyweb.com, with some outdated info, some music I've written and recorded, some pics and videos, and links to all my social media accounts, all of which are completely public. Or just Google thewoolleyman, I've been on the web since there's been a web; I'm transparent and easy to find :)