Adam Jacques

Software Engineer + Product Development

Blog Posts

I occasionally write blog posts where I talk about software, hardware, or even plants that I'm working on.

Recent Posts

My new Framework laptop

I was recently in the market for a new personal-use laptop and wanted to try out a Framework Laptop. I was intrigued by the idea of being able to replace any part that failed or even upgrade parts as I went. I also was frustrated with the direction that Windows 10 and Windows 11 was going. They seemed more interested in advertising, tracking, sending notifications to increase my engagement of their apps, then just building an operating system that got out of my way and let me do my thing.

Continue reading...
Importing and cleaning Mint transactions

Since Intuit announced that Mint was going away, I’ve spent several months investigating how to import my Mint data into Firefly-iii, an open source, self-hosted budgeting software. It seemed like a perfect fit. I would fully own the data and get to build whatever tooling I want on top. However, before we can get there, we need to have cleaned and accurate data from Mint. As it turns out, Mint’s data actually had some errors in it that required me to go back years and fix them.

Continue reading...
What to expect when you're excepting Java

Birthing code is not always easy.

Enough puns. Let’s talk about Java exceptions. No matter how hard you try, your code will likely encounter an error and throw an exception (if your language supports exceptions.) It could be anything from unexpected user input to an underlying service outage. An exception will be thrown and it’s important to do something useful with it. That doesn’t mean putting try-catch blocks everywhere or trying to recover everything, in-fact I’ll argue the opposite in a few situations.

This post introduces a few common issues I’ve seen when working with Java code-bases and developers that lead to poor debuggability or other operational pains.

Continue reading...
Read all my posts

Work Experience

Senior Software Engineer
Amazon.com, Inc.
AWS Supply Chain Automation
  • I was responsible for building a domain-specific authorization system that 20+ different services leveraged to secure the AWS hardware and Amazon Devices supply chain
Senior Software Engineer
Amazon.com, Inc.
Physical Stores Tech
  • Upon joining, I rapidly identified fundamental problems in the system and came up with a multi-phased plan to enable the Amazon Fresh store launch to unblock and launch (this was visible at the VP level) and longer-term projects to improve scaling and stability.
  • I set a long-term technical vision for a project spanning two teams and oversaw tech designs from other engineers to fit within that vision.
  • I worked with the product team to develop a product vision for a new internal template development editor that is expected to have a separate development team and product team.
Senior Software Engineer
Amazon.com, Inc.
Normalization Learning Systems
  • I worked to improve team productivity and robustness of changes by introducing design reviews/templates and improve team code quality output with standards.
  • I analyzed an existing team's processes and technical bar to identify weaknesses in team culture and engineering excellence and came up with multiple short-term and long-term plans to reduce technical debt.
Senior Software Engineer
Amazon.com, Inc.
Softlines Selection Systems
  • I improved developer productivity by recognizing gaps in Amazon’s existing alarming and service management and designed solutions using AWS X-Ray and open-source exception tracking tools. I am actively working to drive adoption from other teams and departments.
Software Engineer II
Amazon.com, Inc.
Softlines Selection Systems
  • I led high-impact projects with VP-level visibility from the requirements phase through to production. These projects required coordinating changes across multiple engineers and different teams requiring leadership and influencing skills.
  • I developed new business goals by identifying opportunities to improve productivity and increase revenue. I wrote business documents that were reviewed by senior stakeholders and developed these into technical project designs.
  • I consistently drove higher standards in code quality, architecture designs, and feature UX across multiple teams through design reviews, quality improvement campaigns, and code reviews.
Software Development Engineer
Amazon.com, Inc.
Softlines Selection Systems
  • I joined a brand new team that enabled Amazon to effectively plan selection of clothing/fashion products. I owned and drove code quality/infrastructure standards across the entire system (front-end three-tier and a back-end Apache Spark pipeline) using code analysis and code reviews.
  • I oversaw the design and implementation of an interactive OLAP-style analytics/deep-dive UI and service that implemented a custom query execution engine to interact with Elasticsearch. Queries were optimized to aggregate and search across billions of products in the Amazon catalog.
  • I directly worked with stakeholders to understand feature requirements and translated those into actionable technical implementation projects.
  • I contributed multiple changes to core Amazon frameworks, including a service communication framework widely used by teams across Amazon.
Software Development Engineer Intern
Amazon.com, Inc.
Forecasting Platform Orchestration
  • Developed custom algorithms to manipulate and optimize large-scale applications in a domain-specific language
  • Managed software platforms and frameworks used by Amazon to predict product demand for all physical assets across the world
Lab Manager
Northern Michigan University
Intel Lab
  • Developed hardware validation software for Android platforms to ensure expected functionality in the wireless subsystems (Bluetooth, Wi-Fi, LTE, etc)
  • Coordinated projects and development while working a semi-autonomous lab environment
Software Development Engineer Intern
Amazon.com, Inc.
Inventory Planning and Control
  • Designed and developed a new web service API used to interact with an existing data processing system
  • Helped setup and maintain a globally distributed and scalable data processing application by managing infrastructure capacity and minimizing outages
  • Improved the performance and scalability of an application by reducing bottlenecks and increasing maximum system utilization
Validation Engineer Intern
Intel Corporation
Wireless Platforms R&D
  • Developed automated test plans used to validate correct operation and find bugs for new wireless hardware devices
  • Developed several new applications and systems used by various teams to test the efficiency and performance of upcoming and release wireless platforms
  • Developed an in-depth test framework for the Android platform used to verify low-level functionality of Bluetooth, Wi-Fi, and cellular radio systems in upcoming mobile products
  • Developed a tool used by manufacturing technicians to quickly validate wireless cards from the factory assembly line
Software Development Engineer Intern
Amazon.com, Inc.
Vendor Ordering Systems
  • Improved and maintained a multi-tiered service written in Java and C# used by the purchasing-teams at Amazon to coordinate and optimize purchasing workflows
  • Designed and fully implemented a custom network communication protocol using WCF greatly increasing network efficiency and improving client-side user interface responsiveness
Lab Manager
Northern Michigan University
Intel Lab
  • Designed and developed an autonomous robot to be used as wireless device testing platform
  • Setup and maintained a small Ethernet network used for test device control using appropriate DHCP, Active Directory, etc. servers
  • Assisted and trained co-workers with new software and technologies used for their position
  • Managed the direction of a software development lab and all employees working in the lab
Network Technician
Northern Michigan University
IT Technical Services
  • Installed communication infrastructure serving computers, phones, printers, and other network devices
  • Installed and repaired devices such as switches and access points
  • Troubleshot and repaired computers in a network environment
  • Provided technical support for network-related problems from students, faculty and staff located on the University campus
  • Developed and maintained software used for testing the University's WiMAX network and mapping possible signal strength and performance problem spots
Inventory Manager/Software Developer
The Dutch Shop LLC
  • Developed and maintained several web projects that integrated third-party systems with a web-commerce web site in a small-business environment
  • Assisted in the general day-to-day operations in the business by managing inventory levels, communicating with customers, and updating the online product catalog

Skills

Languages

  • C#/.net Framework
  • Java
  • JavaScript
  • C/C++
  • Ruby on Rails
  • SQL
  • Scala

Software

  • IntelliJ
  • Wireshark
  • NGINX
  • Apache Spark
  • Docker
  • Elasticsearch

Theory

  • Object Oriented Design
  • Test Driven Development
  • Information Security

Kubernetes

    Education

    Northern Michigan University