Where to start
It is always a turning point, in the life-time of any project, to know where we want to go. To get there, which tool should be used? Which programming language? Which environment?
e days when we had the privilege to choose a single tool to develop a new product are gone. Nowadays, we must choose a set of solutions that together will serve to achieve the objectives. e rst step is to collect the speci c characteristics of the project.
We start by de ning who are the actors of the project and what is the necessary infrastructure. e required use of a speci c hardware can, for example, serve to remove a range of options.
Will it be a web project? A desktop project? What kind of integration will it do with third-party systems? How many people will use it? is is all very important to make an assertive decision. Deludes himself who thinks there is silver bullet, a technology that solves everything.
Let’s assume that the chosen platform is the web, the great computers network. Do we use Python, PHP, Java or Ruby? Which framework: Zend Framework, Django, Spring or Ruby on Rails? If you think the answer is simple, you have not understood the problem. Large platforms use a mix of technologies, each solving part of the problem.
is is a good tip to start: search for companies with similar ideas to yours. Know what they chose as a base technology for their projects and What problems they encountered and how they solved. It is important to learn from the mistakes of others.
Maintenance and Scalability
After an initial search, you need to pay attention to the support available to you with your choice. Make sure there is a strong and active community developing resources, preferably free library for you to use. Or is it just you and a strange guy who lives at the bottom of a cave that are using this technology?
Is there any big company behind the technology or tool that you chose? Does it run the risk of dying from night to day because that community that existed weakened? familiar technologies, even the open source ones, usually have the advantage of some giant organization behind that will make your life much easier and any change to happen more smoothly.
Another important aspect is the professionals. Will it be easy to nd people for your team when your project grow? Or an exhaustive training will be required, to learn a programming language that no one knows, just because it seemed more interesting in the beginning of the project? Find out how many professionals are available in the market to join your team if the project were to grow. Alternatively, make sure you have the capacity to absorb and train inexperienced professionals.
The point is
De ning the base technology for any project is not an easy decision. Be aware of the important issues for people involved in the project. Choose something that will give you security to work, at least in the medium term. Whatever your choice, remember that when you encounter a di cult problem, previously de ne a source where you can run and get help. And you’ll need it!
At HiMaker, we work with many di erent technologie We are sure that the more programming languages we know, better solutions will be created and the needs of customers will be successfully met.