From Coder to Developer: Marathon in a programmer career

Post by Android Vietnam | 04-06-2022

“It’s not only your job.It’s your style”.

Remember when you were an Information Technology student, did you ever expect a starting salary of thousands of dollars as the media praised, expecting a rosy future that my parents are proud of. Then when the noise has subsided, the questions arise again: At the age of twenty-three, what have you done and what are you planning to do? Don’t worry if you’re feeling shaky, don’t worry. The starting salary of thousands of dollars in the press is real, there are good advancement opportunities, and there is a life when living with passion. What you need to achieve what you expect is, a good preparation of both knowledge and skills.

Road from Coder – Developer includes Levels: Intern → Fresher → Junior → Middle/Senior → Project Manager / Tech Lead → Tech Lead → CTO/CEO (depending on the size of the company with appropriate adjustments). At NCC, we design career paths and regularly review work results, ensuring each employee’s career path. We believe that “A journey of a thousand miles begins with a single step”, from the time you were an Intern, each of you was designed a suitable route, received attention and under the supervision of Senior Developer to progress every day. And in this article, Amobear will provide you with knowledge of the road to career marathon advancement, locate where you are in this map to keep trying.

🎯: 𝐋𝐄𝐕𝐄𝐋: 𝐅𝐑𝐄𝐒𝐇𝐄𝐑

This position is suitable for students who have gone to practice. Fresher’s years of experience are usually around 3 months – 8 months. Salary depends on your ability range from 300-500$.

Due to not having much practical experience, when interviewing fresher, the company usually only considers your logical thinking ability, programming ability, and programming potential. A fresher’s job is usually to learn the current project, code small, simple modules, fix bugs, maybe have senior help/review. In the Fresher stage, you should try to learn to code, learn how to work, and learn from the experience of seniors.

🎯: 𝐋𝐄𝐕𝐄𝐋: 𝐉𝐔𝐍𝐈𝐎𝐑 𝐃𝐄𝐕𝐄𝐋𝐎𝐏𝐄𝐑

Junior Developer usually requires more than 8 months of experience, is an intern and a fresher, has experience in programming applications in practice. Preliminary understanding of an entire application lifecycle, using a programming language or framework. Understanding of databases, data storage and export. At this time, it is possible to write functions for the application, but the code will have a lot of garbage because there is no optimal experience leading to overlap in data access. At this time, sometimes bad code will lead to a lot of resource server consumption.

The weakness of juniors is of course not much experience, even if you are smart and learn quickly, you have not been exposed to difficult functions or code as well as problems. So to solve the above problems you need to continue to persevere in learning, build yourself a similar product to be able to solve the basic problems neatly, then your leader will see you are strong enough to pass on experience and give you a way to solve more difficult problems. Passing the “do” (fresher) level, the employee will gradually go up to the “deliver” level, that is, receive a task, which when performing will need to overcome unspecified difficulties. In such a situation, the boss can only give some instructions, the rest you have to manage yourself (get things done). You’ll need to make mistakes (something “do” workers fear, as a result of the student mindset), learn from them, and progress.

🎯 𝐋𝐄𝐕𝐄𝐋: 𝐌𝐈𝐃𝐃𝐋𝐄/𝐒𝐄𝐍𝐈𝐎𝐑 𝐃𝐄𝐕𝐄𝐋𝐎𝐏𝐄𝐑

Middle/Senior will need 3-8+ years of experience, can handle complex problems, write large applications. Ability to design large database structures, complex features of the application. Deep understanding of database and application services (queues, caching, etc.)

Developers at the middle/senior level are the people who really matter in building whole applications at scale. Up to this level, you will stand in front of two career paths. One is that when you understand technology enough to be a senior developer, then you may already have deep enough technical experience to be a technical leader or CTO of a startup, however now you have to learn more about people management, managing a software development process… On the contrary you will continue to deepen your technical knowledge, passionate about solving big system problems, Under high load, you generally don’t like getting involved in people management.

🎯 𝐋𝐄𝐕𝐄𝐋: 𝐏𝐑𝐎𝐉𝐄𝐂𝐓 𝐌𝐀𝐍𝐀𝐆𝐄𝐑 (𝐏𝐌)

This title is usually Product Manager or Project Manager. Being a great decision maker on the required functions of a product through research, survey and measurement. Developers just need to communicate well with the team, make sure to deliver the code on time and ensure the quality of the code. Project Manager is responsible for the entire project, including customer satisfaction, project quality. Besides managing people, Project Manager also needs communication skills. When the project has a problem, I must know how to speak so that the customer understands the difficulty and agrees with the solution I offer. After years of coding, you have felt your position has become boring and the work is too heavy. While you are being chased by your job, your PM goes around urging you all day. You feel stress and injustice, you think if the PM is a “repentant” then you can do it. “You have to become a PM today!”

🎯 𝐋𝐄𝐕𝐄𝐋: 𝐋𝐄𝐀𝐃

Tech Leads need 5-10+ years of programming experience, including senior skills. Understand deeply and widely about technologies, choose for the dev team one or more tech stacks to solve problems in large systems. At this level, you will have a lot of important decisions for all programmers in the team to follow, which language to choose, what tools to choose, how to design the system, according to which software process standards. At this time, you will sometimes code definitions, rules for setting variables, for example, but the main job is usually to design the system and make sure the system can scale large, can combine many tech stacks to operate. act to meet needs.

🎯 𝐋𝐄𝐕𝐄𝐋: /𝐂𝐄𝐎

This is the strategic level, defining the direction, philosophy of the company, what to do and what not to do, what to stop and what to start. The simple strategy is to choose. People of this rank have the ability to see far. At this point, you will become an inspirational person, leading leaders and teams to follow a certain vision. The higher you are on this top career ladder, the less exposure you have to programming work. The most important thing right now is about people. Mid-level managers may still have time to tinker with technology, but senior managers must spend all of their time focusing on the people problem: inspiring Inspire, motivate, lead, and strategize.