Hello everyone, I am fish skin, today to share a small development experience.
Many students who have not actually worked may think that the job of a programmer is only to write code + and product manager “pull”, and they will habitually evaluate the work intensity and grade of a programmer by the amount of code, thinking that the code word is like flying, a programmer who can write tens of thousands of lines of code every month is a big man.
I used to think so, until I formally entered the enterprise work, it is not really such a thing! The high end students always solve problems with the shortest and most elegant code. Many of the most senior executives I know (referred to as “architects”) write very little code on average, or even no code at all.
What do they do for a living?
One of the most common work is design, design here is not to draw a picture design draft, but according to the real business needs to design the overall architecture of the system, or design requirements of the solution, design the division of the whole system, resource coordination and scheduling.
Through this, also reflects the importance of design, code is just a medium (or tool) to express our thoughts, our design.
Maybe our work is not as high as that of an architect, but when we are doing the process of requirements, we must design: first figure out the business logic, figure out how to write the code, and then write the code implementation according to the design (similar to the process of translation).
When I first entered Tencent as an intern, my tutor assigned me a big job — reconstructing the old system into a new framework. I thought it was simple, just replace frame A with frame B. The business logic basically doesn’t need to be touched. It can be done in minutes. So I promised my tutor that I would finish it in 3 days.
My tutor just smiled: Young people should not be too confident! Take your time.
And guess what? I worked on that requirement for over a month… It is because there is no good design of how to do it, and there is no research on the differences between framework A and framework B. Instead, we directly change frameworks and write codes, which leads to errors everywhere and even affects business logic.
Other times, I thought the requirement was simple and wrote code without thinking about it, only to find a big problem along the way, like a dead end in a maze. If you design first, have a clear path and plan, and then write code, you are much less likely to have delays and rework.
So it goes without saying how important design is.
So how do you design? Design is divided into many kinds, such as system design, architecture design, detailed design and so on. Each expansion to say can pull tens of thousands of words, here I pick detailed design small talk.
The so-called detailed design, as the name implies, is a very detailed design.
For example, what exactly is the business process and what are the steps? How to implement an algorithm?
Just last week in the planet live broadcast with us to do the project, the demand is to develop a user registration function of the background. Let me take the detailed design of this registration function as an example, as shown below:
If you look at it from top to bottom, you’ll see that there are so many things to consider in a small registration feature, and all kinds of checksums. If you write code instead of designing it, are you going to miss some key checks, get some key steps wrong, and cause the whole system to fail? After the discovery of problems to change the code, but more trouble (to repeatedly online).
So when developing requirements, especially those involving complex business logic, don’t take it for granted and just write code. Instead, it’s easy to design, figure out how to code, and then write the code
Students often ask me how to improve my business thinking and why I can quickly come up with implementation plans for many systems. In fact, when I do any requirements, I always think and design in my heart. I highly recommend that you do the same. Use your brain better.
Therefore, I will also lead you to analyze problems, think and design schemes, rather than write code itself, in the process of planet Live. I believe this will bring more help to you.
That’s all for this episode. Finally, you are welcome to join the Fishskin programming learning Circle (dogyupi.com), where you can communicate and learn with thousands of friends