当前位置:网站首页>The hidden corner of codefarming: five things that developers hate most
The hidden corner of codefarming: five things that developers hate most
2022-06-24 13:36:00 【Software test network】
author | Patrick Zawadzki
translator | Li Tenghui
Reviser | Noe
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 ).
1. 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 .
2. 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 .
3. 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 .
4. 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 .
5. 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 .
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 .
Translator introduction
Li Tenghui ,51CTO Community editor , At present, he is a senior in a Southeast Asian Internet Finance unicorn Java The engineer , Responsible for the architecture design and core construction of the financial lending platform , On the Internet financial architecture 、 The microservice system has been deeply studied , We expect to continue to deepen our efforts in the field of mutual funds .
Original title :5 things I hate about being a developer
link :https://thenextweb.com/news/5-things-i-hate-about-being-a-developer
边栏推荐
- Go deep into high-performance JSON parsing libraries in go
- 手机开户后多久才能通过?在线开户安全么?
- How can the new webmaster avoid the ups and downs caused by SEO optimization?
- Talk about GC of JVM
- One hour is worth seven days! Ingenuity in the work of programmers
- How stupid of me to hire a bunch of programmers who can only "Google"!
- 华为 PC 逆势增长,产品力决定一切
- kotlin 匿名函数 与 Lambda
- Why is open source technology so popular in the development of audio and video streaming media platform?
- Opengauss kernel: simple query execution
猜你喜欢

Understanding openstack network

Main steps of system test

One article explains R & D efficiency! Your concerns are

AGCO AI frontier promotion (6.24)

Yolov6: the fast and accurate target detection framework is open source

Creation and use of unified links in Huawei applinking

openGauss内核:简单查询的执行

物联网?快来看 Arduino 上云啦

Brief introduction to cluster analysis

Opengauss kernel: simple query execution
随机推荐
8 lines of code to teach you how to build an intelligent robot platform
【sdx62】WCN685X IPA不生效问题分析及解决方案
Huawei PC grows against the trend, and product power determines everything
首席信息安全官仍然会犯的漏洞管理错误
Parti,谷歌的自回归文生图模型
Brief introduction to cluster analysis
kotlin 语言特性
kotlin 协程 lanch 详解
Kotlin initialization block
Evolution of the message module of the play live series (3)
kotlin 匿名函数 与 Lambda
Sinomeni vine was selected as the "typical solution for digital technology integration and innovative application in 2021" of the network security center of the Ministry of industry and information te
kotlin 数组、集合和 Map 的使用
Kotlin inheritance, class, overload
C语言中常量的定义和使用
Yyds dry goods counting solution sword finger offer: adjust the array order so that odd numbers precede even numbers (2)
这几个默认路由、静态路由的配置部署都不会,还算什么网工!
Appium installation
Without home assistant, zhiting can also open source access homekit and green rice devices?
Sphere, openai and ai21 jointly publish the best practice guidelines for deployment models