Ascent
Building great products is hard. Let's get better at it.
Post-image

Untold Benefits of a Software Blog

Starting a software blog can feel out of reach to most. Without readers our time will be wasted, right? Wrong. Thousands of dollars. That is what blogging about software will make you, even if no human being ever reads your blog. Not hogwash. At first, readers may seem like the
Post-image

2017: The Goals

If i had to summarize my learnings of 2016 to a single lesson, it would be the importance of goal setting and measurability. In the same vein, it is time that i set some clear goals to tackle in the new year. Write 52 blog posts Blogging has become one
Post-image

Designing as a Developer

Software developers have two things in common: we write code and we suck at making things look nice. Or so we think. The truth is we aren't actually bad at making stuff look nice. Our issue is that the blank canvas of a new site is daunting. Ironic, given that
Post-image

Side Projects: Avoiding Failures to Launch

The story is a familiar one. An excellent idea, simple but valuable. A fresh codebase, like a world of possibilities. A side project is born. A weekend of delivered pizza and whirlwind coding lays the foundation of something wonderful. But then the novelty fades. Productivity slows. Eventually, between work and
Post-image

Software Engineering Lessons Worth Learning Early

College didn't teach me what i needed to know. It taught me how to learn what i needed to know. I read this quote on a pamphlet in RIT's Software Engineering office one day. I didn't understand it at the time, but it has turned out to be the most
Post-image

Prove Features Manually

At companies, we spend a lot of time using intuition to solve problems or increase revenue. But it is rare that these features, in their first version, end up working as we intuitively expect them to. Heck, some of them outright fail to produce the desired effects at all. If
Post-image

Iterative Architectures

One of the common themes i see teams struggle with is their architecture. In the technology world, needs and opinions change over time. Because of this, no architecture is truly future-proof. They inevitably need to be changed. The problem is that for architectural updates, "change" tends to mean
Post-image

Design By Ideal

I find myself asking the question, "How would this work in a perfect world? What is the ideal here?" more and more lately. It seems to fit in so many discussions, from architecture to process to meeting formats to feature development. Each time i ask it, i am
Post-image

Deep Image Analysis with Ruby and Google Cloud Vision

How would your app change if you could know the contents of your user's photos as they uploaded them? Would you sort products based on the activities in their photos? Match users based on common locations? Suggest travel destinations? But of course this has been a pipe dream. Image content
Post-image

Resumes Make Hiring Harder; Ignore Them

Resumes do a lot of things well. They pack a surprising amount of information into a concise and structured format. They are a normalized way for people to express a broad employment history without completely eliminating self expression. But for all their good, resumes have one glaring problem: me. Well,
Post-image

Making Your Stand Ups Better

I am often asked what is the difference between Computer Science and Software Engineering. Many people think the difference is semantics, but they are mistaken. While a proper contrasting will have to wait for a post of its own, the difference that matters for this post is the focus on
Post-image

Your App Has One Feature

Ask an engineer to list all of the features in a product they work on. The result will be long. Next, ask a non-technical employee the same question. The list will be much shorter. Finally, ask a customer. The customer will give you a list you can count on 1
Post-image

Use Generic Names for 3rd Party Services

One of the easiest traps for coders to fall into is naming 3rd party integrations too specifically. It comes naturally, of course. We train ourselves to adopt concise and explicit naming patterns. So what do i mean by overly explicit names? Let's look at a couple of basic examples. If

Fix Rails Converting Backbone JSON Requests to text/html

During a recent project with BackboneJs and Rails, i noticed some very strange behavior. When my controller had an implicit render to Backbone's JSON requests, Rails was throwing an error. ActionView::MissingTemplate (Missing template users/index, base/index with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:erb,
Post-image

The Dangers of Transpiling

Transpiling. Taking code written in one language and translating it to another language of similar abstraction. Some of the most popular languages and libraries these days are transpiled. React, JSX, Scss are all common examples that have gained favor in the past few years. In perhaps the most remarkable example,
Post-image

Building Your Nirvana: The Perfect Coding Environment

We each have memories of our best times reading. The great book with the fascinating characters. The couch with the perfect cushions to rest our heads. A time when we were lost in the story while being supported comfortably by the world around us. This sort of literary paradise is
Post-image

The Value of Personal Projects

If i had to hire engineers on their answer to a single question, that question would be "tell me about your personal projects". That may sound silly, but i haven't found a question whose answer better correlates to ability of the interviewee. This shouldn't surprise people, the best
Post-image

The Joy

Apple announced many improvements during their WWDC keynote this year. The greatest improvement, though, was not a feature or bug fix. It wasn't an updated OS nor was it a new phone. The greatest improvement in the WWDC keynote was the closing video highlighting upstart developers talking about their first
Post-image

Be Your Team's Resource

Programmers are a curious bunch. I mean this literally: we are curious by nature. That is a good thing given how rapidly the tech world evolves. That curiosity keeps our skills relevant for our companies and clients. This curiosity is on display anytime a group of programmers go to lunch
Post-image

Making Privacy Consumable

As engineers we tend to be bad at simplifying topics for lay folks. Yes, we've talked about this before. But when it comes to the data security conversation, i think we have hit a new low. I say this because of the disconnect between the tech sector and the public