About
Software Engineer by day — Entrepreneur by night — Geek all the time
William Forney · Lead Software Development Engineer
For the past two decades I have worked with a large variety of businesses and technologies to design, develop and deploy software to improve the efficiency and impact of the organizations where I have applied my efforts. I look forward to applying my skills to new projects and learning along the way.
- LinkedIn: linkedin.com/in/wforney
- GitHub: github.com/wforney
- Twitter/X: @wforney
- Instagram: @billforney
- Facebook: facebook.com/wforney
- TikTok: @billforney
- YouTube: @wforney
- Pinterest: pinterest.com/wforney
- Maven: Connect with me · Book a consult
- Buy Me a Coffee: buymeacoffee.com/wforney
- NuGet: nuget.org/profiles/wforney
- ORCID: 0009-0009-2178-0580
- improvGroup: improvgroup.com
- Project 31A: 31a2ba2a-b718-11dc-8314-0800200c9a66.com
- Email: blog@williamforney.com
Skills
Languages & Frameworks
- C# and VB.NET development since .NET Framework v1.0 beta 2
- JavaScript & TypeScript Single Page Applications (SPA) with Lit, Aurelia, React, Durandal, and Angular built with npm, snowpack, webpack, and Parcel
- Serverless Microservices like Azure Functions and AWS Lambda
- Blazor, MVC, and Razor Pages
- Windows Forms, WPF, WinUI, and Maui XAML
- ASP.NET MVC from early beta; WCF & WebAPI
- Web Development since 1997; Facebook Applications
Data & Messaging
- CosmosDB, MongoDB, SQL, Oracle, and Access database design
- Kafka and other event and queuing solutions
Cloud & Infrastructure
- Microsoft Azure, AWS, Google Cloud Platform services
- Docker and Kubernetes
- Infrastructure Consulting (Installation / Configuration / Support) for small and micro-businesses
Experience
Starbucks Coffee Company
October 2023 – Present · Senior Cloud Engineer (FTE)
Converted to FTE on the Stormbreaker team. This role contributes to Starbucks success by delivering high-quality, dependable, and stable technologies and security capabilities in support of the Starbucks Engineering Platform. Accountable for the implementation, installation, configuration, monitoring, analysis, maintenance, and technical support of the platform. Key responsibilities include:
- Implementing features across Azure cloud technologies: Azure Functions, SQL DB, Blob Storage, Key Vault, Service Bus, Event Hub, and Containers
- Supporting the development team and resolving developer issues in a timely and accurate fashion
- Engineering build and release processes using Terraform and Ansible on Azure platforms
- Ensuring infrastructure architectural solutions are stable, secure, compliant, and documented in accordance with company standards
- Implementing all technologies in accordance with Information Security’s guiding principles for highly sensitive data
- Providing high-availability operational support and automating solutions across the environment
- Implementing deep telemetry capabilities to provide ongoing success and performance metrics
- Implementing service monitoring across all platforms to ensure continuous availability and operational continuity of critical systems
- Upholding company policies and legal/regulatory requirements such as PCI
- Communicating highly complex ideas and concepts to non-technical peers and customers
- Establishing cross-functional, collaborative relationships with business and technology partners
Technologies: C#, Azure Functions, Azure SQL DB, Azure Blob Storage, Azure Key Vault, Azure Service Bus, Azure Event Hub, Azure Containers, Terraform, Ansible, Azure DevOps.
February 2023 – September 2023 · Lead Software Engineer via AIM Consulting (Contract)
Picked up for another AIM contract tour on the Thor’s Hammer team, which was replaced by the Stormbreaker team after a reorganization, continuing work on the point-of-sale system software and data APIs.
Technologies: C#, Azure, Azure DevOps, GitHub Enterprise, Jira, and Confluence.
March 2022 – February 2023 · Lead Software Engineer via AIM Consulting (Contract)
Building project Solstice as part of retail data services, a data pipeline that takes point of sale checks, aggregates, sorts, and forwards them to multiple downstream systems.
Technologies: C#, Azure EventHub, Azure Blob Storage, Azure SQL, Azure DevOps, GitHub Enterprise, Jira, and Confluence.
June 2021 – March 2022 · Consulting Software Engineer via AIM Consulting (Contract)
Helping modernize the point-of-sale software along with development practices and tooling was the main goal here.
Technologies: WPF, C#, XAML, GitHub Enterprise, Jenkins, Jira, and Confluence.
Little Caesars Pizza · Senior Software Engineer via WWT (Contract)
November 2020 – April 2021
This project was a short-term contract via WorldWide Technology (WWT) to provide an assessment of the Little Caesars Point of Sale system project. I advised on architectural patterns, created proof of concept libraries, performed refactoring of the middle tier, assisted with some minor functional implementation, updated the continuous integration scripts to improve build performance, improved project documentation, and helped with production support.
Technologies: TypeScript, React, Redux, Webpack, Node.js, Electron, Linux, WSL, Bash, ASP.NET Core, C#, Kafka, MongoDB, Docker, Kubernetes, MarkDown, Google Cloud Platform (GCP), and Microsoft Azure.
Nori Media Group
September 2020 – October 2020
A line of business utility using .NET Core Windows Forms and an ODBC database to fill a gap in their in-house invoicing/shipping systems.
MidAmerican Energy Company · Senior Software Engineer via WWT (Contract)
November 2019 – September 2020
Starting as a three-month contract via WorldWide Technology (WWT), this project was extended multiple times. It involved upgrading and extending a Windows Forms application used for compliance tracking of equipment in the field. The application was written over a decade ago and maintained over the years. I added a custom implementation for a generic wizard control, several functional updates to existing screens, and streamlined a large amount of legacy boilerplate. I also updated the database access code.
Technologies: C#, VB.NET, Windows Forms, WPF, XAML, MarkDown, and Oracle.
Microsoft Corporation
July 2017 – September 2019 · Software Development Engineer II
On the Microsoft Academic team in AI+R, I built many patterns for the site, introduced newer standards, and created the client-side build chain. Upon becoming a direct employee again I worked on the Microsoft Academic web site, including the build chain, front end Aurelia application, and middle tier ASP.NET Core APIs. I also built small tools used in the data pipeline to fetch images, among other things. Most of the work was in TypeScript or C#.
Technologies: ASP.NET Core, Node.js, webpack, Aurelia, lit-element, plot.ly, Azure Maps, TypeScript, C#.
February 2017 – June 2017 · Software Development Engineer IV via Webtellect, LLC (Contract)
On assignment at Microsoft Research in the Internet Services Research Center on the Microsoft Academic team working on full stack Web development for the academic search site and related infrastructure. While building the API and UI I introduced newer patterns and technology along the way and implemented performance tuning yielding a more than seven second page load time savings.
Technologies: Azure, ASP.NET MVC, WebAPI, pager.js, KnockoutJS, TypeScript, C#.
April 9, 2012 – December 29, 2014 · Senior Software Development Engineer
I started as a full-time employee on the channel incentives platform team, then migrated to sales and marketing information technology for the one plan channel incentives future state architecture, then reorganized into marketing, products, and services information technology with the partner incentives team. During this time, I introduced the team to single page applications using a custom-made SPA framework in combination with jsViews. Later we utilized DurandalJS and KnockoutJS along with other technologies and patterns. I built many custom bindings for handling localization via a JSON endpoint, formatting, and navigation. I also introduced TypeScript and SignalR with some blueprints for a notification system. One of my goals was to introduce something new every few months as their previous code base used decade old technology and many of the developers were not up to date when I arrived.
Technologies: JavaScript, TypeScript, DurandalJS, KnockoutJS, jsViews, SignalR, jQuery, Kendo UI, WebAPI, C#, ASP.NET MVC.
April 2011 – April 5, 2012 · Software Development Engineer IV via VOLT (Contract)
I worked with the SharePoint Foundation Services team to design and develop platform solutions for the Microsoft intranet. Projects included:
- Redeveloping an internal Silverlight site for the MVVM pattern.
- Adding functionality and improving the architecture of a VS add-on.
- Furthering the use of the internal CDN.
- Developing several web parts.
- Building a custom bootstrapper for JavaScript loading and management.
- Advising on various technologies involving Windows Azure and building a library for it.
- Creating a proof of concept for cross domain communication in an internal service.
Technologies: JavaScript, C#, XAML/Silverlight, SharePoint, HTML/CSS, Windows Azure.
Frontier Communications · Analyst / Developer 3 via TEKsystems (Contract)
October 16, 2015 – November 30, 2016
My group was tasked with upgrading over thirty legacy systems using everything from classic ASP to ASP.NET 4. Most applications were upgraded to .NET 4.6 with ASP.NET MVC, MSSQL and/or Aurelia for the front end. Some green field applications were started with ASP.NET Core. I was a lead developer for several projects and have done a lot of work to get the team organized and updated with newer practices, technologies, and patterns. Most of my time was spent building proof of concepts, educating the team members, and working on a few systems that were to be shared across all the applications. I influenced the group toward converting things to a micro-service architecture and was able to steer the direction of our group’s application design along with the other leads and architects.
Technologies: Classic ASP, ASP.NET 4/MVC/Core, .NET 4.6, MSSQL, Aurelia, TypeScript, C#.
Blossor, Incorporated · Senior Software Developer
January 5, 2015 – July 28, 2015
I joined this small team of three developers, one project manager, and a designer in January to provide a reboot to the project after the previous two teams failed to launch. Blossor is a real estate search engine that aims to be more personable than Zillow. I architected and built a new solution for their data acquisition framework and tooling, rebooted their front end with more up to date technologies such as npm, jspm, gulp, less, and bootstrap, and set up a framework for the team to follow for replacing their aging middle tier. I also migrated them to Microsoft Azure and included production scale in all technical design patterns. The data they will ingest is large, some 950 multiple listing services in the US with a few hundred thousand listings each. Along the way I educated the team on Agile SCRUM and Kanban boards while introducing them to Visual Studio Online for work item tracking, source control with git, and hosted builds for continuous integration.
Technologies: ASP.NET MVC, WebAPI, Azure DocumentDB, Azure WebJobs, Azure App Services, jsViews, Bootstrap, ES2015, jspm, npm, bower, Aurelia, gulp, less, git, C#.
Visible Reality, LLC · Founder
July 2008 – July 2015 (merged into improvGroup, LLC)
I designed many of the databases that run our clients’ businesses and web sites, along with Facebook apps, Silverlight sites, and Windows line of business applications. Duties included:
- Primary developer on all the ASP.NET projects on the portfolio.
- Implemented the Silverlight 3 version of www.tourmsn.com in 2010 for Catalysis.
- Trained new developers on proper cross browser CSS and general web development.
- Provided support of managed hosting software infrastructure.
- Built numerous ecommerce systems using open and closed source platforms.
- Built custom CMS systems as well as implementing prebuilt ones with theming.
- Used WCF/Web Services and MVC for JSON data access and Twitter feeds.
- Built parser for NW MLS data using RETS standard along with custom client library.
- Handled client communications, accounting, and other administrative tasks.
Notable projects via Catalysis: tourmsn.com (Silverlight version, 2010), various Bing projects. Via VarVid: proof of concept screensaver for Wizards of the Coast.
Emergency Reporting · Software Developer
January 2008 – May 2008
ASP.NET developer for the online service system. It provides records management and other functions to fire departments.
improvGroup, LLC · Founder
December 2005 – Present
As co-founder I plan and perform Web, database, and multimedia design, development & management for clients along with infrastructure consulting for small businesses. I handle bookkeeping, marketing, and daily operations while managing a small team on these projects.
Projects include:
- Digital Systems & Solutions Corporation – Designed process and ticketing system for local computer repair shop allowing them to track equipment throughout their process.
- Cascadian Farm – Database application with C# serial scale library to track workers’ time/pieces picked in the berry fields.
- Mike & Jean’s Berry Farm – Reporting and UI for order and invoicing management system.
- Support of micro to small businesses’ networks and computers.
- Assorted small business Web design and development.
- Line of business application development and supporting functions using Access/SQL.
Blade Chevrolet, Inc. · Network Administrator
June 2005 – September 2005
Filled in for a fellow network administrator during his three month leave of absence, including some Access, VB.NET, and Web development projects.
Intek Northwest, Inc. · Bench Technician / Networking Consultant
January 2003 – January 2004
Building, troubleshooting, and configuring computers in the shop, consulting, configuration, and installation of client networks and equipment, company Web site maintenance.
Codename: Rainbow Portal CMS Project · Core Team Architect & Developer (Open Source)
2002 – 2004
Helping clean up a large amount of code, guiding some parts of the project’s roadmap and learning how a good CMS system is built. Introduced many new concepts and put in place the groundwork for what the project is today. This project influenced many other projects. For a few years I sold support and web development using this framework as well. During the time I was active on this project we introduced many new concepts and put in place the groundwork for many other projects that sprang up after this one died down with the rise of ASP.NET web parts and DNN.
Padgett & Padgett, PLLC · Technology Advisor
April 1999 – Present
Management of IT for the firm, including computer maintenance, repair and networking, server management, and international infrastructure. Previously responsible for the firm’s Web sites and graphic design, front desk, etc.
NoFiles, Inc. · Partner
April 1999 – 2010
We provided professional consulting services including application development, database design, web development, marketing & branding, video, and infrastructure consulting. I have overseen and worked with a myriad of clients on various projects. In the early days, we worked with a few celebrities in the sports, music, and entertainment industries to build Web sites, create multimedia enhanced CDs and design a few print ads and materials such as letterhead, business cards, etc.
Digital Stylus
May 1997 – April 1999
Started a small Web design company to build sites for local businesses.
Global Interactive Management
June 1996
Provided technical support at a few non-profit organizations and set up an NT server to host a few web sites on a 56k frame relay connection in Harrisburg, PA. Helped with networking and support of the building network which included a business and the office of Senator Mark Single. Also assisted in a little web design and other personal assistant type activities.
Projects
Starbucks Engineering Platform — Project Stormbreaker (Oct 2023 – Present)
FTE role on the Stormbreaker team delivering the Starbucks Engineering Platform. Implementing Azure cloud infrastructure (Functions, SQL DB, Blob Storage, Key Vault, Service Bus, Event Hub, Containers) with Terraform and Ansible, deep telemetry, service monitoring, and PCI-compliant security practices.
Starbucks Coffee Company — Project Solstice / Point of Sale (Jun 2021 – Feb 2023)
Building project Solstice as part of retail data services — a data pipeline that takes point of sale checks, aggregates, sorts, and forwards them to multiple downstream systems. Also helped modernize the point-of-sale software along with development practices and tooling.
Little Caesars Pizza Point of Sale System (Nov 2020 – Apr 2021)
Contract through WWT working on an Electron application in TypeScript and React Redux with ASP.NET Core microservices on Docker in C# and Mongo and Kafka. Advised on architectural patterns, created proof of concept libraries, performed refactoring of the middle tier, updated CI scripts, improved documentation, and helped with production support.
Nori Media Group Shipping Tracking Number Utility (Sep 2020 – Oct 2020)
A line of business utility using .NET Core Windows Forms and an ODBC database to fill a gap in their in-house invoicing/shipping systems.
MidAmerican Energy Company Internal Applications (Nov 2019 – Sep 2020)
Contract through WWT and Bridgewater Consulting Services. Upgraded and extended a Windows Forms application used for compliance tracking of equipment in the field. Added a generic wizard control, functional updates, legacy boilerplate cleanup, and database access improvements. Technologies: C#, VB.NET, Windows Forms, WPF, XAML, Oracle.
Microsoft Academic (Feb 2017 – Sep 2019)
Microsoft Academic understands the meaning of words — it doesn’t just match keywords to content. For example, when you type “Microsoft,” it knows you mean the institution, and shows you papers authored by researchers affiliated with Microsoft. Similarly, Microsoft Academic knows journal titles, conference names, and many research topics. Built many patterns for the site, introduced newer standards, and created the client-side build chain using ASP.NET Core, nodejs, webpack, Aurelia, lit-element, plot.ly, Azure Maps, and many other libraries.
Mike & Jean’s Berry Farm Web Site & Management Database (2003 – 2019)
Computer support and database design for production tracking. Camille and Visible Reality created the web site. improvGroup took over maintenance after 2010.
Channel Incentives Program (Redemption Platform) (Apr 2012 – Dec 2014)
Microsoft invests billions of dollars in the partner ecosystem. A significant portion of that goes into channel incentives. The Partner incentive model was being re-designed to reward partner efforts across the sales cycle. The program involves evolving the platform to cater to new incentive programs (rebates, discretionary marketing funds, sales accruals, advisory incentives, transaction management incentives, etc.), while continuing to disburse automated payments, and provide partners with a simple view into their incentives engagement with Microsoft.
Channel Incentives FSA (Jan 2013 – Dec 2014)
Blueberry Café Web Site & Menu Design (2000 – Jul 2014)
Web site design and development for over a decade, along with desktop publishing for the menu. Originally “Denise’s Fairhaven Café,” then “Blueberry Café.” Has since closed.
Vorsite Web Site (2010 – 2011)
Design implementation, clean scripting for load time, video integration.
Cascadian Farm — Serial Scale Database Integration (2009 – 2010)
C# library for serial IO to an electronic scale integrated with an Access database. Farm workers weighed fruit baskets and tracked tickets for pay. Improved reporting of worker output to facilitate payroll.
Tulip Inn (2001)
Long-time client; quick facelift using ASP.NET vNext template, lightbox, jQuery, TypeScript, and HTML5.
Skywind — Sleepwalk Album (2001 – 2002)
Multimedia CD-Xtra using Adobe Director; graphics, video and music editing. Web site and various assets for the band.
Education
Shippensburg University of Pennsylvania Computer Science 1996 – 1997
Big Spring High School High School Diploma 1992 – 1996
GitHub Achievements
Licenses & Certifications
MCPS: Microsoft Certified Professional Microsoft · Issued December 2005 · No Expiration Date Credential ID 3537527
Certified Scrum Master Scrum Alliance · Issued April 2014 – Expired April 2016 Credential ID 000324731
Microsoft Small Business Specialist Microsoft · Issued December 2005 – Expired 2010 Credential ID 3537527
Languages
- English — Native or Bilingual Proficiency
Organizations
Economic Development Association of Skagit County — Member
I attended some events and was on the board of the Swing into the Holidays event for a year prior to 2010.
Mount Vernon Chamber of Commerce — Member
I was a regular attendee of many events of this group prior to 2010.
Rainbow Portal Core Team — Developer
I was a team member of this open source project as noted elsewhere in this profile.
Skagit Young Professionals — Member
I was a regular attendee of many events of this group prior to 2010.
Volunteer Experience
Tree Decorator · Mount Vernon Festival of Trees · 2007
I was on the committee for the Chamber of Commerce tree. We gathered donations from all over town and then decorated a large tree and surrounded it with presents. This was auctioned off for the benefit of the local St. Joseph’s Cancer Foundation.
Recommendations
“I have collaborated with lots of developers over the years, and Bill is about the best I have worked with so far. I met Bill when I joined a project rather late as a senior .NET developer and was assigned to work with him to help clean up and upgrade a rather ugly codebase that spanned a number of different technologies. As Bill helped me get up to speed, he demonstrated an impressive familiarity with ASP.NET Core development as well as a strong working knowledge of Linux. On top of his technical skill, his patience with non-technical team members and external stakeholders was pretty impressive as well. He was easy to work with and taught me a lot every day — he’s like a walking encyclopedia of the Microsoft stack. Bill would be a great asset to any development team — in pretty much any role — and earns my highest recommendation.”
— Kenneth Larson, Developer / Owner, LarTech Solutions, Inc. (June 12, 2021)
“William is an embodiment of what a true talented and inclusive professional is by enabling individuals, teams and organizations to grow. He is always eager to help and share his immense knowledge and experience of technology and full stack development. He is always ahead of things and deliver no less than excellence at peak. Being from a minority background, I have always found inspiration and admired William on how he is able to connect with people from different backgrounds to share knowledge, best practice solutions to very deep technical challenges. He is a true inspirational leader, team player because of the all the technical and non-technical values he brings to the table. He is an exceptional professional.”
— Mamadou Bah, Software Engineer II, Microsoft (May 26, 2021)
“Bill is a strong and knowledgeable engineer. I relied on him extensively for his expertise in application and middle tier development. He ramps up quickly in developing technologies. He worked on SharePoint, Azure, and Social app development while working on our team. I would hire him for our team without a second thought.”
— John Begley, Senior Software Engineer, Microsoft (April 9, 2013)
“Bill is always ready for a challenging project. I’ve hired Bill for two web projects in the past and the most notable was the Silverlight controls he developed for a client’s rotating hero. The control was so smooth (the first time!) and worked across browsers. I was also impressed with his follow up and making sure the site was bug-free. This demonstrated a true passion for development and someone I could rely on for solutions.”
— Amelia Cole, Client (January 15, 2012 · Top qualities: Expert, On Time, High Integrity)
“Bill has always kept an open mind and was ready to offer new ideas for our website and he built a laptop PC for me that was up to date with the latest hardware. We have remained friends since we first meet.”
— Alan Watson, President, A.R. Watson, Inc. (January 17, 2012 · Top qualities: Great Results, Expert, Creative)
“Bill was so easy to work with! I would highly recommend him to any one I know that needs a website designed. He’s the best.”
— Kim Hester, Owner, Fanfare Events, Inc. (March 28, 2008 · Top qualities: Great Results, Personable, High Integrity)
“William is a hard worker. He did a lot of stuff for Rainbow core data layer and user management. His vision and skills are wide, and I highly recommend him for a lead programming role.”
— Emmanuele De Andreis, Project Manager, Rainbow Portal CMS Project (July 15, 2007)
“William is an outstanding developer able to work with other developers on complex projects and deliver results every time.”
— Chris Farrell, Open-Source Contributor, Rainbow Portal CMS Project (July 12, 2007)
“I very much enjoyed working with Bill; his style is open and careful — able to listen to different ideas while maintaining a consistent vision of his own — capable of bringing consensus to opposing views and moving the project forwards. Of note, Bill’s contributions to the Rainbow Portal project have helped keep momentum and interest amongst the community and contributors. I would be happy to recommend Bill’s technical expertise in .NET development and architecture.”
— Ed Daniel, Marketing & Business Development, Rainbow Portal CMS Project (June 26, 2007)
“Working with William as an architect in designing some of the feature sets in Rainbow, I can honestly say he is a bright, motivated, imaginative and thoughtful person to work with. He is organized and efficient in all the process I have dealt with him.”
— Jonathan Minond, Project Contributor, Rainbow Portal CMS Project (June 21, 2007)
“Bill was a strong component of the (open-source Rainbow portal) development team, offering guidance, direction, and encouraging the project to move forward.”
— John Bowen, Developer, Rainbow Portal CMS Project (June 21, 2007)
“William was a huge asset to the Rainbow project.”
— Mark McFarlane, Systems Specialist, Saudi Aramco (June 20, 2007)
“Proved by experience he is thoughtful about things he does. One of most important qualities when you need to meet the future in technology and choose the right path (one that has the future).”
— Danijel Kecman, Developer, Rainbow Portal CMS Project (June 20, 2007)