Distributed Operations: How uShip Built a Culture of Code Ownership for Faster Feature Delivery

Article originally published by VictorOps The original all-hands-on-deck culture faltered during growth. Raleigh Schickel, DevOps Manager, has seen uShip evolve from a small team with a few developers, to a larger company with a dev team size of 60 and growing. Initially, everyone was always on-call for their own code. But this culture of ownership… Read More

What We’re Reading Between Pushes, Vol. 2

uShip Engineering values a culture of continual learning. A degree may land you an entry level position, but in software development especially, education is an ongoing process in both formal and informal settings. As such, we implore our team members to continually stretch the bounds of their knowledge, and we love to dive into the… Read More

Not all <video> is created equal.

Recently at uShip, we launched a new homepage as part of our “Design Language System” (DLS) initiative. The new homepage featured an animated “shipper” and “carrier” having a conversation. This is achieved through the use of a <video> tag, a feature proposed in 2007 by Opera, and iterated greatly throughout the following years. This blog will… Read More

Deconstructing throttle in underscore.js

Ever try to build a rate limiter? underscore.js has one called throttle. And like most utility functions, its source code on the surface looks a bit dense. Teasing it apart piece by piece helps us see how it accomplishes its purpose. In plain language: “We have a browser event that fires constantly, but we don’t… Read More

Streamlined, Manual JSON Parsing in Swift

There’s plenty of articles out there about how to parse JSON in Swift, what libraries to use.  Apple even posted one themselves as I was finishing up this post.  What I’d like to talk about here is the way the uShip iOS app handles JSON parsing, which is a variation of Apple’s approach. Sharing maintainable Swift code is… Read More

What We’re Reading

uShip Engineering values a culture of continual learning. A degree may land you an entry level position, but in software development especially, education is an ongoing process in both formal and informal settings. As such, we implore our team members to continually stretch the bounds of their knowledge, and we love to dive into the… Read More

Visual Studio+ReSharper-level Productivity in VSCode

Update 2017-05-22: This post originally written for a project.json .NET Core project. It has been edited for a .csproj .NET Core project. Visual Studio Code (aka VSCode) is a lightweight text editor from Microsoft. Many people think just because it is a “text-editor”, they will be missing the features they are used to from an… Read More

Consul Clustering: Our Experience

Introduction Consul is a distributed key-value store, heavily opinionated towards service discovery. If you’re not familiar with the basics of service discovery, Gabriel Schenker, who we’ve had the pleasure of working with, has an excellent introduction to service discovery. In this blog post we will cover how we set up and expanded our Consul cluster…. Read More