Tuesday 15 September 2020

Is it worth becoming a programmer: the complexity of the profession

Today the programmer is considered a fashionable and prestigious profession. Work in the IT field is surrounded by an aura of romance, entangled in legends about successful startups and big money. And numerous online courses offer to gain knowledge and start earning in just 2-3 months. All this attracts a lot of random people to the profession. As a result - disappointment, psychological burnout and a huge number of unclaimed low-skilled personnel. And all because all this romantic "husk" is nothing more than a beautiful wrapper.

Programming is painstaking work, constant self-education, complete immersion in the workflow and a huge amount of boring related work.

At the same time, you need to understand that beautiful stories about brilliant startups that make a developer a millionaire overnight have long since gone into the realm of fairy tales and legends. The time of talented singles is long gone. Now any software product, except perhaps for simple CMS-based sites, is the fruit of teamwork. And the leading developers will have high salaries in this team. The rest earn at the level of "office plankton" and, in fact, differ little from it.


How much does a computer scientist make

Myth one: you can learn quickly

The first thing to understand is that programming cannot be learned in a couple of months. During this time, you can learn the basics of a language and basic concepts. Any courses and webinars with such promises should be bypassed by the tenth road.

In reality, there are two ways:

Self-education.  Including using various thematic courses. The training usually takes about 2-3 years. At the same time, maximum attention should be paid to practice. Create programs, sites, various "pribluda" for yourself and your friends. Practice - only if you have a portfolio with interesting projects can you qualify for at least a junior level.

Education at the university.  A diploma is a good thing. But even here you will have to study additionally yourself. In the course of your studies, you will gain in-depth knowledge of mathematics, algorithms, etc. In matters of programming languages ​​and software systems, even the best universities are hopelessly behind the times.

And then you need to mentally prepare for continuous professional development. The IT sector is developing rapidly. New programming languages ​​appear and existing ones are modernized, new versions of software tools are constantly being released.

Be prepared to regularly spend time learning new systems that will become obsolete before you can really understand them.

Myth two: everyone can program

Of course, the basics of algorithmization and the skills of writing simple applications are not at all difficult to learn. These wisdom will not be mastered unless a complete humanitarian. By the way, if you end up working in another field, programming skills can be very useful. It's much easier to write a macro yourself and make your work easier than doing a bunch of manual chores or looking for someone to help. But all this is not about professional programming.

A real programmer should combine:

Creative nature . Whatever they say, programming is creativity. You are given a task from the user's point of view, i.e. describe the desired result. And how to implement this as efficiently as possible, using a minimum of resources, and also combine all this with the existing systems and "wishes" of the customer - you decide. Sometimes you have to combine the incompatible. And this requires a creative approach.

Analytical mindset . A program is always logic. A programmer will need to be able to structure information, create complex algorithms, work out clustering, and much more. A clear sequence, attention to detail, perhaps even some tediousness is important here. Any negligence in the code can lead to critical errors in the future.

Resilience to stress and teamwork . The time of lonely introverts in programming is over. Now it is important to find a common language with customers, project managers and colleagues. And it's good if your project manager is an IT specialist, you will at least speak one language. And if he is one of the managers, then you will have to explain many times the obvious things for you from the series "why is it impossible" or "why is it only this way and not otherwise."

At the same time, do not forget that in addition to solving the problem, i.e. programming itself, you will also have to compile technical documentation and user manuals, develop tests and, at times, catch errors in the code for months. You also need to be  able to read someone else's code , which often becomes a real nightmare. And do not forget to put down comments in your code for colleagues who will someday be engaged in system improvements.

A very common situation: in the learning process, everything was easy, the person clearly showed abilities. After several months of real work, the programmer loses interest in the work. Most often, the reason is the routine that does not correspond to the temperament.

Burnout is a common problem among junior programmers. Some of the zeal are too immersed in the process and forget about rest. As a result, they fizzle out. In this case, rest and proper time planning will help.

Others, due to their nature, become disillusioned with work. They lack movement and change. They have already solved the problem "in principle",  and then it becomes boring . In this case, it is better to leave the profession as soon as possible. It makes no sense to remain just another "bad programmer" without any prospects. And it is better to think well in advance about whether you are ready for all the features of the work, including monotonous "catching fleas" (minor errors), writing documentation and annoying conflicting requirements of the management.

Myth three: the elitism of the profession

A special, sometimes even enthusiastic attitude towards IT women is the lot of ordinary people who have read those very "success stories". Perhaps your mother will be very proud of you. Less successful friends will look from the bottom up. It may very well be that you will start to receive a decent income much faster than your peers in other areas. And when you reach senior level, you will be the envy of your peers in professional communities. On this, in fact, all the "elitism" ends.

Talking about a "new nation" or "a special caste of the elite", so beloved at the hangouts of programmers, in reality is nothing more than narcissism.

Employers will treat you like regular technicians, no better or worse than a car mechanic or a production engineer. In fact, you really do not differ much from them, except that the salaries of leading IT specialists are slightly higher. But before that you still need to grow.

Nowadays, only a few manage to take part in the development of something really new and important. In most cases, these are talented programmers with higher education who have also mastered related industries.

For example, a "simple programmer" will never be accepted into a space program. This is where knowledge of rocketry is needed. Likewise in any other innovation area. If your ambitions stretch in this direction, get an education, study additional disciplines, become not just a programmer, but a programmer-chemist or programmer-physicist, etc. Otherwise, you will spend all your life implementing software solutions in the commercial sphere, poking around in someone else's code and writing kilometers of forms.

No comments:

Post a Comment

Cisco Updates Certified Network Design Engineer Curriculum

Cisco has updated its CCDA® Associate Certification Preparation Program in Network Design. Updating curricula and exam requirements will ens...