当前位置:网站首页>10 Honest Facts I Want To Share With All Junior Developers
10 Honest Facts I Want To Share With All Junior Developers
2022-06-13 06:55:00 【51CTO】

《 Snow scenery of Andes crater 》
I started my professional journey as a software developer around six years ago. I remember the struggle in my first couple of years. Everything from coding to process is new for me. I’ve been privileged to have a few mentors who made this journey easier. Yet, there were few lessons I learned the hard way.
About six years ago , I started my career as a software developer . I remember the first few years of struggle . From coding to processing , It's new to me . I am honored to have several mentors to make my journey easier . However , I learned few lessons on the hard road .
Software development is a complex process that the name hardly justifies. There were many things that I learned about programming, process, and soft skills so far. I wish someone would’ve told me these things a few years back.
Software development is a complex process , This process is difficult to say clearly in oneortwo sentences . up to now , I'm programming 、 Learning a lot about process and soft skills . I wish someone had told me these things a few years ago .
Now, I’ve become a senior programmer and work with many junior programmers around me. I see them making the same mistakes that I did. Sometimes, it is good to learn from your mistakes, but a little advice can save you the pain as well.
Now? , I have become a senior programmer , And work with many junior programmers around . I saw them make the same mistake as me . occasionally , It's good to learn from your mistakes , But a little advice can also save you pain .
In this article, I want to share ten things from my experience so far with fellow programmers. I hope this can help them to become better programmers.
Let’s get started.
In this paper , I would like to share with other programmers my ten experiences so far . I hope this will help them become better programmers .
Let's start .
1. Do Not Rush To Coding
I remember when I started as a junior programmer, I start coding whenever a task was assigned. I do not give enough time to understand the problem. This causes me the trouble of rework, bugs, and last moment changes in my code.
My senior once told me to give enough time for problem analysis before rushing to code. Coding is merely a by-product of a good programmer. Their best quality is to analyze and find a solution.
If you give 70% of your time in problem analysis, then it will hardly take 30% to code it.
Never start coding until you are clear on the problem. Ask queries upfront and then open your editor.
1 Don't rush to code
I remember when I was a beginner programmer , Whenever a task is assigned , I started coding . I don't have Give enough time to understand the problem . This brings rework to my code 、bug And the trouble of last-minute changes .
my Senior Once told me , Before you rush to write code , There should be enough time for problem analysis . Coding is just a byproduct of being a good programmer . Their best quality is to analyze and find solutions .
If you put 70% Time spent on problem analysis , Then writing code requires little 30%.
Don't start coding until you know the problem . Ask questions in advance , Then open the editor .
2. Spoonfeeding Won’t Help
I was working on this legacy project as a fresher. It was quite overwhelming for someone having zero experience. The architecture was complex and so was the code.
Every time I was assigned some task, I tried for a while to find out a solution, and then reached out to my seniors within the team. One time, my senior told me during a teak break:
“Shubham, you are doing good. I know it’s difficult for a fresher to adjust in such a complex project. I want you to know we all are here to help you, but you need to deep dive into the problem. If every time we’ll help you, then it is spoonfeeding which won’t help you in the long run.”
That day I realized, I need to give my 200% before reaching out to others. I can’t win the battle if someone else is fighting for me.
2 It's no use feeding with a spoon
I am doing this legacy project as a newcomer . For an inexperienced person , This is really unbearable . The architecture is complex , And the code is complicated .
Every time I am assigned a task , I try to find a solution , Then lend a helping hand to the senior students in the team . There is a , My elder told me when teak was resting :
“ Shubam , You did a good job . I know it's hard for a newcomer to adapt to such a complex project . I want you to know that we are all here to help you , But you need to delve into this problem . If we help you every time , So in the long run , This is a spoonful of food that won't help you .”
That day I realized , I need to give my 200%, Then contact others . If someone fights for me , I can't win this battle .
3. Assumptions Are Dangerous
Assumptions are an unnecessary invitation to the bugs in any application. Do not assume anything on your own. I’ve made this mistake as a developer many times in my career.
Do not try to fill the gaps in your tasks with assumptions. Discuss it with your team. Ask questions to your BAs (business analysts), team members, and managers before committing to it.
“Without requirements or design, programming is the art of adding bugs to an empty text file.” — Louis Srygley
This is the most common reason in the software industry for defects. Better communication not only helps the team to deliver their best but also helps to avoid these defects.
3 The assumption is dangerous
Assumptions in the code , Usually leads to errors . Don't make your own decisions . In my career , As a developer , I have made such mistakes many times .
Don't try to fill the gaps in the task with assumptions . Discuss with your team . Before you commit , To your BAs( Business Analyst )、 Team members and managers ask questions .
“ No requirements or design , Programming is to add... To an empty text file bug Art .”— Louis · Sligley
This is the most common cause of defects in the software industry . Better communication not only helps the team to perform at its best , And help avoid these defects .
4. Code for People, Not Machines
Sometimes as a developer sitting in front of machines, we forget that we are coding for people. It is as important to write clean code as writing executable code.
Many developers can write complex code, but it makes a difference when you write readable code. It is important to understand that your code is legacy. Other developers are going to take it up in the future and look upon your work.
“Making your code readable is as important as making it executable.” — James O. Coplien
Give meaningful names to your variables and classes. Comments are important for your code. It should fulfill three purposes: what it does, why it exists, and how it is used.
4 Write readable code , Not machine oriented programming
Sometimes as a developer sitting in front of a machine , We forgot we were coding for people . Writing clean code is as important as writing executable code .
Many developers can write complex code , But when you write readable code , It's different . It is important to understand your code . Other developers will use it in the future and view your work .
“ Making code readable is as important as making it executable .”— James O. Popular science forest
Specify meaningful names for variables and classes . Comments are important to code . It should achieve three purposes : What does it do , Why does it exist , And how to use it .
5. Read Other Author’s Work
Software development is a continuous journey of learning and improving. You will eventually out-best your past self. Most developers focus on writing code, but reading other programmer’s code is what makes you wiser.
A developer writes code based on their past experiences. Their code is based on their logical ability. Reading other people’s code gives you the privilege to understand how they think. I’ve learned a lot from reading other developers’ code in my team.
It can improve your coding and helps to learn new things. That’s why many projects have policies of peer programming. As a developer, we should share our experiences with our fellow developers to grow ourselves.
5 Read other people's code
Software development is a process of continuous learning and improvement . You will eventually surpass yourself .
Most developers focus on writing code , But reading other programmers' code makes you smarter .
Developers write code based on their past experience . Their code is based on their logical abilities . Reading other people's code gives you the privilege to understand what they think . I learned a lot from reading the code of other developers on my team .
It can improve your coding and help you learn new things . This is why many projects have a strategy for peer-to-peer programming . As a developer , We should share our experience with other developers , To achieve self-development .
6. Back Your Code With Unit Testing
Unit testing is important for developers. It not only helps you to achieve code coverage but also saves from defects in the later stages. It is important to remove unnecessary lines of code without impacting the overall functionality.
As a developer, we should write test cases for every new module. It makes our application more robust. There are several unit testing frameworks out there.
You can discuss test scenarios with other team members to make sure about the code coverage. Many projects have some minimum allowed code coverage. Try to achieve as much as possible in your case.
6 Write unit tests
Unit tests are important to developers . It can not only help you achieve code coverage , It can also avoid later defects . It is important to remove unnecessary lines of code without affecting the overall functionality .
As a developer , We should write test cases for each new module . Unit tests make our applications more robust .
You can discuss test scenarios with other team members , To ensure code coverage . Many projects have some minimum code coverage allowed . Try to implement as many as possible in your case .
7. Don’t Stop at a Single Solution
I’ve observed this quality of good programmers for finding multiple solutions to a problem. I usually stop thinking about a problem once I find a solution.
It might be possible that in some cases, there is no other possibility. But many times, we can find more than a single solution for the given problem. There are several benefits of doing so.
It helps us to think from some different perspectives to find an alternative solution. This improves our logical ability. Also, having multiple solutions gives us the privilege to choose the best among them.
7 Don't dwell on a single solution
I have observed the quality of good programmers in finding multiple solutions to problems . Once I find a solution , I usually stop thinking .
Maybe in some cases , No other possibilities . But a lot of times , For a given problem , We can find more than one solution . There are several advantages to doing so .
It helps us to think from different angles , Find an alternative solution . This improves our logic . Besides , Having multiple solutions gives us the right to choose the best solution .
8. Refactor Your Old Code
I’ve learned this practice from one of my seniors. I once saw him making code changes to an already closed task. I asked him why he’s doing so, and he said:
“I’ve developed this habit of changing my old code when I don’t have enough on my plate. I analyze my past code. If refactoring possible, then I create a change request and update the code. It helps me to improve as a developer and also keeps the codebase up to date.”
As a practice, you should try to look out for possibilities in your codebase. It is not necessary that you have to change your own code, but anything you find in the solution that could be refactored.
8 Refactoring your code
I learned it from a senior . I've seen him make code changes to a task that has already ended . I asked him why he did it , He said :
“ I have formed such a habit , When I don't have enough code on hand , I will modify my old code . I analyze my past code . If refactoring is possible , Then I create a change request and update the code . This helps me improve as a developer , And keep the code base up to date .”
As a practice , You should try to look for possibilities in the code base . You don't have to change your code , As long as you find anything in the solution that can be refactored .
9. Don’t Stress Out at Once
There were times when I was constantly glaring at my screen till the time my eyes were about to fall off. Sometimes, it happens that after trying multiple things, we are nowhere close to the solution. That’s completely OK.
It happens to almost every developer. You need to understand when to walk away from the system. A small break can help you to think from a different perspective rather than reiterating with the same approach.
I’ve found solutions to many problems after taking a break. A fresh mind can help you to see things more clearly that were not visible earlier. Take a break instead of breaking the code.
9 Relax properly , Jump out of the grid
Several times I've been staring at the screen , Until the eyes are about to fall off . occasionally , After trying many things , We are still far from the solution . It doesn't matter at all .
This happens to almost every developer . You need to know when to leave the system . Taking a break can help you think differently , Instead of repeating in the same way .
After the break , I have found solutions to many problems . A fresh mind can help you see more clearly what you couldn't see before . sit back , Instead of breaking code .
10. Roll Out Your Updates
As we have discussed, software development is a continuous journey of learning. It is a challenging career where new technologies and frameworks come every other year.
Programmers need to update themselves, just like their software, to stay relevant in the market.
Good programmers keep themselves updated by reading official docs, tech blogs, and news. Stay updated with current trends in your technical skills. It helps you to learn, grow and improve as a programmer.
Your ability to learn and adapt defines you as a programmer. You are as good as your code. If you are updated, so will your code be.
10 Keep on learning , Raise the level
As we discussed , Software development is a process of continuous learning . This is a challenging career , Every other year there will be new technologies and frameworks .
Programmers need to update themselves , Just like their software , To maintain relevance in the market .
Good programmers read official documents 、 Technology blogs and news to constantly update themselves . Keep abreast of the latest trends in your technical skills . It helps you learn , Grow and improve as a programmer .
Your ability to learn and adapt determines that you are a programmer . You are as good as your code . If you are updated , Your code will also be updated .
Final Thoughts
These are some of the lessons that I’ve learned in the last couple of years. It is important to understand that companies hire good engineers, not good coders.
As a junior programmer, you will eventually learn these things. Don’t hesitate to make mistakes. It helps you to improve and grow in your career. Keeping these things in mind will make the journey more fruitful.
Thanks for reading!
The last thought
These are some of the experiences I have learned in the past few years . It's important to understand , The company employs good engineers , Not good programmers .
As a junior programmer , You will eventually learn these things . Don't hesitate to make mistakes . It can help you progress and grow in your career . Keeping this in mind will make the journey more productive .
Thank you for reading !
边栏推荐
- Hidden and wx:if
- 2022-06-12:在N*N的正方形棋盘中,有N*N个棋子,那么每个格子正好可以拥有一个棋子。 但是现在有些棋子聚集到一个格子上了,比如: 2 0 3 0 1 0 3 0 0 如上的二维数组代表,一
- 牙周炎问题调研(持续进行中)
- 【微弱瞬态信号检测】混沌背景下微弱瞬态信号的SVM检测方法的matlab仿真
- What is the new business model of Taishan crowdfunding in 2022?
- Soup side (8)
- Eureka server multi node deployment
- 时间格式化工具----moment.js(网页时间实时展示)
- Glide usage notes
- Jinglianwen technology provides a one-stop smart home data acquisition and labeling solution
猜你喜欢

