How to think like a senior developer?

For the majority of developers , the realm of thought determines the fate of life.

Author |  Ann Adaya

Translator |  Crescent Moon , Editor-in-Chief | Guo Rui

Selling | CSDN (ID: CSDNnews)

The following is the translation:

There are thousands of technologies in the world, and you can't get all the technologies together.

Therefore, you need to find the ideal technology stack, find the technology that suits you, and then go all out. For example, for modern web development, a good combination is the MERN stack: MongoDB, Express, React and Node.js. If you like JavaScript, then this is the perfect choice.

There is also a technology stack called MEAN. Developers of the MEAN technology stack prefer to use Angular instead of React. Of course, you can also choose to use PHP, MySQL, and the front end can also use basic HTML and CSS. In addition, Ruby and Ruby on Rails are also good technologies for the back end.

No matter which technology stack you choose, you must insist on mastering these technologies in depth. For developers, broad rather than refined is a taboo. In the end, you will only spin around in place and get lost.

Even without a degree, you can still be a developer

I am a self-taught developer, and I have achieved success in this field through my own hard work, patience, perseverance and high concentration.

Not going to college does not mean that the threshold of this industry is very low. The task of software development is very difficult, but the rewards are very generous, and the small failures you encounter are not worth mentioning. The desire of the heart, the desire of desire, and the smoothness of everything.

Nothing will happen if you give up. Shushan has a path and a path. Only by working hard every time of the day can success be achieved. Even if you feel that you are in the deepest valley, you should continue to persevere, because the dawn of victory is at hand. With a little more perseverance, all difficulties will turn into opportunities.

"When a person faces failure, the easiest and most logical way is to give up. And this is also the choice of most men."

—— Napoleon Hill

Master the art of search

When learning to program, it is unrealistic to deliberately master everything. Even if you do n’t know the answers to all the questions, it does n’t matter, especially when you first start learning programming. The important thing is that you know how to find the answer.

Programming is to solve problems. If you don't know how to solve it, then you need to find a way. Searching through the Internet or finding someone who knows how to solve the problem and then learning from it is the best way to learn.

Advice: All the programming problems you encountered today may have been experienced by previous developers. Don't reinvent the wheel, you must learn to use the wheel.

We can never keep to the deadline

No matter how perfect the plan is, estimating hours is not an easy task. For project management, each company has its own coup or strategy. In my opinion, the most popular is Agile.

No matter how detailed the development process is, you will always encounter difficulties halfway. No matter how good the team members are, from business analysts to testers, the deadline is always on time and will always be delayed. The deadline is always just an estimate. In most cases, in large companies, building applications is usually a few months behind the deadline, which is normal.

However, for small projects, small business owners are very strict. If you plan to carry out an amateur project, one of the common questions or requirements is: "When is the expected delivery date?" Some business people do not care about the process, what is important for them is the deadline for delivering the final result.

Therefore, be very careful when promising them deadlines. Usually they will regard it as a known premise, so you better leave a certain margin, so that you have more space and enough time for some troubleshooting and debugging. Rather than disappoint them, give them a surprise. Be sure to set standards, because they will also set standards for you.

60% debugging, 40% programming

I think this suggestion is very accurate.

Most of my programming time is spent on debugging. In the previous project, we built an Android mobile application for healthcare. We used React Native. I am a front-end developer.

Assuming the project took a month, then it took me about 10 days to build the front end. For the rest of the time, I was debugging errors caused by various dependencies, version control, and other packages that did not match the current version.

This is my first Android project. It took me weeks to debug the properties to make sure they fit the correct version, including other third-party programs I use.

The building part is very interesting, but debugging is very stressful. This is part of the job, but it takes time.

One suggestion that senior developers give me is that whenever you work continuously on the same problem or error for an hour, then you should try to take a break. Do something else and relax, because sometimes the problem lies with us.

Don't understand

I've done this kind of thing, and sometimes I still don't understand it. Sometimes, when my colleagues discuss new technologies they have used or are interested in, I will always nod and pretend that I understand. It doesn't matter, you are not the only one who does not understand.

There are so many technologies in the world that no one can master everything.

Do n’t memorize, you need to master the principles behind the technology

I have always emphasized the importance of learning and mastering the basics of development and programming.

First, you will start by copying and pasting code from a tutorial or other code base. This is not bad, as long as you understand the copied code, otherwise you will not learn anything.

After a few months, you should be able to understand some of them. You should be familiar with some syntax and understand some programming principles. Slowly, you should try to solve the problem yourself. When trying to solve the problem, do not copy and paste the code, but build your own code block. Solve problems through your own methods, styles and ideas.

Do n’t spend too much time in the copy-paste code phase. Don't be afraid to solve problems or write your own solutions. You need to master more techniques through trial and error, so please keep trying until you start to understand all the difficult codes. This is the best way to learn technology. Learning takes time, but learning programming requires trial and error.

Document is the savior

In the future you will thank yourself.

At the beginning, you will gradually participate in several projects. Next, on the long road, you are participating in more and more projects, until you can't remember how many projects you participated in.

Then, one day when you do the 11th project, your boss suddenly asks you questions about the 2nd project. He hopes that you will continue to work on the second project, and this is a top priority. Project 2 was established a year ago, but it was gradually forgotten.

However, you did not expect this to happen today, so you never thought of creating a document for the second project. When you open the code base, a lot of content is no longer remembered. You have forgotten the software packages, versions, requirements, reasons for choosing reasons, etc. you have used. Even worse, your boss hopes you can complete it within two weeks.

Please take it as a warning. Next time, remember to take a moment to create documentation for each project you build. Documents can save your life.

There are still many techniques to learn

This point is very important.

You cannot be complacent because you already know several languages ​​or the technology stack you are using. Don't forget to continue studying. There are many techniques that we need to learn. Technology is changing with each passing day, and do n’t be mistaken for the knowledge you have today that will still help after ten years.

We need to constantly learn and improve ourselves, because Web development is constantly evolving. I think this is the most fascinating part of web development. We will never miss the opportunity to learn new technologies.

Opportunities are often fleeting. You have to be ready at all times. Keep as many tools as possible, and when the opportunity knocks on your door, you are well prepared.

Original: https://medium.com/better-programming/how-to-think-like-a-senior-developer-8ccdf11953c

This article is a CSDN translation article, please indicate the source.

【END】

More exciting recommendations

Go nozen

Luhan has AI powder, why is the effect of AI face-changing drama still so scum?

☞Circular intelligence Yang Zhilin: "Human-machine coupling" will be a new trend in the application of dialogue semantics!

☞The 360 tycoon who was blocked by Zhou Hongyi from the entire net: grassroots work to 36-year-old counterattack!

details Kubernetes calculated in the edge area of development

☞After the outbreak, the global encryption community has done so many things to fight the coronavirus!

☞One article to understand the application development of "emotional computing" in retail

Every "watching" you order, I take it seriously

Published 1951 original articles · 40,000+ praises · 18.16 million views

Guess you like

Origin blog.csdn.net/csdnnews/article/details/105501896