➜ ~ name
Daniel Jay Haskin
Just call me Dan.
(There is no 's' at the end of my name, not "Daniel Haskins", but "Daniel Haskin" :)
➜ ~ email
➜ ~ headshot
➜ ~ avatar
➜ ~ blurb
My name is Dan Haskin. I live in Highland, Utah with my loving wife and four
beautiful children. I am a passionate DevOps Engineer. I am excellent at
bringing order from chaos. I am handy during and after an outage. Whatever it
is, I can learn it and teach others about it.
➜ ~ favorite-tools
I'm a vim addict. I use vim keybindings everywhere. Sway Window Manager,
Zathura PDF viewer, IMV, Qutebrowser, tmux, TUIs for chat, the whole
nine yards.
- Editor: NeoVim
- Shell: PowerShell (Windows), Bash (Linux)
- Terminal: ConEMU (Windows), tmux (Linux)
- Browser: Qutebrowser
- Infrastructure As Code: Ansible
- Programming Language (work): Python or Golang
- Programming Language (hobby): Common Lisp
- Knitting Needles: HiyaHiya
➜ ~ find-me
➜ ~ cv
Skills Summary:
- AWS: EKS, S3, CloudFront, Lambda, ECS, EC2, IAM, RDS, Route 53, CloudWatch, CloudFormation.
- Infrastructure as Code: Ansible, Terraform, CFT, SaltStack, Puppet, Chef.
- Build Systems: GitHub Actions, Jenkins, Bamboo, GitLab, TeamCity, Hudson.
- Build Tools: CMake, MSBuild, Autotools, Maven, Gradle, SCons, Ant, POSIX Make.
- Cloud and Virtualization: Kubernetes, EKS, vSphere ESX, Nutanix, OpenStack.
- Cryptography: x509, Microsoft Authenticode, GPG
- Languages: Python, Ruby, Golang, POSIX Shell (e.g., BASH), C++, C, C#, PowerShell, Java, Perl, PHP.
- Monitoring: DataDog, Nagios, Centreon, Grafana
- Networking: DHCP, DNS, nmap, arp-scan, NAS, NFS, SMB/CIFS
- Operating Systems: Linux, Windows.
- Packaging and Installers: DEB, RPM, MSI via WiX
- Version Control: Git, Subversion, Team Foundation Server.
- Virtualization/Containerization: Docker, VMware Workstation, KVM/libvirt, VirtualBox.
- Web Servers: nginx, Apache, IIS, Tomcat
Experience:
DevOps and Support Engineer
KPM SmartVision
Oct 14, 2024 - Present
DevOps Engineer, Infrastructure Engineer
Angel Studios
Nov 1, 2021 - July 30, 2024
- Implement monitoring and alerting for Kubernetes clusters, using TimescaleDB TOBS, Grafana, and Loki
- Migrate from TimescaleDB, TOBS, Grafana and Loki to using DataDog
- Implemented CI/CD pipelines for Kubernetes using ArgoCD, Amazon ECR, and GitHub Actions
- Mentored a DevOps Intern
- Maintain infrastructure as code for Angel, including for CDN,
load balancers, Kubernetes, S3 buckets, RDS and Redis instances, and other app needs.
- Helped implement a secondary CloudFlare CDN
- Help with financial decisions around AWS and CloudFlare, including for CDN and EC2 spend.
- Implemented cost-cutting measures around our cloud infrastructure
- Helped migrate parts of our IaC to Ansible
- Assisted in making all major decisions around infrastructure
- Administered DNS for Angel Studios, including marketing email records
- Relevant Skills: Team Planning and Mentoring, Kubernetes,
ArgoCD, GitHub Actions, Terraform, Ansible, Grafana, Loki,
Prometheus, DataDog, CloudFlare.
Automation Engineer
Verisk Analytics
May 1, 2018 - October 31, 2021
- Designed and implemented a custom Ansible/StackStorm automation suite for provisioning Nutanix VMs
- Wrote a database syncing application that synthesized people resource data from multiple sources
- Helped write a Flask application to host several in-house automations
- Helped mentor a new Python hire
- Wrote various ad-hoc automations for several different departments around the company
- Relevant Technologies: Python, Ansible, StackStorm, AWS Lambda, ECS, EKS, Oauth2, Flask.
DevOps Engineer
Dish Network
December 10, 2016 - April 30, 2018
- Manage salt states to enable devs and ops to deploy to four environments: dev, qa, beta, and prod
- Manage the Atlassian Bamboo build server and help developer teams set up builds
- Write and Jenkinsfiles and build scripts that packaged salt states as debian packages and install them on the salt masters
- Maintain in-house Django app allowing developers and ops to spin up VMs in an enterprise VMware environment
- Help set up and maintain Jenkins 2.0 CI/CD pipelines deploying to the four Kubernetes clusters for the four environments dev, qa, beta, and prod
- Maintain a HashiCorp Consul cluster in all four environments for use by developers and operations
- Relevant Technologies: SaltStack, Rancher, Kubernetes, Python, Consul, Jenkins, Bamboo.
Release Engineer
StorageCraft Technology Corporation
June 6, 2014 - November 15, 2016
- Write and maintain tools integral to the build system in Python, Golang, POSIX Shell, and PowerShell
- Automate testing our kernel module using Python, allowing us to test one build against over 90 kernels
- Write a JIRA plugin in Java
- Maintain BitBucket server for our git repositories
- Use Git to track build configuration and scripts
- Maintain and help perform releases with developer’s Git repostitories
- Maintain build jobs in Bamboo
- Maintain and use OpenStack on-premise cloud server as part of software builds
- Maintain build agents on Vmware ESX and OpenStack
- Create OpenStack images for use by the QA and Build team using KVM/libvirt tools
- Employ Docker to create infrastructure-independent builds
- Maintain numerous Linux and Windows build agents
- Create & maintain a SaltStack codebase to keep track of build agent configuration
- Maintain custom MSBuild scripts used to package C# applications
- Write and maintain WiX code to generate MSI installers
- Package product for Linux using DEB and RPM installer formats
- Sign Windows MSI installers using Microsoft Authenticode x509 Extended Validation certificate to get them to pass SmartScreen
- Work with GNUPG to sign DEB repositories and RPM installers, and secure and decrypt backups
- Use Grafana to monitor the OpenStack cluster for problems
- Maintain a CMake framework built to help the developers build our software cross-platform
- Work with Maven files to build the JIRA plugin I wrote
- Use DNSmasq to manage DNS records in OpenStack
- Troubleshoot general DHCP, DNS & networking issues using the nmap, arp-scan and nslookup tools
- Maintain NAS that makes build artifacts available via NFS, SMB/CIFS, and HTTP via nginx
Release Manager
DealerSocket, Inc.
April 28, 2014 - June 1, 2014
- Write a deployment tool in C# enabling parallel deployment of the MSSQL database, greatly speeding up deployments
- Help manage versioning and editing code to affect deployments using Team Foundation Server
- Release software to the cloud using TeamCity
- Coordinate with QA & Developer departments around releases of our software to the cloud
DevOps and Build Engineer
Adaptive Computing Enterprises, Inc.
January 3, 2012 - April 24, 2014
- Write POSIX Shell scripts for each product to completely build the project from code to release tarballs and RPMs, as well as run the unit tests
- Write POSIX Shell scripts included in release tarballs necessary to create RPMs from the release tarball
- Write Python scripts as part of building tools for automated testing
- Help set up and maintain GitLab server for our git repositories
- Maintain Puppet code in Git repositories
- Help manage releases in developer Git and Subversion repositories
- Build and maintain Jenkins/Hudson Continuous Integration Server
- Maintain a KVM server to house the build agents
- Build and linux maintain machines essential to development & build operations
- Set up smoke tests to test our entire production stack using OpenStack and Puppet
- Use puppet to track build agent configuration, and to set up a virtual machine as part of automated smoke testing of our product
- Write and maintain masterless puppet manifests used to capture the configuration of our build servers
- Create a code repository which turns masterless Puppet manifests into standalone RPM packages
- Create RPMs of our software for release to customers
- Sign RPMs using company GPG public key so that they can be consumed by our customers via YUM repositories
- Maintain Autotools and SCons build files used in building our native code projects (C++, C)
- Help maintain gradle build files used in building one of our Groovy code projects
- Help maintain maven build files used in building one of our Groovy code projects
- Maintain auto-indexing nginx server to make build artifacts available
- Ensure our groovy projects work with Tomcat so that they will work out-of-the-box when installed via RPM
Systems Administrator
Life Sciences College at Brigham Young University
July 29, 2009 - December 21, 2011
- Write scripts as part of maintaining servers using BASH and Perl
- Write PHP and JavaScript scripts for a reporting web page
- Develop a web interface for the Life Sciences Cluster in PHP using Symfony framework
- Maintain a PHP web interface for the college’s reverse web proxy
- Track the code base for our web interfaces via Subversion
- Use VMware vSphere to run and administer over 50 servers for use by the department, most of them Linux and some of them Windows
- Set up new Linux servers to meet the needs of the college
- Maintain the Life Sciences Cluster/Supercomputer using Linux technologies such as Perceus
- Set up x509 Client Certificate Authentication for our team monitor using IIS
- Manage Group Policy and Active Directory objects for desktops in the college
- Administer Nagios/Centreon server and respond to problems with department servers
- Maintain various Apache and IIS web servers
- Implement & maintain ProxyARP transparent router
- Implement department network intrusion detection system using Snort and Barnyard
- Troubleshoot general DNS and IP networking issues using dig, arp-scan and nslookup
Volunteering
Representative
Church Of Jesus Christ of Latter-Day Saints
November 29, 2006 - December 4, 2008
- Create campaigns at local wards to encourage and support missionary work
- Work with local leaders to help serve their congregations
- Work to establish a presence in the local community
- Work with investigators of the church to prepare them for the commitment of baptism
- Study & teach the gospel of Jesus Christ
Certifications
AWS Certified Developer - Associate
Amazon Web Services
March 11, 2020 - March 11, 2023
- Validation Number: GQ8BGW723N411ZKW
Certificate of Completion, Scrum Essentials
BrainTrust Consulting Group
September 29, 2016
SaltStack Certified Engineer
SaltStack, Inc.
March 4, 2015
- SSC ID: `0x786CED2F`, SSCE number 178
Education
Bachelor's Degree of Science in Computer Science
Brigham Young University
April 24, 2014
- Minors in Math and Logic
- Relevant Courses: Algorithms, Design Patterns, Data Structures, Machine Learning.
Awards
Eagle Scout Award
Boy Scouts of America
July 19, 2005
➜ ~ page-source
https://git.sr.ht/~skin/about.djhaskin.com
➜ ~