The Development Process: Selecting a Coding Language

Posted on

Welcome back to our series on Coretec’s development process. Last time we covered the Discovery Session, a brainstorming session where you share your vision and we start planning how to deliver what you need to make your business run better.

During the Discovery Session we collectively discuss the possible coding languages for your software. If that sounds like a decision we, as the professionals, should be making, then to some degree you’re right. Based on the scope of the software, we will provide you with some options and give you our best advice, but there are factors you’ll need to take into consideration for the final decision.

The conversation usually centers around which languages are the smartest from a business perspective for you, as the client? Our Lead Developer will walk you through options like JavaScript (including nodeJS and React), PHP, and .NET.

If that all sounds like Greek to you, don’t worry. We explain the pros and cons of each language and what business outcomes you can expect based on the different choices.

The main factors to consider are the scope of the project, and the ease or difficulty of finding a developer to maintain your project after we deliver it. We do offer a maintenance package which we’ll discuss in a minute. For now, here’s a brief overview of three coding languages and why you might choose them:

PHP

From a project perspective, PHP is great for rapid development. If you have an idea that you want to get up and out of the box quickly, like a custom website or relatively simple web-based application, PHP is the perfect option. It will handle authentication and logins quickly and simply, and is great for projects such as an internal staff portal.

However, with PHP you’ll start hitting roadblocks with any increase in the complexity of your requirements. If, for example, you’re building a website and expect thousands of requests from external web users, then your performance will start to suffer.

From a business and maintenance point of view, PHP using the Laravel framework is very popular right now so finding a developer shouldn’t be too challenging or too expensive. The PHP framework is also very well supported and will be around for the foreseeable future, so you won’t need to re-write your solution for some time.

JavaScript

JavaScript has a number of big selling features. First off, Javascript is an incredibly powerful language that is continuing to grow and improve. The JavaScript community is strong and still on a growth curve with no decline in sight. While tech is notoriously difficult to predict with changes coming thick and fast, JavaScript looks like it’s here to stay well into the 2020s which means that, like PHP, an application written in JavaScript won’t need to be replaced anytime soon.

JavaScript can also be used to write both the back and the front-end of an application, thereby allowing full-stack developers to properly fulfill their title and make use of one tool that can do all things. This enables them to focus on the engineering and overall structure of the project, and it cuts the number of developers you’ll need in half. You can also find fantastic JS developers with a deep knowledge base relatively easily.

.NET

Finally we come to .NET, a language backed by Microsoft who is currently a huge contributor to the developer community. .NET provides a lot of infrastructure flexibility and is trusted by massive ecosystems and larger enterprise applications in financial institutions and government, which definitely lends it some weight and reliability.

Typically we see clients asking for .NET who have had experience with it before, have a project already built in it, and have .NET developers working with them. Developers of .NET tend to be more experienced and have more years of schooling, making them more expensive and harder to find as larger companies in Toronto and the States are snapping them up. They aren’t as thin on the ground in Waterloo given the schools and companies we have here, but even so, an experienced .NET developer who will be around to carry your project forward can be hard to come by (which is why we keep our .NET expert happy and well-fed!)

Coretec’s Maintenance Package

Regardless of the coding language selected for your application, every language has updates, lifecycles, libraries, and frameworks that may or may not continue to be supported.

Maintaining your tech means having a developer who will tell you about upcoming changes to the supporting framework of your project, and tell you what needs to be done to keep your tech working on the other side of the update.

As you can tell from our brief overview of coding languages, depending on what framework and languages your application relies on, finding that “on call” developer can be difficult and expensive.

One of our services is a maintenance package. We track scheduled updates, changes, and deprecations that will affect your software’s functionality, and let you know about them well in advance, giving you time to make the budget adjustments necessary to keep your systems running smoothly. Even if we didn’t develop your application, feel free to contact us to discuss this, or any of the other services we offer to support and contribute to the success of your business.

Next week: the Implementation Phase

Once the Discovery Session is over, you’ll receive a Scope of Work from us: a document which acts as our implementation road map for your project. Watch for the third post in our series where we explain the Implementation phase of our development process.