Work with us.
Embrace innovation to drive new value for your organization. Let’s innovate something great together.
When there are literally infinite ways to approach a particular software challenge, we believe it’s important to be opinionated about how it should be done. We’ve been doing this over 20 years, and we’ve developed our opinions. We also learn from our experience and the experience of others so our approach is continually evolving.
These key tenets of our approach to software development will add value to your project.
We’ve long been advocates of the concept “fail fast.” We want to figure out where the weakest parts of a solution are and develop them first. By starting with the hardest stuff problems come out early and more flexibility exists to adapt. In some cases, if insurmountable problems arise early, the cost and risk are significantly lower than at the end of a project.
Prototyping has always been an important part of software development, but recently new tools have made prototyping faster, easier, and more powerful.
Architecture is Everything
Like constructing a building – if you don’t start with a solid foundation, the rest of the project is doomed. Good architecture drives security, code quality, usability, scalability, and maintainability/total cost of ownership. We consider ourselves technology agnostic, so we look at the goals of the project and then choose the tools based on what will work best. When we combine this approach with smart architecture, project outcomes are significantly improved.
Documentation and Code Review
The best software isn’t written in a vacuum by a single developer. We believe software is developed best in a collaborative process. Good documentation helps developers think through what they are doing and share those thoughts with others who will develop and maintain the code in future. Peer code reviews help developers improve their code and the code of other developers around them.
Security is Baked-In
You don’t build software and then figure out how to secure it later.
Leverage the Cloud
The cloud has changed software development. There are cloud services that can be leveraged in powerful ways to increase scalability and reduce delivery time. When using microservice architecture, an application can span both internal and external (cloud) apps. Sometimes the entire app can be developed in the cloud.
Languages and Platforms
Our software development team is certified and highly skilled in a multitude of programming languages, frameworks, and technology stacks.
- AWS Lambda
We’ve written and supported hundreds of customized software solutions, from simple prototypes to scalable enterprise applications supporting tens of thousands of users. We specialize in working with highly regulated industries with external compliance standards and governance models. And we can adapt our practice to many more. We understand that critical software often falls under these standards and we’ll work with you to create a plan to meet your compliance requirements.
We’ve been doing this for a while – well over 20 years. We’ve delivered hundreds and hundreds of successful projects – countless flawless releases. Every project and relationship helps us refine our process, so we continue to evolve with new technologies and methods. Within our team we have all of the expertise needed to support your website improvement initiative. From full redesign to incremental improvement.
How Stable is Your Software?
- Do you keep and audit regular backups of your data and/or content?
- Is the code for your software stored in a secure repository?
- Do you have a policy governing updates?
- How frequently are there problems with making multiple code changes and code getting overwritten?
- Are your deployments automated or does someone manually push code and configurations?
- Do you maintain development, staging, and production versions of your software?
- Do you regularly scan for performance, security, and accessibility problems?