当前位置:网站首页>A few misunderstandings about programmers are very harmful!

A few misunderstandings about programmers are very harmful!

2022-06-10 17:18:00 Hollis Chuang

Hollis In the limited time discount for your new book , An in-depth explanation Java Basic dry goods notes !

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 .

63019f35f5e119b054c0ebf24522406a.png

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 :

  1. Or it's a simple story about thieves 、 Repetitive code without thinking ( For example, add, delete, change and check )

  2. 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 .

cc8242bcd675b131713732b4b73b956e.png

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 :

  1. 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 .

  2. 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.

  3. 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 .

b512705575143c585fd0aac143933417.png

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 ~

9c0c37ef43b15423092da3e55f74ca5b.png

Long press to scan code and enjoy 6 A discount

Previous recommendation

b2e0c13d819c55680985a441145402c3.png

Circle of friends “ Envy others for paying their wages on time ” He was fired ? Official response !


52ec7b1b3ebb9388c4432d12090eab13.png

SpringBoot Realize face recognition function !so easy


310b451c82ee4a182a88ab76bb481812.png

“ 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

a8996f5ec90d0420f642d78a2ee7c52b.png

Good article , I was watching ️

原网站

版权声明
本文为[Hollis Chuang]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/161/202206101612571056.html