It’s where it all started in 2008, when engineering was the only service we offered. And because we believe that successful products must be both designed and built to the highest standards, engineering is still a core focus at MojoTech.
We’re uncompromising in hiring the best engineers in the industry. Mojos aren’t just the ones constantly learning about new technologies and methods as they appear; often, we’re the ones teaching our peers about them. But while we have a lot of experience writing software, what really sets MojoTech apart is our attitude toward engineering, which is built on five core principles:
We believe that software engineering needs to be practical.
While engineers have the luxury of dealing with the black-and-white world of bits and bytes, the reality is that when the zeros and ones meet real business requirements, good engineering demands thoughtful tradeoffs.
We embrace tradeoffs. We pride ourselves in being able to articulate the pros and cons of tough decisions, and make smart recommendations in the best interests of our clients. We know that the Perfect is often the enemy of the Good. There are always several viable options when building software, and someone who tells you otherwise is simply selling you the solution that they want to build (or the only one that they know).
While we would be building software even if it wasn't our job, it is our job, and we take it very seriously. It's a privilege to be able to build software for other people, but also a great responsibility. We take pride in our work, and we want it to be the best. We have a duty to build the best software we can for our clients and their users.
At the same time, we understand and acknowledge that in any complex software project, bugs and defects do appear, especially as you iterate. We’re not afraid to face these defects head-on and ensure that our software is always becoming better.
We build software because we love it. Many Mojos programmed as a hobby before it was our job. Some of us switched from the careers we trained for to do the thing we love. Doing what you love for a living is wonderful, and we don't take it for granted.
Being passionate about what we do means we put our heart into it. We come with some strong opinions, but being professional and practical means that our passion motivates us. It never distracts from what we want most - a successful outcome for your product.
Even though great code has a certain beauty, we know the difference between art and engineering. Good engineering has to be repeatable, and that means following a defined and disciplined process. We've seen poor processes cripple software development, but we believe the remedy is smarter process, not “cowboy-coding.” Software engineering process is hard, because it's at the interface between human engineers and sophisticated technology, and we're continually working to make that process better.
While process is an important enabler of our goals, it's never the goal in itself. And while we’re proud that our process helps us build the best software for our clients, we’re also proud that our process is always improving. We know that the best software engineering process is the one that's flexible enough to keep getting better.
We're glad that software engineering isn't merely about algorithms on a whiteboard. The products we build run real businesses and serve real users. We like it that way, because, while we can be pretty geeky, we actually like people, so we want to build useful software that makes them happy. Over the years, that’s meant everything from making a hospital run more efficiently, to enabling a customer to purchase the perfect product. Often, it’s about helping an entrepreneur see his or her vision finally become a reality.
Just as we write code for developers to read, we build software for users to experience, because, in the end, it's not about computers; it’s about people.
Want to build smart things with a super talented team? We're hiring people like that.