Howdy! ππ€ I'm...
Dj D
Code monkey, software engineer, security researcher, open-source enthusiast, philomath, polymath.
21 years of personal experience in software engineering spanning multiple disciplines.
13 years of professional experience in software engineering, solution architecture, DevSecOps, cloud computing, and more.
About me
I'm a software engineer with a passion for open-source software, security research, and technology in general. I've been hacking on code since I was 12 years old and have been working professionally in the field for over a decade.
I've worked in a variety of industries including the software development industry, the telecommunications industry, the marketing industry, and the information services, academic publishing industry.
Bilingual English and Spanish.
If you're curious to dive deeper into my work, you can find my work:
Work experience
Staff Software Engineer in Test
GitLab
2022 - Present (2 years)
- Implemented Test Strategy, Test Coverage, coached other SETs and engineers across the org on effective strategies and implementations.
- Identified and designed new testing practices and tools to improve the quality of the GitLab. Provided risk analysis and security assessments during code reviews and during code authorship.
- Lead test automation infrastructure implementations across multiple product areas.
- Performed pipeline on-call duties, including incident response and resolution, often in collaboration with SREs.
- Leveraged various provisioning technologies (Kubernetes, GCP) to create and maintain test environments and tools.
- Lead a Working Group to implement a new Demo data seeding strategy for Solution Architects and Test Platform teams.
- Worked on and managed complex department initiatives.
- Assisted with a departmental transition from a "Quality" department to a "Test Platform" department.
- Defined and independently manage multiple projects within the Test Platform department.
- Perform regular code reviews and maintainership responsibilities for the gitlab-org/gitlab project.
- Contribute to, and maintain technical documentation.
- Participate in customer calls and takes part in Engineering outreach.
- Performed dozens of solo technical, and team peer interviews, leading to the hires of many Engineering Managers and SETs.
- Mentored other engineers, including Intermediate and Senior SETs.
- Recorded demos.
- Wrote and owned OKRs in alignment with higher-level org goals.
Senior Software Engineer in Test
GitLab
2018 - 2022 (4 years)
- First Quality Engineering Team member hired to GitLab.
- Established processes for the Quality team, such as documentation and onboarding processes.
- Established first iteration of test Quarantining and reporting processes.
- Regularly reviewed code and performed maintainership responsibilities for the gitlab-org/gitlab project.
- Participated in pipeline on-call duties.
- Wrote and owned OKRs.
- Mentored other engineers, including Intermediate SETs.
- Lead test automation infrastructure implementations across multiple product areas.
Solutions Architect II
Ericsson
2017 - 2018 (1 year)
- Helped author T-Mobile's Electronic Product Catalog, Order Management, and Order Negotiation Software Development Lifecycles, using GitLab as the backbone.
- Used Ansible and Rundeck to manage site infrastructure.
- Performed on-call SRE duties.
- Met with, and performed demos to clients.
- Wrote tools in Python, Bash, and Ruby to plug various tooling together.
- Authored a Ruby on Rails build tool from scratch to manage client builds and releases.
- Led regular update meetings with clients.
- Leveraged Azure to provision instances, manage CIDRs, and supply VPN gateways to client VPNs.
- Managed login, OpenSSH, and firewall security in RHEL machines.
- Designed and maintained a linux infrastructure a team in Chile.
- Mentored and led a Chile-based team to maintain their infrastructure.
- Provisioned and used Rancher (Cattle) to manage a fleet of Docker containers.
- Set up reverse-proxies.
QA Test Automation Architect
Ericsson
2016 - 2017 (1 year)
- Provisioned test pipelines from scratch using GitLab, Rundeck, and Jenkins.
- Authored a Containerized version of SoapUI.
- Created end-to-end test beds written in Python.
- Wrote custom SonarQube code-quality rules.
- Created an XML Extractor tool in Python for use in Continuous Integration.
- Designed and implemented entire software development pipelines including test automation.
Software Test Engineer
ProQuest
2011 - 2016 (5 years)
- Designed and implemented test automation architectures.
- Wrote end-to-end tests using Java and TestNG.
- Created a one-stop website for all things "Quality", written in PHP.
- Authored Jenkins pipelines to run continuous tests.
- Created a greenfield Ruby on Rails project to track test performance, and display graphs of the current infrastructure.
- Made a web-based subscription system to regularly email test reports to key personnel.
- Leveraged Rundeck and Ansible to provision virtual instances in AWS.
- Mentored other Test Engineers and engineers.
- Led regular brown-bag meetings to coach team members on test design and processes.
- Attended and represented the org at open-source conferences.
- Led an open-source initiative, inviting engineers around the area to the office, to discuss test automation and showcase ProQuest's testing paradigm.
Software Developer
Tria Design Firm
2008 - 2008 (~1 year)
- Used Dreamweaver to maintain E-commerce websites created in Joomla.
- Leveraged FTP to update webpages in-place.
Skills
A non-exhaustive list of my skills
Software architecture and design
Procient in designing software solutions from the ground up that meet client requirements and align with industry best practices.
Software engineering
Skilled in developing software applications (fullstack) using various programming languages and technologies.
Solution architecture
Experienced in designing and implementing end-to-end solutions that address complex business challenges, and demoing the product to customers, internal and external.
Test strategy
Proficient in developing test strategies to ensure comprehensive test coverage and validate software functionality.
Code reviews
Experienced in conducting code reviews to ensure code quality, maintainability, and adherence to coding standards.
Test automation
Proficient in designing and implementing test automation frameworks to ensure software quality and reliability.
DevSecOps
Knowledgeable in integrating security practices into the software development lifecycle to enhance security posture.
Collaboration
Adept at working in cross-functional teams to deliver high-quality software solutions within project timelines.
Problem-solving
Skilled in identifying and resolving complex technical issues to ensure software functionality and performance.
Attention to detail
Meticulous in reviewing code, identifying bugs, and ensuring software quality through thorough testing.
Adaptability
Quick to adapt to new design trends, technologies, and client preferences.
Communication
Effective in communicating technical concepts to non-technical stakeholders and collaborating with team members.
Transparency
Open and honest in all communications, ensuring clarity and trust within the team and with stakeholders.
Continuous learning
Committed to staying up-to-date with the latest technologies and industry trends through continuous learning and professional development.
Diversity
Open to diverse perspectives, thoughts, and ideas, fostering an inclusive and collaborative work environment.
Tech
Technology and/or concepts that I'm familiar with
Linux / BSD
Ruby
Ruby on Rails
Shell
HTTP
TCP / IP
HTML / CSS / JavaScript
SASS / SCSS
Git
GitLab
GitHub
Selenium WebDriver
Rust
Python
Java
Vue
Lua
GCP
AWS
PostgreSQL
MySQL
MariaDB
Azure
CI/CD
Jenkins
Docker
Microservices
Rundeck
Ansible
PHP
Perl
C#
Astro
UIKit
Tailwind CSS
Bootstrap
Grafana
Kibana
Rancher
RHEL
Kubernetes
Helm
TypeScript
Networking
REST API
Nginx
Redis
React
Portfolio
Notable projects that I've worked on, outside of my professional work
Selenium
Description:
Docker Selenium, Ansible Selenium, Ruby and Java bindings.
Role:
Core committer to the Project. Established release pipelines, participated in panel discussions, and contributed to the project in various ways.
Sublime Tabs
Sublime Text-type tabs for Atom editor
Description:
Written in CoffeeScript and LESS, this project is a plugin for the Atom editor that provides editor tab functionality, similar to the tab functionality found in the Sublime Text editor.
Role:
Designed and developed this open-source plugin to enhance the UX of the Atom editor by providing a familiar tab interface for people that were accustomed to the way the Sublime Text editor handles tabs.
Outcome:
This project was eventually merged into the Atom source, and is now a part of the Atom editor by default.
Docker SoapUI
Run SoapUI Tests through a Docker container
Description:
A Docker container containing a SoapUI installation and a Python webserver to run SoapUI tests. Downloaded over 500,000 times.
Role:
Created a Docker container that contained a SoapUI installation and a Python webserver to run SoapUI tests. This container is used to run SoapUI tests in a CI/CD pipeline.