Hi there đź‘‹
My name is Nate Bosscher. I’m a software engineer, consultant, entrepreneur and family man. Thoughts expressed here are my own.
What are you currently working on?
Testing Taxi
Testers shouldn’t need to create tests for functionality even a computer can understand. Testing Taxi unit tests your web application like a self-driving car with zero supervision required.
Status List
Uptime monitoring, debug tools and hosted status page in one service.
Consulting
I do software consulting with a twist of business included for good measure. My consulting work operates under the name Blue Giraffe Software (https://blue-giraffe.ca)
Everyone asks about the name Blue Giraffe, so I’ll explain here. Easy to remember names have two common things that are unique when you combine them. Blue is my favorite color. And I’m tall, like a giraffe.
I’m very privileged to work with so many unique business folks. It’s a blast. Here’s a couple samples.
Water Monitoring Device Software
For a local company that builds water monitoring devices. I maintain a windows-based, client-installed software that supports the devices. The software communicates with their custom chips and does some data analysis.
Insurance Business Management Software
For a local company that builds water monitoring devices. I maintain a windows-based, client-installed software that supports the devices. The software communicates with their custom chips and does some data analysis.
For a large insurance company that handles several thousand claims per day. I work with a small team of engineers maintaining a legacy workflow application. The software is a web-based application that supports their core business activities.
I’m involved in software architecture, planning, business requirements, maintenance, construction and team management.
Trucking Business Management Software
For a local trucking company that moves large modular buildings. I consulted, designed and maintain a management system. The system has a web application for the in-office folks and a mobile app for the drivers.
What projects have you tried and failed at?
Product Sonar
A competitive intelligence and monitoring solution for hardware stores.
WkHTMLtoPDF Service
A RESTful WkHTMLtoPDF rendering service so you don’t have to setup or maintain infrastructure.
QuickReceipts
An easy way for non-profits to track and issue Canadian tax receipts.
MortarQ
An inventory tracking and analysis system for small manufacturing companies.
Where have you worked as an employee?
Ladder Software
Ladder was a small company, 4 people when I started, that made child care business management software.
The engineering team started out with only 2 of us and that grew to 6 by the time I moved on. I was very privileged to work on a wide variety of technical and management problems while I was there. Here’s just a few of the things I worked on.
Service-based Refactoring
The application structure made it quite difficult to maintain. The logic was encoded in sometimes giant procedural controller methods or stored procedures. The procedures meant that distinct features implemented many times, sometimes in contradictory ways. Some of the identical features were also spread over 3 applications.
We were able to address this with a service-based architecture on the server side. We grouped logics related to individual features into their own services and methods. Part of this was migrating complex stored procedures into smaller LINQ queries. With these two techniques, over several years we were able to make some big improvements.
jQuery -> Angular
The original application was built in ASP.NET MVC with jQuery on the client side. Over my time there we received more requests for complex client side features. We already had Angular in the code base, so it was a natural solution for complex client side logic. We were able to move some of our more complex jQuery pages into Angular. This made a big difference in maintenance.
Database Optimization
During my time at Ladder the customer base grew quite a bit. Some of the application’s database interactions didn’t scale well with the data. Unfortunately, we didn’t have the resources to change data-access patterns. I spent a lot of time optimizing queries, indexes and adjusting infrastructure.
I was able to leverage a couple things to our advantage. I adjusted where-clauses and joins to take best advantage of indexes. I implemented some of Ola Hallengren’s (https://ola.hallengren.com/) scripts for auto-optimization. I also adjusted indexes as necessary.
Team Lead
As our team grew, I had the role of team leader. I enjoyed helping other devs and advocated for them. I spent quite a bit of one-on-one time with our team. I would onboard the new devs and mentor the junior ones. I would discuss solutions with the more experienced ones.
I also helped in recruiting and performance evaluation. I would perform the second screening for engineering candidates and attend final interviews. As it came up, I would discuss performance with co-workers throughout the year. Once a year, I would provide a performance evaluation to our management team.
Project Management
As the company grew, project management suffered. We didn’t have enough resources for a full time PM, so I filled the gap. I spent quite a bit of time doing requirements, prioritization, planning and communication.
We started by managing via a support person’s notebook. By the time I handed off my responsibility to a PM, we were using a dedicated project management software.
You can check them out at https://runsandbox.com
University of Ottawa – Sunlab Data Collection
The Sunlab does solar panel research and testing. They have a lot of field sensors that each had its own manual control and data collection method. I spent a summer organizing data and creating a master control application. The control application was a single software that interfaced with all their sensors. One of the big challenges with this project was writing all the custom device interfaces.
PF Software
I spent a summer migrating a Microsoft Access application to a web application. It was a long time ago, that’s about all I remember.
- Military-grade bot detection: How to bypass the Server Bot CheckHow to bypass the Server Bot Check The first check request is where the server checks if your worth sending the base html page to. This doesn’t contain any useful data like prices, this is just “should I even bother responding”. Since we’re a new client at this point (no session history), there’s a limited […]
- Military-grade bot detection: How to bypass Interaction ChecksHow to bypass Interaction Checks It’s not enough just to check that the browser properties are all in order. Good bot detection scripts also monitor human interaction to check for authenticity. When you or I move a mouse on the screen, we follow a predictable and human-like behaviour. Bots do not. Bots move in a […]
- Military-grade bot detection: How to avoid bot detection Client ChecksHow to avoid bot detection Client Checks This section is all about the wonderful extensibility of javascript and the browser.Client checks happen with a javascript library before any sensitive information is shown. Lot’s of metrics from browser performance, screen size and graphics rendering are all compiled into a nice little package and sent off to […]
- How to Juggle Priorities SuccessfullyThis is something I’ve struggled with. I hope this will help you become a valued person in your community/workplace. Juggling priorities is all about setting and managing expectations. Expectations that are met or exceeded are a success and will make you a valuable person. Expectations that are not met are a mark against you. So it’s important […]
- How I bypassed military-grade bot detection software on popular ecommerce sitesBack in 2022, I started a company called Product Sonar that aimed to scrape ecommerce prices from popular websites in the hardware store industry. Sound pretty simple right? Pull up Screaming Frog or Scraping Bee and you’re off to the races right? Wrong. These sites have the likes of Akamai and CHEQ, with a lot […]