Home headlines Programmers test whether they have overcome these obstacles

Programmers test whether they have overcome these obstacles

Mar 06, 2018 pm 02:02 PM
Detection programmer

Programmers test whether they have overcome these obstacles

The most difficult task of a programmer has little to do with writing code. Coding is the practice of logical thinking, which is relatively simple compared to other tasks in a programmer's daily work. If you think you are still an average programmer, please make sure you have overcome the following obstacles to advancement before you can truly enter the ranks of experts.

1. Explain what you are doing

Explaining the software development process is a difficult thing. People who are not programmers may know a lot about programming, but they obviously don't know how to program. To them, our lives consist of sitting in front of a keyboard in a dark room, consuming coffee.

Programmers test whether they have overcome these obstacles

You will meet people among your friends, family and colleagues who will think that coding is not the right career.

2. Visualize the software solution

Based on some brief requirements - usually with little knowledge, you need to design data structures, software architecture, code algorithms, communication protocols, and All other components of solutions to business problems. Then you need to express them in terms that a layperson can understand, and you need to submit them to the client within a specified time.

Few programmers can do this well.

3. Evaluate the construction period

This is the source of pain for programmers. Before the development task is completed, it is absolutely impossible for you to determine the time required to complete the task. Maybe the program is very similar to what I wrote before, but the environment has changed, the problems have changed, and the constraints have changed.

Experience will provide a certain degree of judgment, but most programmers are accustomed to underestimating the difficulty of problems. The reason for this is that they only consider the coding aspect and ignore other things on the to-do list.

4. Maintain other people’s code

There may be 10,000 solutions and 10,000 ways of writing a problem. Taking over code written by others means that you have to spend countless hours exploring thousands of lines of code to understand the original author's ideas. And if it's half a project left by a programmer who doesn't believe in comments and documentation, the trouble is even greater.

5. The fuzzy spread of software boundaries and strange functional requirements that make people vomit blood

Although agile development methods provide a certain amount of preparation space for the expansion of software scope, this does not have any effect. role - especially when you encounter some functional requirements that arise from a whim. You know this is bound to fail. Your team knows this is bound to fail. But the customer thinks it's great, and when failure inevitably occurs, it's all your fault for not understanding their true intentions.

6. Find the balance between under-optimization and over-optimization

Complex software will never be perfect; there will always be some better solution. You can keep optimizing endlessly, which is why software projects are never completed ahead of schedule.

On the other hand, the mentality of “That’s enough—I’ll optimize it in the future” is also common. The code works fine today, but you know it might have trouble or not work tomorrow. Of course, you don't need to modify it, it will be left to the next unlucky programmer.

7. Test your code

You have also written unit tests, and the software has been submitted to the test group, but the bugs still exist...

Software is complex and may Contains thousands of lines of code. There may be millions of various interactions and logical paths in the system; you can't possibly test them all.

Similarly, software will interact with different software on different platforms under different conditions. You can't measure them all.

Writing good unit tests is boring and hard work. Ideally, tests should be written before development begins - but how do you explain to the customer why four weeks have passed and there is still no usable software?

Unit tests cannot cover every problem point. In an ideal world, there would be an independent team writing tests and actively identifying problems. Unfortunately, for most projects, this is too costly and time-consuming, so the development team is left to write the tests. The development team subconsciously avoids many extreme edge cases.

Programmers like to handle all problems in a logical way. But users are rarely like this. They'll uncover problems you'd never expect.

8. Write software documentation

Writing documentation for code is a laborious and time-consuming task. Few programmers are good at this, few programmers like this, and few programmers take the time to read them.

9. Dealing with IT issues

You study technology every day. You may be an HTML or PHP programmer, but you are likely to encounter problems such as hard drive corruption, driver conflicts, or software crashes. It is not your primary responsibility to fix these things, but unless you fix them, you will not be able to continue your development work.

Unfortunately for people outside the IT circle, programmers are supposed to be people who are proficient in both software and hardware. When they encounter a problem, they solve it themselves without spending any time and come directly to you. No matter what the problem is: you're a computer person, you know how to import a budget into Sage, how to configure Oracle, or why they can't send an email on their BlackBerry.

Of course, these interruptions cannot be the reason why you can't complete your work, and there is no reward, right?

10. Dealing with people's problems

The above problems They can all be summed up as “people problems”. Few laypeople would advise a pilot on how to fly a plane or an electrical engineer on how to wire a plane. But many people will enthusiastically and bravely suggest how to develop software.

I believe there is no good solution for these people. You need to accept the fact that half of the people in the world have below average intelligence!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1663
14
PHP Tutorial
1263
29
C# Tutorial
1236
24
Solution to i7-7700 unable to upgrade to Windows 11 Solution to i7-7700 unable to upgrade to Windows 11 Dec 26, 2023 pm 06:52 PM

