Digital Transformation (DT) is a hot topic these days. It might be in the running for buzzword of the year, along with blockchain, disruptive, and cloud-native. And yet, it’s a buzzword that businesses are taking very seriously. As IDG noted in their 2018 State of Digital Transformation Report…

In the article, Why I Recommend Against Using Cucumber, the author Jason Swett, stipulates some problems with how he sees Cucumber being used incorrectly, and that even if used correctly, he posits that Cucumber has a “small negative value.” While people’s testing practice may vary, and there is more than one way to skin a cat, based on our experience using Cucumber at MojoTech on many Ruby projects, I felt the need to offer a rebuttal because Mr.…

These days, it seems that almost everybody wants to learn to code — and if you believe all the boot camps and book titles that have surfaced over the past two decades, you might think it’s also easy to do. It seems to me that the latest generation of programmers is learning to code quite differently from how I learned. Perhaps that’s progress, but on the other hand, I meet many junior programmers who achieve a certain competency with code, but then hit a ceiling.…

Intro to Cloud-Native Terms The definition of what makes something a cloud-native application can be a little (pardon the pun) cloudy. This lack of clarity is curious given that by 2020, it is predicted that the “Cloud Shift” will affect more than $1 trillion in IT spending, making cloud computing the next major technological disruptor. With this much money at stake, one would hope that everyone involved in the cloud ecosystem could speak the same language and come to a consensus on the correct usages.…

The Product Manager is an essential player in the software development process. Yet, we often find ourselves answering a troubling question when sitting down with eager prospective clients. “Why do I need a PM? I already know what I want to build.” One aspect of the Product Manager’s role is addressing and finding the perfect balance between building the right product and building the product right. What’s the difference, you say?…

Introduction Running applications on the cloud is not a binary decision. You don’t just move to the cloud and call it a day. The journey to cloud-native starts with establishing business decisions that mandate that applications in your organization need to deploy faster, scale easier, and break less frequently. Throughout the cloud journey, companies can find themselves in one of several stages, progressing further into a cloud-native environment. I’ve highlighted these stages below, including the major benefits of each.…

Introduction Many posts aimed at new Vim users tend to just paste a large .vimrc file and then explain a few plugins to try. Very little (if any) time is devoted to explaining what all those settings in .vimrc are actually doing. I’d like to walk through my personal .vimrc file section by section and break down what and why I have the configuration settings I do. Given that my .…

I’ve been asked at least once “How can I get better at programming in a compositional style, with functions?” This question usually stems from someone trying to learn a language dedicated to functional programming and struggling to make the paradigm feel “natural”. As one of the more outspoken advocates of functional programming in the office, I thought I’d provide a “listicle” of tips in the inimitable style of BuzzFeed to address the question.…

Typescript provides some nice facilities for quick and easy error detection when writing React components. Writing React components in Typescript isn’t hard, but getting the most out of higher-order components in Typescript can be a bit tricky, especially when they need to be generic. Typescript generics Typescript generics are essentially a way to parameterize other types. A form or a data fetching component is a good use case for generics because both the form and the data fetching component don’t care about the types of the code inside of them.…

As consultants, our job is to provide the most value possible to our clients over the course of our engagement. As engineers, our desire is to build software that is a joy to work on. Thankfully, these goals are not mutually exclusive. In trying to meet both of them, it helps to focus on building well-designed applications. Since “well-designed” is a fairly nebulous term, I’ll lean on Sandi Metz to provide a definition.…

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 the third year running, by Providence Business News, who also awarded co-founder Chris Shoemaker “CTO of the Year”.…

Load More