We are specialists in software development and design. Our designers and coders eat, breathe, and sleep code. Many of us have been programming and building applications since we were kids. For us, creating software is not just a job, it’s our lives, it’s what we do.
Creating software is both an art and a science. We absolutely love what we do; therefore, when you sign on with us, you get a team that cares about what the code looks like, feels like, and not just that it works or simply meets the requirements.
You know those scenes in the movies? The ones where they show the software hacker people and they’re dressed to the nines in button down shirts, pocket protectors, and pants that are too short?
Or, have you seen the more recent portrayal of programmers that wear t-shirts, kicks, maybe sporting some art on their sleeves and the backs of their necks? That’s actually pretty accurate; even if the computer science in the movies is a stretch.
The truth is that the best programmers… well… they have some issues. And, we strive to hire the best and brightest minds in the software industry. We value thought, creativity, and honesty over dress shoes and hair jelly.
That is not to say that we don’t value style. We just don’t have a dress code.
We think it’s silly that you do.
Here at Code Scientists, we are who we are, we love who we are, and we know that you will love us too. Because of that, the culture here is fun, creative, and we love to come to work. And, because of that, you may see some earrings on a guy, a spiffy do or two, and maybe even a tattoo.
Thought, Creativity, Honesty.
View Our Specialties
WPF applications are our favorite Windows applications to build! The applications we create using WPF use the Model, View, ViewModel pattern which results in highly maintainable and testable applications.
If you prefer the older style Windows applications, we can build those too. In fact, we have been building traditional Windows applications since the early 90s.
Having trouble finding someone to maintain or write C/C++? We can help you with that. We have experience in STL, MFC, COM, and many other technologies that are hard to find developers for these days.
Composite applications are extensible, pluggable, and we love them! Because of our experience in commercial software, we’ve created many extensible and pluggable architectures. At the most basic level, we can add extensibility to your applications using MEF (Microsoft Extensibility Framework), or we can build you a complete composite application.
We’ve written shell extensions, explorer extensions, Internet Explorer plug-ins, keyboard hooks, drivers, and many other things that require knowledge of the Windows API.
Although we don’t build web pages or shopping carts, we love to build web applications! Web applications are interactive like Facebook and Twitter. Generally, we build our web applications using asp.net MVC. They are cross-browser compatible and we use the latest standards. If you need content management services in addition to your interactive web application, we can implement a content management system for you, such as Umbraco or Rainbow. As well, we are happy to create plug-ins and modules for your favorite CMS.
There are three ways that we can help you with building mobile applications, or extending your existing applications to mobile platforms. We can build native apps, cross-platform apps, or web-based responsive apps.
Native applications are fast and can generally work offline as well as online. On iOS, our native applications are built using objective-c or Swift.
On Android, we build native applications using the Android Studio and the Java Development Kit.
Visual Studio is our tool of choice for Windows Phone applications. Our Windows Phone applications are built using .NET, C#, and the Windows Runtime.
Not often are we outside of the range of cell phone or wireless communication. Because of that, a web-based responsive solutions may be what you’re looking for. The cost of development is lower than native applications, because there is a single code base. And, our team has extensive experience building responsive (user interfaces that change to fit the device they’re viewed on) web-based applications.
We use Xamarin to build cross-platform applications with a focus on reusing as much code as possible across all platforms. This is a good option if you want to lower the cost of developing solutions for multiple mobile platforms.
Because our team comes from a commercial software background, we have spent many years designing and developing systems supporting large numbers of users. You can benefit from that knowledge by letting us help you design your application or system from the ground up!
Much of the work we’ve done in recent years has been on extensible or pluggable systems, or systems that can be expanded at runtime. For developers, the advantage of these systems is that they can be enhanced without modifying, compiling, and redistributing the core applications.
For product owners, the biggest advantage is in market expansion and entrenchment. Through extensible architectures, customers can enhance your products on their own (and many of them will). Your product becomes entrenched the more it is extended to fit a customer’s specific needs.
Application composition is a method of implementing and building extensible systems. Often, for example, there is core functionality that can be reused while a small bit of functionality requires customization. Some software developers will copy and modify applications over and over in these cases. Our team, on the other hand, focuses on reuse. Let us create a core architecture that will dynamically load and use the bits of your applications that require custom code.
Data models sit at the heart of most systems. Poorly designed data models, and databases, weigh heavily on system performance and scalability.
Good service design is just as important as good data model and database design. Our team can build API or problem-domain specific services, or we can design and build a REST solution for you. We are equally comfortable using either technique.
Over the years, we have created many Windows services. Some of them are synchronous and polling and others are highly multithreaded and concurrent. Benefit from our depth of knowledge in system and processor architecture by letting us create thread-safe solutions for you.
(Don’t know what that means? That’s all the more reason to let us do the dirty work!)
Nearly every project is backed by a database of some kind, whether it’s SQL Server, MySQL, or a document database like Mongo. We’ll look at your requirements and help you decide on the best database platform to fit your needs.
In addition to software development, our clients have asked us to help in a number of other areas.
Hiring your own programmers? Let us review their code for issues, best practices, and style guidance. We can tell you what they need to improve on and help you get the best code quality for the money you’re spending.
Do you have a seemingly impossible to solve application performance issue? We can help! Let us analyze your app down the complete stack and stay focused on what makes you money. We can look at everything from heap usage to database.
We use low-level debugging tools to find and fix problems that many developers find hard or nearly impossible to troubleshoot. Keep your developers focused on their work. Offload those really tough issues to us!
We absolutely love startups! Do you have an idea? Using our extensive experience in commercial software development, we can get you started fast by:
Given our experience with complex projects (and the complexities involved), we have come to an in-depth knowledge of how to successfully manage implementing them on time and on budget. Let us show you how well we can deliver!
We're easy to reach... Send an email, give us a call, or use this fancy form to send us a message.Code Scientists