build with purpose

Understanding Visual Testing

Building new things and enabling products to deliver better experiences to users is the things that makes development compelling for me. This surprisingly leads me to think about testing a lot. Testing enables changes to happen sustainably. With tests I have confidence that the existing product works as expected and guarantees that this doesn’t change as new values are added. The more time I need to manually validate, the less time I have to do the work I enjoy.

The Redux Saga Black Box

I’ve recently been learning React and Redux Sagas for a new project I’m joining. It’s been fun transitioning from Angular and learning what project organization looks like without an opinionated framework. As I looked through the code I started to notice that yield is used a lot to generate values and pass those values to the Redux store using redux-saga. I haven’t worked with yield yet so I needed to do some research.

What my college degree gave me

I’m a software developer working at a company that regularly employs developers and technical leaders without a degree in computer science or engineering. Compared to previous jobs where everyone, including me, had a Computer Science degree, I find this is preferable. I collaborate with people having different perspectives, who possess a more varied array of skills from their backgrounds. Skills that come in handy when we need to think on our feet, solve a problem, do something most of us have never done before, or when we need to work through a client challenge.

Technical Leaders Enabling Stronger Teams

Technical leaders have a challenging job. We look to these leaders to make decisions, mentor developers, lead meetings, and tackle the most difficult problems on our projects. These leaders are often considered the “best” developers and are placed in leadership positions because of consistent performance in the face of challenge. However, while technical leaders have many roles and responsibilities, they also have an arguably more important responsibility to enable those they lead.

Finding Your Gateway to Learning Vue

This blog post was originally written for and posted on Rangle’s blog. You can find a link to the original here. Learning is a unique experience. It requires relating what we’ve previously experienced to new concepts and patterns. Those experiences are remembered specifically and each person remembers a concept a little differently. I remember a picture of a ball falling with labelled symbols, others might remember the equation, and some may remember the sounds of the physics hall.

Why Write Server Rendered Frontend Apps

This blog post was originally written for and posted on Rangle’s blog. You can find a link to the original here. Web applications have been evolving dramatically in recent years and many techniques have evolved to help our applications run faster, respond quickly, and load easily. With a wide array of modern development techniques it’s easy to overlook all of the options. Server-side Rendering web apps is one such option that has really impressive benefits when implemented in our applications.

Building an Event Source System - Part 2

Continuing my previous post, we’ll be working to setup an event source system using NodeJS. Event source systems utilize a common log of events to manipulate system state in a repeatable and scalable way. By recording state changes in logs, the system doesn’t need to rely on a database requests to gather state information. This has a variety of benefits that I’ve included previously. I enjoy working with the JavaScript/TypeScript, React, and NodeJS stack and find these tools very expressive.

Building an Event Source System - Part 1

I love working on the full stack of technologies involved with developing an application. It’s satisfying to design and implement a feature on the backend and request the data from the frontend application to render out something awesome. It’s very rewarding but it can be a long process to set everything up. It’s often a boilerplate experience and I often find myself doing a lot more devops than development.

Designing APIs that Enable Scaleable Frontends

This blog post was originally written for and posted on Rangle’s blog. You can find a link to the original here. Successful web development requires delivering strong communication between backend servers and frontend applications. The end client of an API needs to easily understand how to utilize the system to develop features and improve the application. REST (REpresentational State Transfer) has historically been used as the paradigm for this communication.

Why I Moved to Canada For Rangle

This blog post was originally written for and posted on Rangle’s blog. You can find a link to the original here. My name is Ben Hofferber and I am one of the recent hires at Rangle. Over the course of the last couple months, I ditched or sold all of my things and moved to Toronto from Boise, Idaho. Visiting and consequently moving to Canada were my first and second times outside of the United States.

© 2019. All rights reserved.