Function signatures are a huge part of expressing ideas and systems through code. A language (or a programmer) can empower or impede your ability flow in and out of a codebase with joy and cognitive bliss.

When languages like C first came out, function definitions looked all the same. You give a function a name and an ordered lists of arguments with their corresponding types. Every one of these arguments is required to fulfill this wonderful contract we created.

Languages remained this way for some time due to, what I believe is, the prevalence of Object Oriented Programming and Design…


Is Rails viable in 2020? What is the best way to use it for a modern monolith?

Rails is better than ever to build new projects with, it has always done an amazing job at developer experience through its generators and getting right into coding your app instead of building config for weeks to wire up your bespoke solution for another web application.

One area it has started to accelerate over the last few years has been the front end experience. It has taken a while to get right but it has become quite awesome and follows suit with the…


So you want to integrate your Box folders and files with your Ruby on Rails applications. There are a ton of reasons you might want to do this, but I am pretty sure if you landed here you might have an idea about why you are.

The Box.com API is fairly large and has a lot of amazing docs, but it can be difficult to figure out where to start or how you might use it to do things like, create folders from your Rails app or display files from a folder in your App’s UI.

Let’s make this easy.

In this post we…


CSS, the web’s UI styling language, has come a long way since the days of GeoCities. Our lives are better (and sometimes worse), thanks to new language features, tooling, and design patterns. Let’s step through some common hurdles in CSS and how modern CSS frameworks, like Tailwind.css, can help solve them.

CSS History

Language Improvements

CSS has made a lot of progress over the years. For instance, it is now possible to vertically and horizontally center a div, and it is pretty easy! With the introduction of flex-box, CSS grid, transitions, and countless other things can now be styled that was previously a black…


As your team and codebase grows, things can get hard to measure, feel like they are slowing down. the more work you put in the more it seems to get worse. I know I have been apart of codebases that fight you at every turn. this is a rough space and can be very disheartening.

You might wonder why is this? why have things gone so poorly? what did we do to get here and how can we get out? there are some important things that are good to understand when you evaluate questions like this. So let’s dive in.

The 3 levers of feature development.


I recently read the book Measure What Matters by John Doerr. Doerr goes over the system that he used at Intel and then brought to Google (when they were just about 30 people), to help the companies align their goals and measure their success. That system is called OKRs, which stands for Objectives and Key Results.

The TLDR of the book:

The OKR system is the most promising system around success I have seen up to this point. …


We recently pull React and Redux into our stack at work. Our app is a Ruby on Rails, and so up to this point, javascript is either isolated to ember or it is Coffeescript classes with piles of jQuery selectors. These things are totally normal for most Rails apps but after doing most heavy javascript lifting in Ember.js I was really starting to think we should not be doing these bad things. We didn’t want to write another Ember app where Rails generated html was fine.

So when we needed to add rich interactions that would make jQuery cry uncle…


I don’t know about you but if I am running tests between changes in my code, and the they start taking more than 5–10 seconds to run I start to get distracted. Twitter, Reddit, memes.

In order to stay focused I have implemented a little trick for myself. I use Rspec and Guard, but I am sure there are solutions similar for other testing stacks.

when I save a file Guard automatically runs the test in that file or if I save the corresponding ruby file I am testing it will do the same.

IE if I save `my_sweet_program.rb` guard…


give me six hours to chop down a tree, and I will spend the first four sharpening the axe. -Abraham Lincoln

As programmers, sometimes it is not clear what the axe is or how to sharpen it. Some people will say just get better at programming, learn more about your language or framework. That really only gets you so far, and may not be the best thing for you to work on if you are already a few years into your career.

Bettering our Process is Sharpening our Axe.

Our process has the biggest impact on how quickly we can get productive. Step one is we should…


There are great people all around you. If you listen to some of the greatest developers or writers on development, they all talk on the shoulders of giants and if they are smart, will tell you about it.

You are not alone!

http://www.commitstrip.com/

I know that sometimes it feels like you are alone as a programmer. Most of the time you are behind a computer. It can be an isolating place. Especially when everyone is trying to put their best foot forward and present themselves as if they have it all together. But you are not alone! …

Kory Tegman

Senior Software Engineer.

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