Category / Code Quality

As a longtime Ruby programmer who has just recently begun to focus more on Clojure, I find myself continually surprised by all the little treasures that Clojure offers. One of those treasures is Clojure's sophisticated support for destructuring - it's even better here than in EcmaScript 6! To explain the beauty of Clojure's support for destructuring function arguments, we need…

Lately, I've been working on Satellite, an open-source monitoring solution for Mesos clusters. It has become clear that Satellite needs to be easier to install and configure, and that we may need to change the very nature of its configuration files. This has led me think about software configuration in general, and particularly about which about which styles work best…

As developers we're tasked to take a problem specified in the fuzzy language of human interaction and translate it into a representation that can be understood by a machine. To do that we have to simulate the machine in our heads, and manually trace every possible path of execution. The number of execution paths grows at every branch point in…

Who's afraid of big bad technical debt? Every conscientious software engineer knows about technical debt. Lots of us learned the hard and painful way that deferred refactors and sloppy code can and will come back to bite you eventually. Since we don't like being bitten, especially by our own code, we learn to hate that nasty technical debt. All manner…

As a developer you will always encounter situations where there are multiple ways to accomplish the same task. Evaluating your options can be done by acting as if you are reviewing the resulting code. The 4Cs are a useful tool for doing this and you’ll get better at each with pratice. Code clarity makes projects easier to work on…

David Leal (@ior3k) shares some thoughts on the documentation process. Update: Part 2 of the Series: How to Write Living Documentation If you are a software developer, I hope by now you have realized that you're much more than a "code monkey". If that weren't the case, you'd be translating between a detailed description of a given process,…

Whenever you write code, you hold certain assumptions in your mind. You expect some conditions to be met, and you promise that, if those conditions are valid, you’ll do something in return. But sometimes your code fails to convey those assumptions. Consider this snippet: class Users def find_by_name(name) collection.find { |u| u.name == name } end private…

Building an innovative company

On paper, MojoTech's resume looks pretty impressive. Since its inception in 2008, MojoTech has launched more than 100 products by partnering with clients to deliver software that solves their most complex business problems. MojoTech was ranked the 42nd fastest growing software company in America by Inc. Magazine, and was listed as one of 2016’s Best Places to Work for…

Load More