Why not start a career in a small non-IT company

Hello!

The last 2 months I worked in a small company. This was my first experience as a programmer in a company, and I want to share the problems I encountered and the conclusions from them. I hope this post saves novice professionals time and nerves.



Introductory


I am in my second year, I often take orders from friends and freelance for any development: sites, telegram bots, parsers, etc.

I could get up to 30-50 thousand per month in the best scenario and normally combined work with study.

Reasons to look for work in the company


First of all, money. Yes, as a student, I was attracted by the idea of ​​stable decent earnings.

Secondly, learn to write code.

Third, learn to organize work.

Even if you don’t go for an internship, colleagues still teach a lot. In the company you see how adult programmers write code, organize work on projects, and develop architecture. This is not enough on freelance, when most projects are small and are done on the principle of "sit down and write."

Work searches


I compiled a CV, filled out a resume on hh.ru, and started a search there. My mistake was to respond to everything that I see. In the first week, three companies responded, for two I decided a test task, and the third immediately invited for an interview.

Something is wrong: Job seekers send dozens of job postings per day, so companies filter them out with test tasks. If the company sent you a test task, it means they know how to weed out bad personnel. Take the time to complete the test.

Job interview


There were 10 people at the panel interview. All or students, or just graduated from the university. The interview was conducted by the director of the company.

At the 2nd stage of the interview, a technical specialist spoke to me. It turned out that he is the only programmer. Therefore, he was engaged in absolutely everything: data analysis for the marketing department, and the development of internal applications, and the development of chat bots for the client, and server maintenance. He also changed the ink in the printer.

Something is wrong: Look at what other developers in the company are doing. It is bad when they do not have established functions, responsibilities and areas of responsibility.

First days


Due to problems with the lawyer, I was offered to sign the contract in a few days, but in the meantime go to work.

Something is wrong: Never go to work without a contract.

During the tour of the office, I was told that I can work at any workplace, they are not fixed.

Something is wrong: Be sure to demand your workplace - a table and chair. At first it seems that working wherever you want is cool and modern, but this is far from the case.
Firstly, you will need a monitor so as not to kill your eyes on the laptop.
Secondly, after a couple of days of work on the couch, the lower back begins to hurt.

I talked with a "technical specialist", asked me to tell you how the code is organized now. It turned out that he did not use the version control system at all, the source code was scattered randomly on his servers and hosting. No documentation or tests have been written for any project. So the disgusting legacy code of the level of self-taught June fell on me.

Something is wrong: Obviously, the code must be well organized and accompanied by documentation, or at least comments.

Management


The IT department manager turned out to be not a programmer, not a system administrator, not a developer or even an analyst, but simply a former project manager of the sales department with a diploma of “information security specialist”.

Something is wrong: At the early stage, it is very important that you have a senior developer with extensive experience in industrial development. It is critically important for business to calculate project timelines and evaluate pitfalls. You can do this job well only by understanding how the project code works. If there is no such person, be prepared to take all this work upon yourself.

With the deadlines in the company was a big trouble. At the time I arrived, the “technical specialist” was tearing down the deadlines of all projects, and the management could not do anything, because they did not understand programming and development.

Meetings for the sake of meetings hinder time management. Sometimes 3-4 meetings per hour take place daily, where departments tell what they managed to do in the past 2-3 hours. The same meeting in the evening in the evening.

Something is wrong: If you are a developer, your schedule should have blocks of at least 3-4 hours, no less. Development is a creative, not an administrative process that requires concentration. This is difficult to explain in a non-IT company, where all processes are divided into blocks of 15-30 minutes.

Total


The "technical specialist" quit, leaving only usernames and passwords from all of his servers. All projects where he participated are on fire. Management is urgently looking for outsourcers who could figure out a bunch of legacy code.

Joining a small non-IT company is stressful because no one understands what you are doing. You will have to explain all the basics of working on IT products, and it’s good if you understand this. The manager needs to explain that the first stage of work on the project is design, and that without tests the project will be bad. You can be distracted by little things every 15 minutes, because in their sphere it is customary.

The main thing is that everything will have to learn on its own in the field. This is not at all the same as training projects, because other people, company money, depend on the results of your work. If you write bad code, you will understand why it is bad only when something breaks. And something will definitely break.

Hope this text helps you avoid an unpleasant experience. I will be glad to any questions!

All Articles