By Jacob Irwin-Cline — originally published April 14, 2021

What Is Recursion, and When Is It Useful?

In computer science, recursion is a key programming technique in which a function calls itself one or more times until a specific condition is met. It can be particularly useful when working with deeply nested structures that prove too complex for an iterative solution.

Though recursion seldom appears in an average programmer’s day-to-day work, there are real-world use cases in frontend web applications, like the one we’ll go over here.

A Practical Use for Recursion in React

My team was tasked with putting together a reusable, infinitely nested tree component. The nested data structure coupled with infinite depth…

By Jacob Irwin-Cline — originally published October 19, 2020

After a long-winded search for employment, including copious rejections, maybe you’ve finally landed a sustainable position at a well-grounded company, or maybe you’re still on the hunt. The job market ebbs and flows, but as long as you stay dedicated with your spirits up, you’ll likely be making this transition as well. I started my journey into tech a year ago, and I’ve now been working as a developer at my newest company, Olio Apps, for about 3 months. After a pretty great interview, I felt confident that I would be…

A day in the life of a software developer is mostly a system of routines: you do your stand-up meetings, you portion out your work, you set your goals, and (hopefully) you accomplish them with a little extra time to spare. Some days, you demonstrate your work to the client, some days you set up a planning meeting to codify your sprint objectives, and some days you create a technical design for a more complicated feature.

Whatever your day ends up looking like, it likely falls into a pattern of an established cadence set by your employer’s standards, or through…

A high level look at what they are and how to use them

By Stormi Hoebelheinrich — originally published November 1st 2019

An image of rotary pay phones mounted on a wall
An image of rotary pay phones mounted on a wall

Imagine this: You just moved away from home for the first time to go to college. Your mom calls. “How are you? Is anything going on?” she asks.

“I’m good. Nothing exciting is going on yet,” you reply. It’s good to hear from her.

Twenty minutes later, you get the same call: “How are you? Is anything going on?” There’s nothing going on. You get the same call every twenty minutes for the rest of your life. What a nightmare!

Thankfully, this isn’t your reality, but this is the reality for…

Reflecting on what makes a good stand-up and if it’s still worth doing

Once loved by agile teams, the daily stand-up meeting has really been taking heat the last couple of years. Given the commotion from outside teams, we decided to examine our own daily stand-up ritual. Was it still serving us? Or had we become trapped in a monotonous SCRUM cycle, unable to see time-wasting, zombifying “Blah Blah Blah. No blockers. Done” before our very eyes? Spooky. Before I get into my team’s experience, I’ll dive into what stand-up is and identify some of the common complaints. Then I’ll give some tips on resurrecting a stand-up that has lost its luster.

What Is Stand-Up?


What we’ve learned from our experiences working remotely

By Stormi Hoebelheinrich — originally published July 30th 2019

Over the past year, Olio Apps has made a commitment to changing our company culture around working remotely. We’d seen other teams enjoy success by going fully or partially remote, but for us, working outside the office felt like an inconvenience. We wanted to change that, and we knew that we had the technology to make it a reality.

Because of the nature of our industry, most of the issues with remote working are easily solved through proper planning, team management, and tools. …

How to Avoid Creating a Monster

By Stormi Hoebelheinrich — originally published June 27th 2019

In a typical software life cycle, most projects begin as a bouncing baby prototype and later develop into a strong, trusted production application. At these two distinct stages of software development, the priorities, pace, and coding practices can differ greatly. Understanding these nuances and properly planning your prototype to transition into a product can save you a lot of time and money. And by protecting your bottom line, it can increase your chances of project success.

Prototype Development

Prototype development is defined by a rapid development pace for iterating and testing. Oftentimes a…

A self-directed exercise for learning to use new tools

By Jon Walz — originally published May 23rd, 2019

Photo by Daniel Chekalov via Unsplash

I spent the weekend making a technical design and implementing it to challenge myself and evaluate a few different unfamiliar libraries. I’ve read a lot of positive reviews of Storybook, so I figured creating a small project would be a good way to evaluate. Driven by my interest in Nivo, a charting library, I thought an easy bit of data to visualize would be my TreeHouse profile points.

The React Suspense API and react-fetching-library were technologies that have piqued my interest lately, so I included these intentionally. I’m rather happy with…

How to foster your well-being in the workplace

By Frank Meza — originally published May 15th, 2019

Wellness or well-being is the state of being comfortable, healthy, or happy. This state of well-being can exist in one’s life as a whole, as well as in each arena of a person’s life, eg. they have a state of well-being in their social life, their home life, their emotional life, and their work life as say, a software developer.

In many cases, there can be very strong correlations between a person’s level of well-being and personal satisfaction of their tasks during their working hours and their productive output. …

What to do when faced with the unfamiliar

By Stormi Hoebelheinrich — originally published April 22nd, 2019

Author’s note: Inspired by my own recent experience of handling a lot of “newness” all at once, I started writing this blog. While writing it, I realized I was really just writing about my own philosophies on being a developer in general, because so much of what we do involves constant exposure to new ideas and tools. No matter where you are in your career, I hope there’s something here to inspire you to learn, grow, and participate in supportive developer communities.

As a software engineer, I find my self torn…

Olio Apps

A software company located in Portland, Oregon

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store