当前位置:网站首页>A few misunderstandings about programmers are very harmful!
A few misunderstandings about programmers are very harmful!
2022-06-10 17:18:00 【Hollis Chuang】
In the eyes of many people , Programmers are a kind of high salary 、“ High-risk ” The professional . They wear plaid shirts 、 With a bowl of super handsome bald head , Can repair computer 、 Can hack websites 、 It's almost omnipotent ...
But until I became a programmer myself , I found that many of them are misunderstandings of programmers . Apart from the misunderstanding of laymen , There are also many misunderstandings from fellow programmers . Today's article , I want to combine my study / Work experience and insights , Share my views on these misunderstandings , Of course, I also hope to give some substantive suggestions and inspiration to programmers .
A layman's misunderstanding
1. Why are programmers paid so much ? The average annual salary is one million ?
As the underaverage party , I don't think it hurts much , It's very insulting .
The average programmer salary may indeed be a little higher , But the annual salary of millions is really a survivor deviation , Really very few programmers ( Especially programmers who rely solely on Technology ) To be able to do this . If you take me and brother Ma to average , Then I will pay ten million yuan per person 、 Hundreds of millions per capita, right ?
2. The volume represents the level ?
Many of my classmates used to roast when watching my videos :“ Why do you still have hair , You vegetable chicken !”
I don't think it hurts much , It's very insulting , If the hair volume represents the level, I should be thicker than most of the students here .
So is there a possibility , It's because it's too delicious , The demand cannot be met 、Bug There is no end to it , That's why I often stay up late and work overtime 、 Great mental pressure , Cause the hair to boil ?
Cough , Don't scold. Don't scold , It's me .

3. I feel that programmers' hand speed is very fast ?
I think it depends on the situation . Take me , I'm usually in 2 In this case, it is faster to hit the keyboard :
Or it's a simple story about thieves 、 Repetitive code without thinking ( For example, add, delete, change and check )
Or it's a message chat
So is there a possibility , Programmers' hand speed is through fishing 、 Products 、 Repeated labor 、 Or they play more games and get better ?
But after all, you should always type the code , So programmers' hand speed is usually not slow .
4. Programmers are all 996 Do you ?
I remember when I didn't work much overtime , Some students commented on my video : Why don't you work overtime ?
This question confused me directly , It seems that I really think I should work overtime , It is a sin not to work overtime .

I want to say that programmers also have personal time . As for why programmers often work overtime ? I think the main points are as follows :
First of all, our program code is written more and more , The more you write , The more complex the system is ,Bug The more . Take me for example , When I was just working on the project for a week , Just a few lines of code ,Bug How easy to check . But now the project has been done for more than a year 、 There are more users , Many are old Bug Slowly discovered , And often lead a hair and move the whole body .
The first 2 The point is the programmer's wrong estimation of the scheduling . I found an interesting thing , Demand is endless , The faster you need to do it , The faster new demands come ; And most of the time we only consider the time needed to do it , Did not consider changing Bug Time for . But the reality may be to change Bug It takes longer than development time . So if possible , Don't fill up the demand , Set aside some time to change Bug.
There are, of course, many other factors , For example, you won't refuse the demand 、 Not with the product battle; Lack of experience 、 The written system is not conducive to maintenance 、 Or the people around you are so busy that you are embarrassed to leave... Etc . In a word, overtime is determined by many aspects .
5. Restart can solve Bug?!
I'm sorry , I don't think this is a misunderstanding .. This is true !
I have met some strange people before Bug It's a dead end , But then I learned to be smart , Restart the editor first 、 Restart the software , Maybe it's better . because Bug It doesn't have to be you , Maybe it's really the editor's Bug.
It is understood that after the computer crashes , Restart and you can start up again . The principle should be similar ( Put the program in the initialization state )?
The misunderstanding of colleagues
1. Algorithms and data structures are not important ?
Many programmers think so , I don't think I need to write my own algorithm in my work , Use an existing function 、 Class library , Or you can just copy a paragraph online, right ?
But in fact , Sometimes it's not that you don't use algorithms , But you lack some knowledge , Never thought that we could use algorithms to solve problems better . For example, it is also storage and search 20 ten thousand Word , No algorithm , You can also save with arrays 、 You can also search in sequence , But there is a waste of time and space ; So if you know prefix trees or other data structures , You can save a lot of storage space 、 Improve search efficiency .
I think the more I learn , On the contrary, the more you feel that the foundation is the most important . Because the technology of the upper layer continues to develop 、 Iteration and elimination , But the underlying principle 、 Programming idea 、 Basic skills generally do not change .
Of course, some students also asked if the front end would not need to learn data structures and algorithms ? I can only say that , The proportion of this piece in the front-end interview is really small , Time is tight, you can give priority to the study of technical framework , But when you are free, you still need to make up the foundation .
2. Writing programs should strive for perfection ?
I think this sentence is half right , It should be the pursuit of Under certain conditions The best solution .
Students who have no work experience feel that the program should be perfect 、 See your program has bug 了 、 It doesn't look good 、 Predecessors left the code of Shishan , How much will you dislike .