The performance of i77700 is completely sufficient to run win11, but users find that their i77700 cannot be upgraded to win11. This is mainly due to restrictions imposed by Microsoft, so they can install it as long as they skip this restriction. i77700 cannot be upgraded to win11: 1. Because Microsoft limits the CPU version. 2. Only the eighth generation and above versions of Intel can directly upgrade to win11. 3. As the 7th generation, i77700 cannot meet the upgrade needs of win11. 4. However, i77700 is completely capable of using win11 smoothly in terms of performance. 5. So you can use the win11 direct installation system of this site. 6. After the download is complete, right-click the file and "load" it. 7. Double-click to run the "One-click

Fall detection, based on skeletal point human action recognition, part of the code is completed with Chatgpt Fall detection, based on skeletal point human action recognition, part of the code is completed with Chatgpt Apr 12, 2023 am 08:19 AM

Hello everyone. Today I would like to share with you a fall detection project, to be precise, it is human movement recognition based on skeletal points. It is roughly divided into three steps: human body recognition, human skeleton point action classification project source code has been packaged, see the end of the article for how to obtain it. 0. chatgpt First, we need to obtain the monitored video stream. This code is relatively fixed. We can directly let chatgpt complete the code written by chatgpt. There is no problem and can be used directly. But when it comes to business tasks later, such as using mediapipe to identify human skeleton points, the code given by chatgpt is incorrect. I think chatgpt​ can be used as a toolbox that is independent of business logic. You can try to hand it over to c

Which AI programmer is the best? Explore the potential of Devin, Tongyi Lingma and SWE-agent Which AI programmer is the best? Explore the potential of Devin, Tongyi Lingma and SWE-agent Apr 07, 2024 am 09:10 AM

On March 3, 2022, less than a month after the birth of the world's first AI programmer Devin, the NLP team of Princeton University developed an open source AI programmer SWE-agent. It leverages the GPT-4 model to automatically resolve issues in GitHub repositories. SWE-agent's performance on the SWE-bench test set is similar to Devin, taking an average of 93 seconds and solving 12.29% of the problems. By interacting with a dedicated terminal, SWE-agent can open and search file contents, use automatic syntax checking, edit specific lines, and write and execute tests. (Note: The above content is a slight adjustment of the original content, but the key information in the original text is retained and does not exceed the specified word limit.) SWE-A

MIT's latest masterpiece: using GPT-3.5 to solve the problem of time series anomaly detection MIT's latest masterpiece: using GPT-3.5 to solve the problem of time series anomaly detection Jun 08, 2024 pm 06:09 PM

Today I would like to introduce to you an article published by MIT last week, using GPT-3.5-turbo to solve the problem of time series anomaly detection, and initially verifying the effectiveness of LLM in time series anomaly detection. There is no finetune in the whole process, and GPT-3.5-turbo is used directly for anomaly detection. The core of this article is how to convert time series into input that can be recognized by GPT-3.5-turbo, and how to design prompts or pipelines to let LLM solve the anomaly detection task. Let me introduce this work to you in detail. Image paper title: Largelanguagemodelscanbezero-shotanomalydete

Improved detection algorithm: for target detection in high-resolution optical remote sensing images Improved detection algorithm: for target detection in high-resolution optical remote sensing images Jun 06, 2024 pm 12:33 PM

01 Outlook Summary Currently, it is difficult to achieve an appropriate balance between detection efficiency and detection results. We have developed an enhanced YOLOv5 algorithm for target detection in high-resolution optical remote sensing images, using multi-layer feature pyramids, multi-detection head strategies and hybrid attention modules to improve the effect of the target detection network in optical remote sensing images. According to the SIMD data set, the mAP of the new algorithm is 2.2% better than YOLOv5 and 8.48% better than YOLOX, achieving a better balance between detection results and speed. 02 Background & Motivation With the rapid development of remote sensing technology, high-resolution optical remote sensing images have been used to describe many objects on the earth’s surface, including aircraft, cars, buildings, etc. Object detection in the interpretation of remote sensing images

Revealing the appeal of C language: Uncovering the potential of programmers Revealing the appeal of C language: Uncovering the potential of programmers Feb 24, 2024 pm 11:21 PM

The Charm of Learning C Language: Unlocking the Potential of Programmers With the continuous development of technology, computer programming has become a field that has attracted much attention. Among many programming languages, C language has always been loved by programmers. Its simplicity, efficiency and wide application make learning C language the first step for many people to enter the field of programming. This article will discuss the charm of learning C language and how to unlock the potential of programmers by learning C language. First of all, the charm of learning C language lies in its simplicity. Compared with other programming languages, C language

520 programmers' exclusive way to express romantic feelings! Can't refuse! 520 programmers' exclusive way to express romantic feelings! Can't refuse! May 19, 2022 pm 03:07 PM

520 is approaching, and he is here again for the annual show of tormenting dogs! Want to see how the most rational code and the most romantic confession can collide? Let’s take you through the most complete and complete advertising code one by one to see if the romance of programmers can capture the hearts of your goddesses?

Make money by taking on private jobs! A complete list of order-taking platforms for programmers in 2023! Make money by taking on private jobs! A complete list of order-taking platforms for programmers in 2023! Jan 09, 2023 am 09:50 AM

Last week we did a public welfare live broadcast about "2023PHP Entrepreneurship". Many students asked about specific order-taking platforms. Below, php Chinese website has compiled 22 relatively reliable platforms for reference!