Dan Blumenfeld, CC BY-NC-ND 4.0, photo by the author
Personal Information
Hi, I'm Dan. I'm a jack-of-all-trades techie with a passion for tinkering and a tendency towards verbosity (and frequent parenthetical digression).
Nice to meet you!
I was born in York, Pennsylvania (USA) in 1976, and lived on a small farm until I came to Pittsburgh for college in 1994.
College didn't last long, but I liked the city enough that I've lived there ever since, and will likely be here at least until my children are grown.
I entered the tech industry through a less-traditional path than many of my colleagues, and occasionally wish I'd gotten more of a grounding in fundamentals like algorithms and data structures, but I'm happy with where I stand today.
I love making things. I write code for a living because I can better support my family that way than by being a blacksmith; but it's the underlying act of creation that matters most to me rather than the details of whether it's digital or corporeal.
Profile
Professional
As a software engineer, I'm passionate about process and automation. I don't subscribe to any particular dogma regarding the "best" programming languages, software development processes, agile practices, or much of anything; my experience has taught me that every team, and every project, is different and warrants different approaches.
That said, I do believe in certain core principles for software systems: keeping processes repeatable (generally through automation), keeping them understandable(self-documenting code, peer reviews, DRY and YAGNI), and keeping them stable(IaC, active monitoring, regularly tested disaster recovery plans).
I've been moving away from traditional software engineering and into cybersecurity and DevSecOps for the past year or so, and am enjoying it immensely. I intend to continue this professional trajectory for the foreseeable future.
Skills and Tools
- IaC: Terraform, Terragrunt, some Ansible, a bit of Docker
- Azure DevOps: pipeline management, project administration
- Azure: Administration, app development
- Code: Mostly object-oriented stuff: C#, rusty C++ and Java(VB 6 and VB.NET from the dawn of time, too). Some limited scripting, e.g. Powershell, bash.
- Mobile: a bit of Android development, circa 2018 or so
- Web Tech: novice-level HTML/CSS/JS (as this website attests), intermediate-level ASP.NET Core
- Database: SQL Server
- OSes: Windows, some Linux, a little OSX
Certifications and Credentials
- ISC2 SSCP (Systems Security Certified Practicioner), October 2024
- ISC2 CC (Certified in Cybersecurity), July 2024
- AZ-104 Microsoft Azure Administrator Associate, February 2023
- AZ-204 Microsoft Azure Developer Associate, January 2023
- A+ Certified Network Technician (DOS/Win95, please don't laugh), 1996
After Hours
I'm a bit of a cycling nut. I enjoy riding recumbent bikes over excessively long distances, as well as administering the Pittsburgh chapter of Randonneurs USA and serving on the board of a local bike club.
In order to shift gears from cerebral creative efforts, I enjoy working with my hands, such as simple household repairs, landscaping, carpentry, bicycle maintenance, or light fabrication via welding or 3D printing.
Recently, I've been focusing on home automation: nothing crazy, just using Home Assistant to control various devices via WiFi or ZWave.
I sporadically foster kittens for one local shelter, and help foster dogs for another.
And, to ward off boredom in my children, I've been known to run the odd TTRPG.
Work Experience
Tobii Dynavox, October 2008 - present
Senior Software Engineer (Cloud Services), June 2022 - present
In June of 2022, I officially left the Congenital team to become the first engineer in the new Cloud Services group. There, I took on responsibility for several new and ongoing projects, including:
- Technical lead for cybersecurity initiative. Primary liason between Tobii Dynavox and the cybersecurity consulting firm Nextlink Labs.
- Technical lead for Single Sign On (SSO) systems stabilization and replacement. This is a fun project, using Terraform and Terragrunt for infrastructure, Azure DevOps pipelines for build and release purposes, and investigating Auth0 and FrontEgg as replacements for our internal IdentityServer implementation of OpenID Connect.
- Ongoing maintenance of several legacy ASP.NET MVC, Node.js, and React-based websites
Senior Software Engineer (Firefighting, Web+DevOps), March 2019 - June 2022
In early 2019, I informally transferred over to the Education team to assist with the biggest application rewrite in the company's history, in order to use my knowledge of access methods such as eye tracking and scanning to help them finish their implementation. This allowed me to learn a bit about integrating managed code (C#) with Javascript in Electron apps, although much of what we learned was "don't do it".
Then, due to losses of several key personal in the Congenital, Web, and Education teams, I spent the next two years helping to keep three separate-but-related product lines afloat.
- For the Congenital team, I focused on running and improving the devops processes, including the pipelines, the Apple App Store submission process, and internal tools to streamline custom data build workflows.
- For the Education and Web teams, I reverse engineered, enhanced, and supported several applications that had been placed into production without proper review, documentation, or in some cases even a build and release pipeline. (In one memorable case, there wasn't even any source code beyond a .zip file in an email chain...)
- For the new R&D department head, I created the first coherent overview of all of the software products we supported and how they were interrelated.
Senior Software Engineer, October 2008 - March 2019
I came to Dynavox (before acquisition by Tobii) in October of 2008, and spent the next ten years working on various hardware products using C# and C++.
- Implemented software access methods such as scanning and eye tracking
- Worked on legacy products such as the Dynawrite in WinCE/C++
- Worked on new products such as the Xpress and Bluetooth AccessIT in C#
- Wrote cross-platform core libraries in C++ and Java for an applications framework to support Windows/OSX/Linux/Android/iOS
- Helped port C++ applications framework code to C# as part of the Snap project
McKesson Automation, September 1999-October 2008
Senior Software Engineer/Software Engineering Technical Lead
- Worked on various data-driven applications (SQL Server, C#) for supply and pharmaceutical management
Software Engineer (Internal IT Systems)
- Worked on new internal websites based in ASP.NET
Level Two Support Engineer
- Provided tier two and on-call support for medical institutions
- Provided on-site support for installations of supply management software and hardware
Odd Jobs, Spring 1995-September 1999
Assistant Network Administrator, DCS Systems
My introduction to the tech industry. As the exceeding junior third member of a consulting group, I helped to administer a Windows 95 network for a local nonprofit.
Retail Sales and Education, Tandy Leather
Taught Cub Scouts and church groups basic leatherworking, sold leatherworking tools and materials.
Line Cook, Silky's Sports Bar and The Crow's Nest
Here, I learned that fast and good are not mutually exclusive, but it takes effort to produce both.