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.…

A lot of projects we work on at MojoTech require the UI to be accessible in many different locales. Recently we have been working with a global retailer to build an internationalized React client for their B2B ordering platform. One of the core requirements was for this to be accessible throughout Europe and the United States. This includes translating strings to different languages, and formatting numbers, dates, and currencies to the user’s preferred locale.…

When you look at an agency’s site, what do you look for? We recently redesigned our website at MojoTech, and we spent a lot of time looking at other agency sites to help us think about how to move forward with ours. This exercise made something painfully clear: most agency websites aren’t particularly helpful to potential clients. They’re built with the agency in mind, rather than the client. For example, many sites spend countless words going on about the various programming languages that they use; a valuable recruiting pitch, perhaps, but not all that interesting to someone who merely wants their idea turned into a working, thriving product.…

Introduction Running A/B tests are pretty straightforward. Pick an A/B testing platform, set up some JavaScript snippets, and start making your changes through the provided editor. It works great for testing copy and small HTML/CSS changes, but what if your tests are more complex? Netlify looks to solve this problem by allowing you to A/B test multiple GitHub branches. You just select the available branch, specify how you want to split the traffic, and you’re ready.…

Author image

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?…

At MojoTech, we care about building great products, but more importantly, we care about building the right products. And building the right product is hard. Because we can only build products based on the best information available to us, discovering better information is required if we want to build a better product. This is why we always try to start off new development projects with a Discovery Phase, in which we take all of the ideas about the product; analyze, research, and test our assumptions; and ruthlessly cut everything that doesn’t apply to our vision.…

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.…

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