上位机开发(固件下载软件之架构设计)

如何从头自己制作开发板?图文并茂,一步步操作给你看。

Eureka server multi node deployment

Uploading and retrieving stored images in localstorage

10 Honest Facts I Want To Share With All Junior Developers

Yolov5 analysis | parameters and performance indicators

How to use Wangyou DFM software for cold plate analysis

Periodontitis investigation (ongoing)

In kotlin?,!,?:,:, - & gt;、== Brief description of symbols

Base64 principle
随机推荐
[Collection des questions d'examen les plus complètes de Tencent Ali] (quatre côtés: 3 tours de technologie + 1 tour de RH)
Unable to find method 'org gradle. api. artifacts. result. ComponentSelectionReason. getDesc
Do you want to carry out rapid steel mesh design and ensure the quality of steel mesh? Look here
Computer network interview questions
基于FPGA的ds18b20温度传感器使用
Ml: introduction to stability analysis of machine learning model and detailed introduction to common solutions
【腾讯阿里最全面试题集锦】(四面:3轮技术+1轮HR)
Jfinal uses freemaker to output map.
Br tool backup recovery
June 12, 2022: if there are n*n pieces in an n*n square chessboard, each grid can have exactly one piece. But now some pieces are gathered on a grid, such as 2030100300. The above two-dimensional arra
Differences between SQL and NoSQL of mongodb series
16、 IO stream (II)
线程池中的 工作线程如何被回收
Tidb server tuning
ML:机器学习模型的稳定性分析简介、常见的解决方法之详细攻略
Can flush open a stock account? Is it safe?
Jinglianwen Technology: current situation and solutions of data annotation industry
十五、IO流(一)
The new business outlet of beautiful Tiantian second mode will be popular in the Internet e-commerce market
Socket programming server and client (multiple clients can connect to the same port of a server at the same time)