mirror of
https://asciireactor.com/otho/industry-cv.git
synced 2024-11-21 22:35:08 +00:00
Many latest updates.
This commit is contained in:
parent
20c46db740
commit
ab85473a47
150
document.tex
150
document.tex
@ -59,50 +59,77 @@
|
||||
\end{minipage}
|
||||
\noindent\begin{minipage}{\textwidth}
|
||||
\section{Software Engineering Tools}
|
||||
A list of tools I've used throughout my projects.
|
||||
|
||||
\skillgroup{Programming Languages and Protocols}
|
||||
\skillgroup{Dialects}
|
||||
{
|
||||
\textit{BASH}\quad
|
||||
\textit{C++}\quad
|
||||
\textit{Java}\quad
|
||||
\textit{Python}\quad
|
||||
\textit{Javascript}\quad
|
||||
\textit{Typescript}\quad
|
||||
\textit{Node.js}\\
|
||||
\textit{JSP}\quad
|
||||
\textit{C\#}\quad
|
||||
\textit{Perl}\quad
|
||||
\textit{Python}\quad
|
||||
\textit{Java}\quad
|
||||
\textit{Lua}\quad
|
||||
\textit{Regex}\quad
|
||||
\textit{C++ stdlib}\quad
|
||||
\textit{Git}
|
||||
}
|
||||
\skillgroup{Cloud and System Environments}
|
||||
|
||||
\skillgroup{Platforms}
|
||||
{
|
||||
\textit{Docker}\quad
|
||||
\textit{Kubernetes}\quad
|
||||
\textit{Native Cloud Stack}\quad
|
||||
\textit{GCP}\quad
|
||||
\textit{GNU/Linux}\\
|
||||
\textit{FreeBSD}\quad
|
||||
\textit{GNU/Linux}\quad
|
||||
\textit{Kubernetes}\quad
|
||||
\textit{Rancher}\quad
|
||||
\textit{Docker}\quad
|
||||
\textit{Focker}\\
|
||||
\textit{GCP}\quad
|
||||
\textit{AWS}\quad
|
||||
\textit{Heroku}\quad
|
||||
\textit{VMware}\quad
|
||||
\textit{KVM}\quad
|
||||
\textit{BHyve}\quad
|
||||
\textit{Xen}\quad
|
||||
\textit{VirtualBox}\quad
|
||||
}
|
||||
|
||||
\skillgroup{Cloud Computing Tools}
|
||||
{
|
||||
\textit{Istio Envoy}\quad
|
||||
\textit{Consul}\quad
|
||||
\textit{Datadog}\quad
|
||||
\textit{Prometheus}\quad
|
||||
\textit{Helm}\quad
|
||||
|
||||
}
|
||||
|
||||
\skillgroup{CI/CD and Configuration Management}
|
||||
{
|
||||
\textit{Terraform}\quad
|
||||
\textit{Vault}\quad
|
||||
\textit{Gitlab}\quad
|
||||
\textit{Github}\quad
|
||||
\textit{GnuPG}\quad
|
||||
\textit{CircleCI}\quad
|
||||
\textit{Quay}\quad
|
||||
\textit{Jenkins}\quad
|
||||
\textit{Agola}\quad
|
||||
\textit{Adamocomp}
|
||||
|
||||
}
|
||||
|
||||
\skillgroup{Systems Analysis \& Design}
|
||||
{
|
||||
\textit{PlantUML}\quad
|
||||
\textit{C4-PlantUML}\quad
|
||||
\textit{Structurizr}\quad
|
||||
\textit{Trilium Notes}\quad
|
||||
\textit{Notion}\quad
|
||||
\textit{Jira}\quad
|
||||
\textit{Productboard}\quad
|
||||
}
|
||||
|
||||
\skillgroup{High-Performance Computing and Data Science}
|
||||
{
|
||||
\textit{MPI} - Protocol for handling messages between parallel computing tasks.\\
|
||||
@ -126,38 +153,42 @@
|
||||
\section{Technical and Practical Skills}
|
||||
|
||||
\begin{itemize-noindent}
|
||||
|
||||
\item{Experienced providing real-time service delivery goals and monitoring in high-stakes environments.}
|
||||
|
||||
\item{Strong critical thinking and writing skills, providing for useful and thorough documentation and the ability to efficiently communicate technical concepts to the business.}
|
||||
|
||||
\item{Strong systems analysis and design skills provide a strong sense of component networks, system control flows, and abstractions; practiced in applying these concepts to document and troubleshoot solutions across all devops problem domains.}
|
||||
|
||||
\item{Understanding of the cloud native stack and applying those tools to serve cloud native applications.}
|
||||
|
||||
\item{Practiced in creating dynamic pipelines to automate system, application, network, and development operations, with an emphasis on saving time and adding efficiency to the decision-making process.}
|
||||
\item{Practiced creating dynamic pipelines to automate system, application, network, and development operations, with an emphasis on saving time and adding efficiency to the decision-making process.}
|
||||
|
||||
\item{\href{http://code.othoulrich.com/explore}{Significant programming experience}, with strength in many languages and libraries, and emphases on modeling and on \href{https://code.othoulrich.com/otho/adamocomp/-/blob/master/broker.sh}{scripting} to \href{http://othoulrich.com/examples/stage3.sh}{analyze} and justify \href{http://othoulrich.com/examples/create_fort_files.cpp}{large and inconsistent datasets} and \href{http://othoulrich.com/examples/backup.sh}{automate system tasks.}}
|
||||
\item{\href{https://code.othoulrich.com/explore}{Significant programming experience}, with strength in many languages and libraries, and emphases on the \href{https://othoulrich.com/examples/backup.sh}{automation of system tasks}, modeling, and on \href{https://code.othoulrich.com/otho/adamocomp/-/blob/master/broker.sh}{scripting} to \href{https://othoulrich.com/examples/stage3.sh}{analyze} and justify \href{https://othoulrich.com/examples/create_fort_files.cpp}{large and inconsistent datasets}.}
|
||||
|
||||
\item{Experience automating provisioning systems for cloud and other virtual environments, e.g. VMWare-hosted systems and the Google Cloud Platform.}
|
||||
\item{Ability to automate provisioning systems for cloud and other virtual environments, e.g. VMWare-hosted systems and the Google Cloud Platform.}
|
||||
|
||||
\item{Background in maintaining configurations across clustered hosts, and deploying software consistently across hosts in pretooled and custom pipelines.}
|
||||
|
||||
\item{Experience providing real-time service delivery goals and monitoring.}
|
||||
\item{Experienced maintaining configurations across clustered hosts, and deploying software consistently across hosts in pretooled and custom pipelines.}
|
||||
|
||||
\item{Training and practice in statistical learning, i.e. ``Machine Learning,'' with a variety of learning models.}
|
||||
|
||||
\item{Experience handling large, sparse datasets, i.e. ``Big Data,'' aided by cluster computing for \href{http://othoulrich.com/examples/run_analysis.sh}{analysis.}}
|
||||
\item{Experienced handling large, sparse datasets, i.e. ``Big Data,'' aided by cluster computing for \href{https://othoulrich.com/examples/run_analysis.sh}{analysis.}}
|
||||
|
||||
\item{Comfortable implementing and interfacing with many database systems, incl. SQL and NoSQL solutions.}
|
||||
\item{Comfortable implementing and interfacing with many database systems.}
|
||||
|
||||
\item{Experience with \href{http://othoulrich.com/examples/analyze_lightcurves.sh}{operating and programming for} high-performance cluster computing, i.e. ``Cloud Computing,'' using a variety of task scheduling platforms.}
|
||||
\item{Experienced with \href{https://othoulrich.com/examples/analyze_lightcurves.sh}{operating and programming for} high-performance cluster computing, i.e. ``Cloud Computing,'' using a variety of task scheduling platforms.}
|
||||
|
||||
\item{Practice in statistical analysis, real and complex analysis, \href{http://othoulrich.com/science/simple_fourier_transform.pdf}{Fourier analysis}, and potential theory.}
|
||||
\item{Practiced with statistical analysis, real and complex analysis, \href{https://othoulrich.com/science/simple_fourier_transform.pdf}{Fourier analysis}, and potential theory.}
|
||||
|
||||
\item{Familiarity with most computer systems, esp. \href{https://othoulrich.com/images/adamonet-bsd-install.jpg}{GNU/Linux and BSD}, with a strong shell \href{https://othoulrich.com/examples/plot.sh}{scripting ability.}}
|
||||
|
||||
\item{Strong sense of component networks, system control flows, and system abstractions.}
|
||||
|
||||
\item{Familiarity with most computer systems, esp. \href{http://othoulrich.com/images/adamonet-bsd-install.jpg}{GNU/Linux and BSD}, with a strong shell \href{http://othoulrich.com/examples/plot.sh}{scripting ability.}}
|
||||
|
||||
\item{Advanced knowledge of \href{http://othoulrich.com/science/spinz_commute.pdf}{physics} and inorganic chemistry.}
|
||||
\item{Advanced knowledge of \href{https://othoulrich.com/science/spinz_commute.pdf}{physics} and inorganic chemistry.}
|
||||
|
||||
\item{Practical and theoretical experience with electronics.}
|
||||
|
||||
\item{Working knowledge of physics codes and \href{http://othoulrich.com/examples/tophat_fft.pl}{signal analysis codes}, especially \textit{Cloudy}, \textit{LAMMPS}, and \textit{psdlag}.}
|
||||
\item{Working knowledge of physics codes and \href{https://othoulrich.com/examples/tophat_fft.pl}{signal analysis codes}, especially \textit{Cloudy}, \textit{LAMMPS}, and \textit{psdlag}.}
|
||||
|
||||
\item{Strong critical thinking and writing skills, with experience using document-preparation paradigms including \href{https://code.othoulrich.com/docs/cv/-/blob/master/cv.tex}{LaTeX}, Libre Office, Google Docs, Microsoft Office, and MediaWiki, with familiarity of \href{http://othoulrich.com/examples/utf8report.txt}{Unicode} and markup.}
|
||||
\item{Practiced with many document-preparation paradigms including \href{https://code.othoulrich.com/docs/cv/-/blob/master/cv.tex}{LaTeX}, Libre Office, Google Docs, Microsoft Office, and MediaWiki, with familiarity of \href{https://othoulrich.com/examples/utf8report.txt}{Unicode} and markup.}
|
||||
|
||||
\item{Developed public speaking presence with practice including 8 years of training, classroom, lecture hall experience, and invited talks.}
|
||||
|
||||
@ -245,37 +276,32 @@
|
||||
%------------------------------------------------------------------------------
|
||||
% Research
|
||||
%------------------------------------------------------------------------------
|
||||
\noindent\begin{minipage}{\textwidth}
|
||||
\section{Technical Experience}
|
||||
|
||||
%------------------------------------------------
|
||||
\noindent\begin{minipage}{\textwidth}
|
||||
\job
|
||||
{Present -}{2019}
|
||||
{TEKSystems, Ford Motor Company}
|
||||
{Present -}{2021}
|
||||
{Signal Advisors}
|
||||
{}
|
||||
{Network Automation Engineer (DevOps)}
|
||||
{Site Reliability Engineer}
|
||||
{
|
||||
\begin{itemize-noindent}
|
||||
|
||||
\item{Regularly contribute to and maintain the Network Services Gateway and API, which provides Network-as-a-Service functions using a micro-services stack, leveraging SDN with F5 load balancing. Services include self-service application migrations, load balancing, DDI, firewall, advisories, and other network services, servicing nearly 10,000 internal applications. Automation reduces the operator time necessary to deploy datacenter applications from days to minutes.}
|
||||
\item{Completed migration of Signal platform from GCP Cloud Run to Kubernetes (GKE).}
|
||||
|
||||
\item{Currently implementing Ford's Google Cloud Platform infrastructure using Terraform, and integrating it into the existing datacenter automation tooling.}
|
||||
\item{Installed and configured Istio service mesh using RBAC integrated with Google IAM to serve public and internal endpoints.}
|
||||
|
||||
\item{Delivered network service goals for brand and marketing sites for the Bronco and Mach-E product launches.}
|
||||
\item{Developed and maintained infrastructure as code using Terraform with hosting from GCP, AWS, Heroku, and Salesforce.}
|
||||
|
||||
\item{Helped lead real-time troubleshooting efforts during major product launches.}
|
||||
\item{Integrated Datadog monitoring (logs, metrics, APM, RUM, SIEM) with our systems.}
|
||||
|
||||
\item{Developed and supported DNS migration automation for thousands of campaign-based URLs, eliminating tens of hours per migration.}
|
||||
\item{Established standards for and continuously improved CI/CD using CirleCI and Github.}
|
||||
|
||||
\item{Helped define and automate statistics collection for team's service goals using Grafana and Prometheus, and currently working to create self-service statistics reporting for internal application customers.}
|
||||
\item{Established standard deployment model for microservices hosted in Kubernetes using Helm and Terraform.}
|
||||
|
||||
\item{Developed and maintained the CI/CD stack for NSG's APIs and web applications, using Docker, node.js express middleware, BASH, and Quay.io, freeing up days of time per application deployment.}
|
||||
|
||||
\item{Established and maintained environment and configuration standards for NSG linux systems and containers, and developed BASH programs to automate operations and node maintenance across cloud architecture, reducing the time to reconfigure cluster applications from about 1 day to about 30 minutes.}
|
||||
|
||||
\item{Developed APIs that automate advisories and Webex messaging, and load-balanced service discovery. This allowed customers to define automated service alerts that generate application-level advisories and team-based Webex alerts, removing significant human resources from the advisory process.}
|
||||
\item{Established standard build environments for our NodeJS, Terraform, and Python projects using containers suitable for local development and automated build environments.}
|
||||
|
||||
\item{Documented network services and network service APIs for Ford's app owners and cloud and fulfillment teams, operational software for our development team, and developed and led training to teach new developers to replicate our micro-services stack.}
|
||||
\item{Helped establishment standards for, interview, and hire SRE candidates.}
|
||||
|
||||
\end{itemize-noindent}
|
||||
}
|
||||
@ -291,15 +317,19 @@
|
||||
{
|
||||
\begin{itemize-noindent}
|
||||
|
||||
\item{\href{https://code.othoulrich.com/otho/adamocomp/}{Engineered the Adamocomp}, a bash and node-based RPA that uses a fuzzy data search over complex and unclean data to perform operations such as the installation of software and containers, or the modification and propagation of configuration -- reliably, consistently, and quickly -- across any number of clustered hosts.}
|
||||
\item{Currently designing a cloud compute service providing terminal and drive space with Filestash, with web office using Onlyoffice, file sharing, and additional services.}
|
||||
|
||||
\item{Maintain Adamonet cluster using ESXi virtualization, FreeBSD file servers, docker, middleware (Node.js), data storage (ZFS, mdadm, mhddfs), and standard network and server stacks.}
|
||||
\item{\href{https://asciireactor.com}{ASCII Reactor}: my Gitlab offering. Standard Gitlab-CE, with CI/CD and data services, for my projects, and those of a few customers and friends.}
|
||||
|
||||
\item{Contributed to development of a thermodynamics-based approach to statistical learning based on energy-decay networks.}
|
||||
\item{\href{https://code.othoulrich.com/otho/adamocomp/}{Adamocomp}: a bash and node-based RPA that uses a fuzzy data search over complex and unclean data to perform operations such as the installation of software and containers, or the modification and propagation of configuration -- reliably, consistently, and quickly -- across any number of clustered hosts.}
|
||||
|
||||
\item{Developed a simple statistical \href{http://othoulrich.com/science/entanglement.html}{program using Jupyter Notebook to demonstrate the physical behavior of quantum entanglement.} (2018)}
|
||||
\item{Boxgraph: my cloud infrastructure, using ESXi and FreeBSD virtualization, providing containerization, data storage with ZFS, and software-defined networking.}
|
||||
|
||||
\item{Developed, using R and Bash, a machine learning \href{http://othoulrich.com/science/ML Pulsars.pdf}{algorithm to classify pulsar candidates} which produced a 97\% accuracy rate across more than 15,000 data samples. (2017)}
|
||||
\item{Contributed to development of a thermodynamics-based approach to statistical learning based on energy-decay networks. (2018)}
|
||||
|
||||
\item{Developed a simple statistical \href{https://othoulrich.com/science/entanglement.html}{program using Jupyter Notebook to demonstrate the physical behavior of quantum entanglement.} (2018)}
|
||||
|
||||
\item{Developed, using R and Bash, a machine learning \href{https://othoulrich.com/science/ML Pulsars.pdf}{algorithm to classify pulsar candidates} which produced a 97\% accuracy rate across more than 15,000 data samples. (2017)}
|
||||
|
||||
\item{Developed \textit{TAAP}, a physics engine simulating particle interactions under gravitational and electromagnetic forces, in C++. (2014)}
|
||||
|
||||
@ -312,7 +342,7 @@
|
||||
%------------------------------------------------
|
||||
\noindent\begin{minipage}{\textwidth}
|
||||
\job
|
||||
{Present -}{2017}
|
||||
{2019 -}{2017}
|
||||
{Mjolnir Software}
|
||||
{}
|
||||
{Science Officer, Developer}
|
||||
@ -365,7 +395,7 @@
|
||||
\begin{itemize-noindent}
|
||||
|
||||
|
||||
\item{Using \href{http://othoulrich.com/science/clag_analysis-origbins-3471A.html}{Jupyter (python)} and frequency-domain techniques developed in C++, \href{https://clas.wayne.edu/physics/reu_reports/ulrich.pdf}{characterized the reverberation of NGC 5548 emissions} by the power spectral densities in the optical and UV lightcurves and their \href{http://othoulrich.com/science/final.pdf}{frequency-dependent time lags.}}
|
||||
\item{Using \href{https://othoulrich.com/science/clag_analysis-origbins-3471A.html}{Jupyter (python)} and frequency-domain techniques developed in C++, \href{https://clas.wayne.edu/physics/reu_reports/ulrich.pdf}{characterized the reverberation of NGC 5548 emissions} by the power spectral densities in the optical and UV lightcurves and their \href{https://othoulrich.com/science/final.pdf}{frequency-dependent time lags.}}
|
||||
|
||||
|
||||
\item{Solved the problem of gappy data in the lightcurves by using a statistical frequency-domain approach developed by Dr. Abdu Zoghbi, University of Michigan, provided as the \textit{psdlag} code. Wrote MPI routines to run these analyses in parallel on our computing cluster, saving hours of time per dataset.}
|
||||
@ -386,9 +416,9 @@
|
||||
{
|
||||
\begin{itemize-noindent}
|
||||
|
||||
\item{Developed tools using Bash, Python, and several Linux-based plotting programs to \href{http://othoulrich.com/examples/save_table2d_slice.cpp}{manage and visualize data hypercubes} from and \href{http://othoulrich.com/science/mpi_grid.out.example}{operate \textit{Cloudy}} to compute \href{http://othoulrich.com/science/he_lines.ps}{predictions} of emission line strengths across a parameter space including incident Hydrogen-ionizing flux, number density, and column density, with thousands of resolute points.}
|
||||
\item{Developed tools using Bash, Python, and several Linux-based plotting programs to \href{https://othoulrich.com/examples/save_table2d_slice.cpp}{manage and visualize data hypercubes} from and \href{https://othoulrich.com/science/mpi_grid.out.example}{operate \textit{Cloudy}} to compute \href{https://othoulrich.com/science/he_lines.ps}{predictions} of emission line strengths across a parameter space including incident Hydrogen-ionizing flux, number density, and column density, with thousands of resolute points.}
|
||||
|
||||
\item{Developed, using C++, a \href{http://othoulrich.com/examples/sed.hpp}{spectral continuum model} of the \href{http://othoulrich.com/science/mehdipour2013.png}{source radiation in NGC 5548}, adapting it as knowledge of active galactic nuclei grew, providing more accurate spectral data input compared to available models.}
|
||||
\item{Developed, using C++, a \href{https://othoulrich.com/examples/sed.hpp}{spectral continuum model} of the \href{https://othoulrich.com/science/mehdipour2013.png}{source radiation in NGC 5548}, adapting it as knowledge of active galactic nuclei grew, providing more accurate spectral data input compared to available models.}
|
||||
|
||||
\item{Work credited on the paper \href{https://arxiv.org/abs/1607.07308}{Constraints on the Broad Line Region Properties and Extinction in Local Seyferts.}, wherein predicted hydrogen emission line strengths are used to aid in the comparison of the broad H-I line ratios, providing a possible avenue toward a new classification schedule of Seyfert galaxies.}
|
||||
|
||||
@ -408,7 +438,7 @@
|
||||
|
||||
\item{Designed molecular dynamics simulations using \textit{LAMMPS}, and the Carbon-Carbon screened environment-dependent reactive empirical bond order potential function devised by the Materials Simulation Laboratory, to \href{https://meetings.aps.org/Meeting/MAR15/Session/D4.9}{test the mechanical properties, i.e. tensile strengths and stress-strain curves, of misoriented graphene bicrystals.}}
|
||||
|
||||
\item{Automated \href{http://othoulrich.com/examples/populate_bicrystals.sh}{bicrystal generation}, molecular dynamics tests, and statistical analyses, and ran them across our two available computing clusters to reduce the need for human input to once per day.}
|
||||
\item{Automated \href{https://othoulrich.com/examples/populate_bicrystals.sh}{bicrystal generation}, molecular dynamics tests, and statistical analyses, and ran them across our two available computing clusters to reduce the need for human input to once per day.}
|
||||
|
||||
\end{itemize-noindent}
|
||||
}
|
||||
@ -464,6 +494,8 @@
|
||||
|
||||
\begin{itemize-noindent}
|
||||
|
||||
\item{\textit{Signal Primary Cluster} - The Kubernetes cluster that hosts our platform at Signal Advisors.}
|
||||
|
||||
\item{\textit{Ford Global Network} - A global network including 8 major data centers and regional hubs. Our team at Ford built the Network Services automation software used for provisioning services in the next-gen data centers.}
|
||||
|
||||
\item{\textit{Cloud 9} - Used by the \href{http://www.nublado.org}{\textit{Cloudy} group} to develop plasma spectroscopy codes in a processor grid format.}
|
||||
@ -476,7 +508,7 @@
|
||||
|
||||
\item{\textit{WCCnet Hadoop Cluster} - Used by the Ann Arbor Transit Authority traffic analytics project, providing a Hadoop cluster with MapReduce on the ESXi hypervisor, designed and maintained by me as part of that project.}
|
||||
|
||||
\item{\textit{AdamoNet} - My cluster of \href{http://othoulrich.com/images/servers-tall.jpg}{physical} and virtual systems, using ESXi hosting and docker containers, providing ZFS and RAID storage, database services, remote backups, and an array of additional services.}
|
||||
\item{\textit{Boxgraph} - My cluster of \href{https://othoulrich.com/images/servers-tall.jpg}{physical} and virtual systems, using ESXi and FreeBSD hosting, docker containers, ZFS and RAID storage, database services, remote backups, and an array of additional services.}
|
||||
|
||||
\end{itemize-noindent}
|
||||
\vspace{\parskip}
|
||||
@ -489,8 +521,10 @@
|
||||
\section{Letters}
|
||||
|
||||
\begin{itemize-noindent}
|
||||
|
||||
\item{Edward M. Cackett, Abderahmen Zoghbi, \textbf{Otho Ulrich}, \href{https://iopscience.iop.org/article/10.3847/1538-4357/ac3913}{``Frequency-resolved Lags in UV/Optical Continuum Reverberation Mapping''} 2022, ApJ, 925, 29}
|
||||
|
||||
\item{D. Lawther, M.R. Goad, K.T. Korista, \textbf{O. Ulrich}, M. Vestergaard, \`href'{https://academic.oup.com/mnras/article-abstract/481/1/533/5076066}{``Quantifying the Diffuse Continuum Contribution of BLR Clouds to AGN Continuum Inter-band Delays,''} 2018, MNRAS, 481, 533-554}
|
||||
\item{D. Lawther, M.R. Goad, K.T. Korista, \textbf{O. Ulrich}, M. Vestergaard, \href{https://academic.oup.com/mnras/article-abstract/481/1/533/5076066}{``Quantifying the Diffuse Continuum Contribution of BLR Clouds to AGN Continuum Inter-band Delays,''} 2018, MNRAS, 481, 533-554}
|
||||
|
||||
\item{Anna Stephens, \textbf{Otho Ulrich}, Mariia Kravtsova, ``Machine Learning to Classify Pulsar Candidates,'' 2017, Western Michigan University, N.P.}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user