当前位置:网站首页>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 .
边栏推荐
- Difference between redis' memory obsolescence strategy and expiration deletion strategy
- 离线、开源版的 Notion—— 笔记软件Anytype 综合评测
- Vb无法访问数据库stocks
- [template] [Luogu p4630] duathlon Triathlon (round square tree)
- "Cannot initialize Photoshop because the temporary storage disk is full" graphic solution
- How to choose one plus 10 pro and iPhone 13?
- 【Unity UGUI】ScrollRect 动态缩放格子大小,自动定位到中间的格子
- 码农版隐秘的角落:作为开发者最讨厌的5件
- 居家打工年入800多万,一共五份全职工作,他还有时间打游戏
- PyTorch深度学习快速入门教程
猜你喜欢
ble HCI 流控机制
Start by counting
Object. Usage of keys()
电子元器件B2B商城系统开发:赋能企业构建进销存标准化流程实例
leetcode:421. The maximum XOR value of two numbers in the array
VSCode修改缩进不成功,一保存就缩进四个空格
Capvision Rongying's prospectus in Hong Kong was "invalid": it was strictly questioned by the CSRC and required supplementary disclosure
居家打工年入800多万,一共五份全职工作,他还有时间打游戏
完美融入 Win11 风格,微软全新 OneDrive 客户端抢先看
Chow Tai Fook fulfills the "centenary commitment" and sincerely serves to promote green environmental protection
随机推荐
斑马识别成狗,AI犯错的原因被斯坦福找到了丨开源
被PMP考试“折磨”出来的考试心得,值得你一览
动态规划股票问题对比
[Acwing] 58周赛 4490. 染色
TP configuring multiple databases
ECCV 2022 released: 1629 papers were selected, and the employment rate was less than 20%
长城证券安全不 证券开户
leetcode:421. The maximum XOR value of two numbers in the array
2022年国内云管平台厂商哪家好?为什么?
Capvision Rongying's prospectus in Hong Kong was "invalid": it was strictly questioned by the CSRC and required supplementary disclosure
[glide] cache implementation - memory and disk cache
手里10万元存款买什么理财产品收益最高?
NoSQL之readis配置与优化(终章)
金额计算用 BigDecimal 就万无一失了?看看这五个坑吧~~
第十八届IET交直流输电国际会议(ACDC2022)于线上成功举办
完美融入 Win11 风格,微软全新 OneDrive 客户端抢先看
雨量预警广播自动化数据平台BWII 型广播预警监测仪
PingCode 性能测试之负载测试实践
Understand ThreadLocal in one picture
Redis 的内存淘汰策略和过期删除策略的区别