In this lesson, we will talk about what companies and areas of development are.
Companies fall into two broad categories based on the roles that programmers and software development play in them. The first group is those companies in which IT is just a department that is not the main business, and the second is those in which the business is built around IT.
With those companies in which IT is represented as a department, everything is quite simple. These can be factories, banks, large construction companies and any other companies that need automation. Most often, these IT departments are needed precisely to automate workflow or improve some business processes within the company, and nothing supernatural is required from the IT department, except for solving the specific needs of this business.
The second category of companies is those companies in which the business is built around IT. They are divided into several more types that you need to know about.
Custom development (outsourcing)
The first type is a custom development or outsourcing company. Such companies have developers on their staff sometimes completely different ones and literally sell their working time to customers who do not have their own developers, but they need some kind of software. Large outsourcers work with representatives of various business areas: industrial enterprises, insurance companies, banks those who need serious software, in the development of which many developers are involved.
Due to the peculiarities of a custom development business, which in fact is built in one form or another on the sale of the time of its employees, it is stable when there are many developers in it the more, the better. For this reason, outsourcers try to be very large, they employ a lot of young developers, they often integrate with universities, and have a bunch of offices around the world. Large companies employ thousands of developers. These companies do make a lot of money and are very stable. In addition to such giants, a lot of small companies work in outsourcing: from 1-2 to 50-100 developers. However, the smaller the company, the more unstable it is: if your order does not go somewhere in one place, people who need to be borrowed are released, otherwise their salary will not pay off. On the one hand, this business carries great risks, but on the other hand, it is very easy to start it hence the large number of companies in it. You can just call your friends and invite them to outsource. After that, you need to find the first clients and you can work. And then more and more customers learn about the company through word of mouth, and in a good situation, you can successfully earn money. Some custom development companies got their start this way.
Another big area is product development, when companies are engaged in the development of a product that is interesting to consumers. If you really succeed in making a product in demand, then the ratio of earnings to costs is usually disproportionate. In outsourcing, everything is quite simple: you take a person, he costs you such and such an amount, you earn such and such an amount with his help, scale and grow linearly. In product development, if your product is in demand, you can have a team of 4 people, but still make millions of dollars and serve millions of users. This model is a little more interesting because it allows you to scale indefinitely, but creating such a product is much more difficult than starting outsourcing. In addition, the life cycles of some products from time to time come to an end due to changes in market conditions, realities or for other reasons, and they cease to exist, so it is important to pay attention to their diversification.
Now let’s figure out what types of software and areas of development exist, where you can go and what to do.
There are many different classifications of software, but when choosing a direction of work, programmers first of all pay attention to the platform, which is then rarely changed. Classification of application software by platform:
– Web programming
– Mobile development
– Server software
Recently, mobile and web development has been very popular they have more vacancies, money and opportunities. There are special areas in development that are not related to one type of platform, such as game development (game development). Programmers write game engines, games for the web and desktop, and more and more games are being ported or developed for mobile devices. And most likely, the creation of games under the current conditions will be done by those who work in mobile development.