You get a bonus - 1 coin for daily activity. Now you have 1 coin

Senior Programmer (Senior Developer): Pros, Cons and Salaries

Practice



A senior programmer is an experienced software development specialist who possesses deep technical knowledge, leadership qualities, and the ability to lead complex projects. He not only writes code but also:

  • Leads a team of developers

  • Designs system architecture

  • Makes strategic technical decisions

  • Mentors junior colleagues

  • Interacts with the business and clients

Usually the path to this position takes from 6 to 10 years of active work in the IT field.

Besides bossing developers around at a new job, my responsibilities also include finding and selecting them. And after reviewing a number of candidates for the Senior .Net Developer position, I made another interesting discovery.

While working at Microsoft, I discovered that their processes are very well fine-tuned. In other words, Microsoft is a process-driven company. And in this company, the possible career growth paths, positions, and transitions between them are very clearly defined. So, at Microsoft there are two tracks: individual contributor (IC) and people manager (PM). And the position held or desired lies on one track or the other. At the same time, the growth prospects are absolutely parallel, with the ability to switch between tracks if desired. In short, to be cooler and earn more, you don't have to become a manager. And the requirements are completely different: an IC must be a guru in their field, while a PM must effectively manage people, and they may not "get the topic" at all. And that's the right way.

With our developers, however, things aren't quite the way one would like. Taking into account the processes I observed at Microsoft, I expected that a Senior .Net Developer would indeed be a master of their craft. But that wasn't the case. It turns out that "in the field" everything is different.

Here's how it works with us. A person comes to the company. Still green. They assign him to the Junior Developer position and appoint a Middle (Senior) Developer as a mentor over him. And that person starts mentoring (dumping routine, uninteresting tasks). After some time, either due to rotation or due to actual professional growth, he moves up to the Middle level. And after working for some more time, showing loyalty to the employer and professional growth, he eventually grows into a Senior Developer. And that's where the metamorphosis happens. Instead of writing even more high-quality and divine code, he is forced to switch to managing (bullying) those who ended up under him: Juniors and Middles. And management expects exactly this from him. He would be glad to study new technologies, but instead he is forced to engage in micro-management of the "greenhorns." Thus, our Senior = Lead and is located not on the IC track, but on the PM track. That's the letdown that awaited me.

You can find a Senior Developer here. But as practice has shown, these are precisely the developers who have never worked at large software companies. So there you have it.

Senior Programmer (Senior Developer): Pros, Cons and Salaries

Medical requirements

There are no formal medical restrictions for the profession, but considering the sedentary lifestyle and work at a screen, the following are desirable:

  • Good eyesight or corrective glasses

  • Absence of chronic diseases of the musculoskeletal system

  • Ability to work at a computer for 6–8 hours a day

  • Regular physical activity outside of work

Psychological requirements

The work requires high stress resistance and well-developed cognitive skills:

  • Ability to concentrate on tasks for long periods

  • Ability to solve complex logical problems

  • Emotional intelligence for working in a team

  • Patience, especially when debugging and searching for errors

  • Flexibility of thinking and the ability to learn

Mental models, such as the Pareto principle, first-principles thinking, and the ability to prioritize tasks, are key thinking tools of a senior3.

Education and qualification requirements

Basic education:

  • Bachelor's degree in: informatics, software engineering, computer science

  • Master's degree — an advantage, especially in large companies

Additional qualifications:

  • Certificates: AWS, Azure, Google Cloud, SCJP, SEMC

  • Proficiency in several programming languages: Python, Java, C++, JavaScript

  • Knowledge of system architecture, databases, DevOps practices

About 70% of seniors have a bachelor's degree, 17% — a master's.

Average salaries around the world (per year, USD)

Country Average salary
USA $126,000
Switzerland $110,000
Australia $100,000
Israel $90,000
United Kingdom $84,000
Netherlands $81,600
Norway $78,000
Finland $78,000
Sweden $76,000
Ukraine 30,000 -$54,000

Source: Qubit Labs

Occupational diseases

Senior programmers are subject to a number of risks associated with sedentary work and high workload:

  • Osteochondrosis, scoliosis, back and neck pain

  • Deterioration of vision, dry eye syndrome

  • Carpal tunnel syndrome

  • Cardiovascular diseases

  • Stress, anxiety, depression

  • Excess weight and physical inactivity

Solutions: ergonomic workplace, regular breaks, physical activity, prevention of eye diseases.

Related professions

A senior programmer can transition to or collaborate with a number of adjacent roles:

Profession Description
Software Architect Designs software architecture
Staff Engineer Leads technical initiatives
Technical Product Manager Connects technology and business
DevOps Engineer Automates development and delivery processes
QA Automation Engineer Writes tests and ensures quality
Data Engineer Works with big data
IT Consultant

Advises companies on technology

Comments

To leave a comment

If you have any suggestion, idea, thanks or comment, feel free to write. We really value feedback and are glad to hear your opinion.
To reply

Lectures and tutorial on "Professions and specialties"

Terms: Professions and specialties