Now let us speak about fundamental part of the industry. Namely what IT is? Good question, isn’t it? First of all, it’s a technology. Itself the term is used to describe a set of tools helping to solve real life problems consuming and digesting information. The reason why we’d like to answer this question here and now is: we see there is a lot of misunderstanding in modern world. Every quarter there is a new framework popping out. It usually has fancy features and promises to make developer’s life happy enough. And it’s true, but to a particular moment. When based on framework application grows it’s starting to behave uncontrolled without clear reason. And those programmers who experience lack of fundamental computer science knowledge are stuck. The reason is that there is unavoidable steps that developer must go through to become senior developer. And it’s pretty common that devs are skipping these. What they do is just reading new documentation and ready to go. This can lead to a disaster in the future. Customer who invested plenty of money in a project based on latest framework is losing profits due to incompetence of programmers which have taken the decision to use latest trendy shiny but absolutely wrong framework without understanding its engine specifications.
Another big problem is exceeding power of new computers. In the good old days it was 900MB of RAM and 0.9GHZ processors and we had to deal with that. In return applications were a sort of peace of art. With these minimalistic settings every line of code has to be as optimal as it can possibly be. Limitation were forcing app design to be optimal and solve problems without ruining the environment. Old school programmers now are like golden ones because newbies are spoiled from very beginning with 16GB and i7s. They do not have to care about app as an engineering piece of art. What for if it’s working as it is? However, this is preventing from analysing own code and proper code review. Indeed, it is also bringing problems with understanding architecture along with self critics. In a long run it could lead to aborting entire project because it was built wrong from the beginning. This is clear inability to scale horizontally and vertically. Having said that, we mean that for business it means loss.
Professional programmers are not only programmers with several projects in their backpack, they can understand business much more deeper. They know that whole picture is much more important. So they plan ahead and help not to solve problems, but to simply to avoid them. In some way it can slightly spoil customer which could think that all is dead easy. On the other hand, customers sometimes do not understand why they have to spend so precious time for review or refactoring when business still relies on app and app is working as Swiss clockwork. The app is still profitable There is no down time or accidents and affordable costs. This is what we call the Quality. Moreover, when app has a good architecture, it is relatively easy to add new important features and improve user experience.
In conclusion, we are not just moaning for ancient times when grass was greener and sky much more blue. Willingness to learn is one of the key to success. More than that extensive past experience is helping to digest new information much more rapidly and filter out not relevant but very fancy up to date useless stuff. This literally means it’s easier to recognize in which direction move learning power in order to get most of future now.
If you need to hire a professional programmer or architecture, please contact.