🧔♂️ Shane OHara
✉️: shane at oharaspace
👋 Hi, I’m a happy Engineering Manager and still like to get my hands dirty when I can. I’ve been writing code professionally for over 15 years and I’ve been in technical leadership roles for nearly 7 years.
I love getting into the weeds of tricky technical problems and coming up with creative solutions, but I can also do the human side: communication, collaboration, and coordination. Not everyone can do the fun coding work; some of us have to take a step back and help everyone work together to achieve our goals!
👨💻 Experience
Bottomline Technologies
Software Engineering Manager (Nov 2020 - Present)
- I currently lead a cross-functional team of 16 where 3 of the senior engineers are direct reports
- I still enjoy writing code and troubleshooting (and fixing!) bugs, but have mostly moved to a mentorship role overseeing progress across 3 development projects for which I am responsible
- We have bugs like all software products that actually get used, but our stability, agility, and capabilities have become an example in the company
- Enforcer for keeping things simple, avoiding over-engineering while also avoiding too much technical debt; some debt is inevitable but it must be managed!
- I have excellent working relationships with our Product, DevOps, IT, Support, Security, PreSales, UI/UX Design teams, and senior management
- Pretty good at translating technobabble to VP-speak, and vice versa
- We follow some agile methodology but I try to keep things light and loose; some structure is needed but too much can kill productivity, creativity, and happiness of the team
Software Architect and Tech Lead (Dec 2016 - Nov 2020)
- Lead Architect for a new Invoice Automation SaaS product from scratch
- C# ASP.NET Core (since beta versions and now to 6.0), and a little Java
- Became Subject Matter Expert in Accounts Payable, Invoicing
- Developed Invoice OCR/Extraction engine, with line/table extraction and line matching to Purchase Orders
- KeyCloak AuthZ/AuthN with AzureAD SSO integration and Okta
- Postgres databases; queries, indexing, performance tuning, partitioning, data migrations, and liquibase schema versioning
- Dynamics 365 ERP integration with OData+Rest
- First version was located in the UK and based on Windows Virtual Machines, led effort to containerize and run on kubernetes cluster with RHEL
- Led critical data migration work moving live customers with minimal downtime to new platform
- Led most scheduled deployments, patches, and hotfixes
- Led most troubleshooting sessions for the craziest bugs and support cases, while cross-training our support engineers and documenting common scenarios
- Serilog and ELK+APM stack for structured, queryable logging - Elastisearch, Logstash, Kibana
- Jenkins and Gitlab Continuous Integration and Continuous Deployment
- Our OCR engine, Extraction engine, PDF parsing capabilities, and ERP data matching algorithms each became reusable microservices shared by other products and projects in the company (by popular demand)
- Some of those extraction and matching capabilities led to a patent (more info at the bottom) where myself and another developer are listed as inventors
Senior Software Engineer (Oct 2012 - Dec 2016)
- The Invoice Automation project we created at 5280 Solutions was split out (amicably) into its own startup company for a while, and then was acquired by Bottomline Technologies
- Instead of being a flexible framework for client engagements, we put real engineering work into making it a scalable, reusable product
- Led the efforts to add unit tests, automated UI tests, reliable installers, code documentation, troubleshooting guides, and other “productizing” work
- Developed a few small services automating and solving the biggest pain points
- Designed iOS mobile app for invoice approvals, and developed the C# backend
5280 Solutions
Software Developer (Jun 2010 - Oct 2012)
- C# ASP.NET development, my first significantly sized web application codebase, for which I later became the lead developer
- Invoice automation, workflow design
- Finance ERP integrations: JDE, Dynamics AX, and GP
- Also SharePoint integration and reporting, but I won’t be doing that again so don’t ask
- Requirements analysis, consulting, and technical support for our biggest client
Booz Allen Hamilton
Senior Technical Consultant (Jan 2008 - Jun 2010)
- Worked with the US Army for a while at Fort Sam Houston, IMCOM West (at the time) revamping their website
- Then back to Lackland AFB, this time helping with network defense
- Wrote network scanning software that was used on many Air Force bases to detect vulnerabilities and intrusions
- Targeted scanners for file system, memory, and Windows Registry
- Lead a project to test this software, using a thousand virtual machine network using VMware ESX
- Built another virtual machine network using “HoneyMonkey” technology for researching browser exploits
United States Air Force
Computer Programmer (Dec 2003 - Dec 2007)
- On Lackland AFB, near Air Intelligence Agency, there was a group called AFIWC (Air Force Information Warfare Center), now called 688th Cyberspace Wing
- Information System Security Office for a while, then moved to the Information Operations division where we tested, analyzed cyber warfare tools
- Ran classes, trained operators in what these tools can do and how they work
- Learned ASP.NET and C# for an internal-only catalog of those tools
- Studied buffer overflows, sql injection, rootkits, and network scanners
- Went to Black Hat and Defcon in 2006 and stood up when they asked everyone who worked for the gov’t to rise
- PT (Physical Training) leader
- President of the Airman Council in our org; we threw some fun events and helped the younger enlisted members adjust to military life
- Twice recipient of Division “Airman of the Year” award: 2005, 2006
👷♂️ Technical skills
- Primarily web applications, API backends, and writing small tools for automating the manual stuff
- Unit tests, Integration tests, UI tests
- Some Python, Java, and JavaScript, but mostly C#/.NET (the modern stuff, not the old Framework stuff!)
- Very comfortable developing on Linux but I’m no sysadmin
- Somewhat comfortable with Kubectl, helm, docker technologies, and I’m also familiar with how complex those architectures can get
🤓 More about me
- Patent in 2021: Partial perceptual image hashing for invoice deconstruction
- Military Service: US Air Force Computer Programmer 3C0X2. Enlisted Senior Airman E-4 rank. Had TS/SCI clearance but it expired in 2012
- Education: Bachelor’s Degree in Computer Science from Park University. Started my degree at Texas A&M, but then joined the Air Force, where I finished my degree at Park
- Round Rock High School, Cross Country and Track teams. Our CC team went to the State championships in Texas in 1999 and 2000. My 5k PR was 16:21, and my 1600m PR is 4:34. I still occasionally run trail races around Colorado but quite a bit slower now 😅
- I’ve run some small websites: for a couple local bands in the late 1990s, and one for a bar in Austin TX called Graffiti’s around 2002
- I used to build my own computers for years, but it’s become a kind of lost art, MacBooks and iMacs are just so nice now
-
I like two spaces between sentences, the oxford comma, and think that punctuation should stay out of quotations unless really part of the quote, like “this”.
-
Linkedin: https://www.linkedin.com/in/shanerohara
- Personal Website: https://shane.oharaspace.com
✌️