In fact, the real work , We can't write the program perfectly , It is often a trade-off between space and time , such as HashMap , Swap memory for search efficiency ; Or the trade-off between human cost and resources , For example, spend money to buy ready-made services 、 Save development time ; Or the trade-off between requirements and implementation , For example, you are asked to make urgent needs every day , You still have time to optimize the architecture 、 Are you free to pursue the ultimate performance ? Isn't it , This is how the code shit mountain came into being .
So here we are required to do research and design before writing code , Think about a few more options 、 weigh the advantages and disadvantages , And then choose the relative optimal solution . At the same time, I hope to be more tolerant of the code written by others , Put you in someone else's scene , You may not be able to do better .
3. The amount of code equals level ?
At school , I do think so , At that time, I often boasted to my roommates about how many lines of code I wrote today . But now think about it , Most of them are probably copy and paste 、 Additions and deletions .
After I joined the company, I found that , There is very little time to actually write code , Like the early requirements review 、 With products Battle ah 、 The project design 、 Technology selection 、 communicate 、 Resource coordination is more important , It often takes more time . Before you figure out whether to write code 、 How to write code , Then write the code , Then you will find that it is just a translation tool .
And as far as I can see , The higher the general rank 、 The higher the pay 、 The more capable people , The less code you write . It's not that they can't write , But they have written too much 、 Already have a lot of experience 、 Know how to use tools to get rid of repeated work , Like writing an automated script 、 Repeat code generation tools and so on .
Another reason is that the company needs them to do more important things , From the execution at the bottom to the decision-making at the top , For example, the scheme design just mentioned 、 Or system architecture . The boss set a framework , Write a Demo, Let's leave the rest to our small farmer, right .
Therefore, the code quantity cannot really weigh the level , Think about more reasonable solutions when making requirements 、 Try to avoid duplication of effort when writing code , That is what we want to pursue ,
4. Technology determines the level of programmers ?
I think this misunderstanding is very similar to the last one , If you think a programmer's job is to write code , Write more 、 Writing fast is a strong man , Then you really think of yourself as a yard farmer .
I think the standard to measure good programmers is not just technology , For example, the ability to solve problems , The same thing , You finish faster than others and better than others ; Such as business understanding , Give you a need , It will soon be possible to judge whether it is reasonable 、 Sort out the process ; For example, communication ability , You can maintain users well 、 Team members 、 colleagues 、 Cross departmental collaborators , Extract valid information from the cluttered messages ; Such as product thinking , You can give better suggestions to promote product development ; Such as management ability , Good at organizing members 、 Promote team development . Another example is the ability to share expression , Be able to tell clearly what you have learned 、 Let others understand , I think it's cool , That's why I've been sharing .
End
My new book 《 In depth understanding of Java The core technology 》 It's on the market , After listing, it has been ranked in Jingdong best seller list for several times , At present 6 In the discount , If you want to start, don't miss it ~ Long press the QR code to buy ~

Long press to scan code and enjoy 6 A discount
Previous recommendation
Circle of friends “ Envy others for paying their wages on time ” He was fired ? Official response !
SpringBoot Realize face recognition function !so easy
“ Because of one Linux sudo command , my Twitter The account is blocked !”
There is Tao without skill , It can be done with skill ; No way with skill , Stop at surgery
Welcome to pay attention Java Road official account

Good article , I was watching ️
边栏推荐
- Facebook AI | learning reverse folding from millions of prediction structures
- PHP实现多张图片上传功能的示例代码
- Calling subroutines from other modules in VBA - call a subroutine from a different module in VBA
- VBA divides strings, stores them in an array, writes them to a file, and saves them
- 几个对程序员的误解,害人不浅!
- 提升园区服务水平,优化营商环境该从哪些方面入手
- AIChE | ab initio drug design framework integrating mathematical programming method and deep learning model
- PrimeKG : 构建知识图谱以实现精确医疗
- 智慧景区视频监控 5G智慧灯杆网关组网综合杆
- 一文带你了解J.U.C的FutureTask、Fork/Join框架和BlockingQueue
猜你喜欢

成立1年便成独角兽,腾讯滴滴做「靠山」,今年新晋的独角兽不简单

【报表工具的第二次革命】基于SPL语言优化报表结构、提升报表运算性能

Thread interview related questions

HTML+PHP+Mysql登录注册页面

Docker安装Redis镜像详细步骤(简单易懂,适合新手快速上手)

提高效率的 5 个 GoLand 快捷键,你都知道吗?

接口测试学习笔记

Can deleted wechat friends be recovered? How to retrieve wechat friends after they are accidentally deleted

运筹说 第64期丨动态规划奠基人——理查德·贝尔曼

Fiddler set breakpoint
随机推荐
L1-069 tire pressure monitoring (15 points)
Eliminate if Five ways of else
VBA determines whether a long string contains another short string
Flood control and drainage monitoring automatic monitoring and telemetering terminal for flood control and drainage
直播预告 | 社交新纪元,共探元宇宙社交新体验
Who is using my server? what are you doing? when?
只有真正找到落地和实践元宇宙的正确方式,才能保证发展的行稳致远
Primekg: building a knowledge map to achieve precision medicine
College entrance examination that year
智慧景区视频监控 5G智慧灯杆网关组网综合杆
HTML+PHP+Mysql登录注册页面
VBA判断一个长字符串中是否包含另一个短字符串
Carry forward the past and forge ahead into the future, multiple residuals | densenet (II)
品牌难立,IPO难行,中国茶企困于“传统”?
Detailed steps for installing redis image in docker (easy to understand, suitable for novices to get started quickly)
面试题-笔试
消除业务代码中if....else的五种方式
Fiddler set breakpoint
Fabric.js 激活输入框
全链路追踪 & 性能监控工具 SkyWalking 实战


