当前位置:网站首页>Hidden corners of coder Edition: five things that developers hate most
Hidden corners of coder Edition: five things that developers hate most
2022-07-04 17:26:00 【51CTO】
As a profession, software development has shown explosive development in the past few years , And with the popularization of introductory training and continuous cross industry penetration , Now is really a good time to be a developer . However , Behind the brilliance of software engineering , There is also a less charming side . If you want to enter the software development industry like me , So you're investing a lot of time 、 Energy and money , Maybe it's time to learn some cruel truth .
indeed , There are good and bad sides to any job , But what I want to say is , If you have 70% Enjoy your work for the above time , So you have a great job . As far as I'm concerned , I love development work , But I still want to point out that 30% The annoying part , Those recurring problems are really devastating .
as time goes on , Any job will expose many problems , But in the field of software development , There are certain problems that have been recurring throughout my career . Next , Let me talk about what I hate most as a developer 5 thing ( In no particular order ).
PART 01
Debug code problems that are not under your control
No one wants to bug. in the final analysis ,bug A logic hidden in a line of code , Such as skipping a step or adjusting a wrong method . In all types of bug in , This can be located to a specific location through context debugging bug It is the best one to repair , Because we can find him and fix it . However, those introduced from third-party repositories bug Well ?
As a developer , Debugging code that you can't easily access is more challenging and disruptive . Maybe this is a library you introduced yourself , But because the library has been compressed or compiled , Make readability extremely poor . So if this library is open source , Is it worth celebrating ? Not always , And open source library bug Is often the most difficult to deal with . You need to spend extra time designing the environment to isolate and reproduce this bug, So you can send the problem to the owner of the open source library , And hope they can repair it according to your schedule .
Many teams have to face these problems , You can alleviate this by choosing open source projects or local solutions , But if there is no choice , You have to bite the bullet .
PART 02
Maintain an old project without any documentation
imagine , You are a well-trained 、 Experienced survival experts , Decided to join a similar wild solitude (Alone) The reality show . You have invested thousands of hours in this field , Is an expert in this kind of work , And have many successful experiences . What's different is that , This season you will be randomly selected and put into an environment you don't know . According to experience , To survive , You need to know where you're going , What is it like there , Maybe there are some successful ways ; You need to know why you need to bring something , How they are used , Maybe we should learn from some experienced partners ; You need to know what works , What is invalid , There may be some unique trading skills . however , This time it's different , You don't know the above information , This will challenge your skill limits to the greatest extent .
Take over a new project as a developer , No background information , There are no colleagues who can ask questions , It is very similar to the upgraded version of living alone in the wilderness above . The problem with software development is , There are many ways to solve the problem , The reason why people choose this scheme is systematic and deeply discussed . In a project without any background information or helpers , You may encounter many seemingly strange designs , And it's hard to understand why this design . Is it because developers are lazy ? It is also an alternative to catch up with the schedule ? Or because external constraints force such design and coding ? It's impossible to know , Everything drifted away like a floating cloud . For all that , As a developer , You want to get results , You need to know how to complete the task in this situation .
Unfortunately , This kind of project will make many developers at a loss , And breed disgust , This kind of project started slowly , It's like blindly exploring minefields . This is why well styled code and up-to-date documentation are so important . If you are reading this article , Whether you are already a developer or are about to become a developer , Please try to document it in your code , Especially those strange logic , So when the next person takes over , Whether or not you can provide answers , It will be easier for him to understand .
PART 03
People who don't understand software development give directions
The main members of the software team include software developers 、 Project manager and product leader , Sometimes the project manager and the product owner are the same person , So in the final analysis, there must be two kinds of people , One class is responsible for coding implementation , One is responsible for conceiving the product they want . in the majority of cases , The latter will convene a meeting of stakeholders 、 Create a time schedule and sell the product to others .
The relationship between these two types of people is critical to the success of the project , Sometimes it's important for developers to have fun on the team . Most of the time , Developers are seen as " Code the agriculture ", Demand is pushed to them without thinking , There was not much discussion , Sometimes there are unrealistic deadline. These will cause the product to go online in a hurry , Unable to meet expectations , Eventually, the product fails , Because it doesn't run as smoothly as planned and often breaks down .
For developers , Can find a team , Work in harmony with the project manager or product owner , Not only for the success of the product , At the same time, it also increases the fun of the work itself .
PART 04
Lack of uninterrupted time
There are many great jobs that require the role of developer , Most developers also value their work . The most addictive part of being a developer is , It can quickly turn the flash of inspiration into reality through coding . Another amazing part can be described as " flow "(the flow), That is, deep working state , This is a completely immersive feeling that one experiences in the process of deep work and thinking . This is common in environments that require high productivity and innovation , alike , Many developers need this state to code efficiently .
However , In contemporary work , Time can easily be used for ad hoc meetings or round the clock consultations / Interrupted by a confused message . It's hard to get into a deep working state , But it's easy to be interrupted .
Besides , Software development is a highly individualistic work , This means that after you have been assigned tasks and expectations , Everything else is up to you . However , Due to constant news and meeting interruptions , It's hard to find enough time to get into and stay on the job to complete the task at hand . The key here is the uninterrupted time of the day , Because even if some small things cause you to switch work content, it will also cause losses and affect work efficiency .
Find an uninterrupted time , It is best to 3-4 Hours , Where you can be completely in shape and focus on your work , It's very important . The day was packed with meetings , Or worse , Meeting interval 30-45 minute , This is detrimental to the productivity of many developers .
PART 05
Impostor syndrome
For many programmers , Sooner or later, they will experience some degree of impersonation syndrome in their career . Maybe starting a new project , Join a new team , Or just a sudden bad mood in one day , It makes you doubt yourself and affects your working state all day .
Melim · Webster holds (Merriam Webster) Define impersonation syndrome as :
A state of mind , Also known as negative tendency of self ability , Specific refers to “ Think you don't deserve the success or achievements you have achieved , Be skeptical of your abilities , Think you're a fake ” The state of .
This is a counterproductive state of mind , Some people often experience and are hard to get rid of , Some people never . But fortunately in the software community , Many people say they have experienced this feeling to varying degrees in their career , And willing to help others .
PART 06
summary
Software engineering is a great field , For many people, the scenery is boundless , It looks interesting and has endless opportunities . However , Every field and profession has its advantages and disadvantages , Most of the time people only talk about the advantages and ignore the disadvantages , And to be honest , Sometimes the disadvantages outweigh the advantages . Besides, , Honey of a , Second arsenic .
Whatever your situation , I hope to provide some different perspectives for those who are considering joining or are entering the software field . This is not to scare anyone , Just want to let people see some dark side that is not often concerned . After all , It would be much better for you to be aware of these problems than not knowing them at all .
边栏推荐
- Jump table instance
- 公司要上监控,Zabbix 和 Prometheus 怎么选?这么选准没错!
- Go micro tutorial - Chapter 2 go micro V3 using gin and etcd
- egg. JS learning notes
- Solution of dealer collaboration system in building materials industry: empowering enterprises to build core competitiveness
- Start by counting
- 散列表
- Learn more about the basic situation of 2022pmp examination
- 《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(2)-初识Fiddler让你理性认识一下
- La 18e Conférence internationale de l'IET sur le transport d'électricité en courant alternatif et en courant continu (acdc2022) s'est tenue avec succès en ligne.
猜你喜欢
Visual studio 2019 (localdb) mssqllocaldb SQL Server 2014 database version is 852 and cannot be opened. This server supports 782
一文掌握数仓中auto analyze的使用
整理混乱的头文件,我用include what you use
新的职业已经出现,怎么能够停滞不前 ,人社部公布建筑新职业
周大福践行「百周年承诺」,真诚服务推动绿色环保
【测试开发】软件测试——基础篇
NFT liquidity market security issues occur frequently - Analysis of the black incident of NFT trading platform quixotic
利用win10计划任务程序定时自动运行jar包
超大规模数仓集群在大型商业银行的落地实践
C# 服务器日志模块
随机推荐
tx.origin安全问题总结
How to implement a delay queue?
Is it safe for Great Wall Securities to open an account? How to open a securities account
Start by counting
Chow Tai Fook fulfills the "centenary commitment" and sincerely serves to promote green environmental protection
Overflow: the combination of auto and Felx
Solution of commercial supply chain coordination system in the mineral industry: build a digital intelligent supply chain platform to ensure the safe supply of mineral resources
The test experience "tortured" by the PMP test is worth your review
[template] [Luogu p4630] duathlon Triathlon (round square tree)
【云原生】服务网格是什么“格”?
整理混乱的头文件,我用include what you use
Smart Logistics Park supply chain management system solution: digital intelligent supply chain enables a new supply chain model for the logistics transportation industry
码农版隐秘的角落:作为开发者最讨厌的5件
长城证券安全不 证券开户
leetcode刷题目录总结
新的职业已经出现,怎么能够停滞不前 ,人社部公布建筑新职业
雨量预警广播自动化数据平台BWII 型广播预警监测仪
Array filter fliter in JS
[acwing] 58 weeks 4490 dyeing
Can you really use MySQL explain?