Development and R & D: Understanding the charm of programming (II)

Source: Internet
Author: User

Lead: Last zhuoqun
Publish development and R & D (I)
AfterTechnical CommunityFollowed. Today, he published the next article in his blog. In his opinion, "for those who are really interested in technology, either they should be a developer with both software design capabilities, that is, a creative hacker.
Or be a self-developed R & D engineer. Although the environment is harsh, nothing can block the real love. In a society in which almost everyone regards money as a standard, you have received the blessing of heaven, not only to make a living based on what you like, but also to earn money ."

After the author's consent, csdn will repost this article for reference by the industry. You are also welcome to express your views.

The author's Blog content is as follows:

R & D

Compared with development, I personally prefer development. One difference between R & D and development is that R & D has more "research" components, that is to say, there will be more "bright" in R & D.

Learning time, which is attractive to engineers who are pursuing technology. Some people work as engineers to create good products, make big money or change the world. Some others work
Cheng is interested in technology and wants to study it well. It is attractive to those who can turn into successful people by virtue of technical fame and fortune, but they do not care about things and study things they like.

If the development product is "output", the learning and thinking is "input". The whole person who does not input the output will be discarded and completely become a screw. In many companies, especially those that often work overtime to catch up with projects

Every day, you are in a very busy state. All you want to do is to quickly launch the specified task. Because of the tight schedule, you only need to solve any problems you encounter during the development process.
It seems that I have been working for five years, then I repeat it for four years.

R & D generally does not directly contribute to productsCodeMore importantly, there are some basic architecture or experimental products, so it has several obvious advantages. First, there are very few meetings. Second, there is no product manager. The

3. Quality is generally put first, and time is not very tight. These three very huge advantages mean that you can learn, think, design, and program with peace of mind most of the time, and the happiness index will soar. For example

If you are working on the basic architecture, the code quality will have a hard requirement. You have to write robust, easy to use, loose coupling, and easy to debug. It takes time and effort to refine the code, personal abilities, habits, and experience

Lab accumulation is very helpful. If you are an experimental product, you will have a lot of opportunities and time to investigate the latest technology, and the best thing is that you can use them in products-this is for online production
Product engineers are unlikely, because immature new technologies have too many unknown risks.

In addition, R & D requires a high level of quality for engineers and requires a good technical foundation, learning ability, and research ability. I regard it as an advantage. From a personal perspective, I would rather have a company
Strict requirements
You have to do your best to go in, because strict recruitment can ensure the quality of all the members of the team, so you don't have to worry about "playing chess with the skey ". Since you choose to do R & D, it basically means that you are

Those who are pursuing technology certainly want to be people like you, not those who are not familiar with basic knowledge. Only such a group of people who are "worthy of each other" can study, learn, think, and learn from each other.
In order to be able to produce more ideas and make fun of things.

Of course, R & D is also poor. Only large companies have R & D departments. These companies are generally listed or there are already many employees, and you are unlikely to have a chance to get rich overnight. After years of R & D

Later, I went to my fellow students one day and found that when I was in college, the data structure was failing. I always asked him to copy his programming assignment. James was dressed in a bid. His company has just been listed, because it went in early, now
He became a millionaire and was promoted to a higher level. As a result, you suddenly began to doubt your original choice, and even the fun of learning and programming became unauthentic. Therefore, if you are eager to establish a career, do not choose research.
Development, or after several years of R & D, it will be out. There are many conditions for success, and programming is only one of your advantages. Only this advantage requires too much luck to get what you want.

However, we can also look at it from another angle. "There is no room for a quiet desk in the chaotic world." It is very impetuous everywhere now. It is very rare to have a place where you can concentrate on something you like.
Few people are desperately earning money to do what they like. Although so many people are clamoring for "selling tea eggs instead of atomic bombs", there are always people who are willing to pursue the highest wealth of mankind-knowledge and artist-like skills.
.

There will be a little less sense of accomplishment in R & D. As a Twitter development engineer, it is certainly very happy to see so many people using Twitter.
Google
The sense of accomplishment of engineers doing basic research may be less intense. However, the domestic environment is amazing. Not only does the development engineers have little sense of accomplishment, but they will be scolded and often feel guilty. I believe they have done email Promotion and
Engineers of advertisement pop-up window have deep experiences. In this way, the hard work of R & D engineers has become an advantage, so that they can stay away from a lot of conscientious things that have to be done.

I believe that many engineers liked technology before they entered the industry. However, after work, they found that they did not look exactly what they imagined. Then they became disappointed and numb and no longer enthusiastic about technology. In fact, you can

The situation continues, but it is only necessary to do research and development, rather than development. Most people who are interested in learning programming rather than making a living are eager to do R & D, but no one tells them the great development and R & D capabilities.
Big difference. Many large companies now have their own R & D departments and some have their own research institutes. If you want to keep working on technology, try again.

How to select

Many people choose computer as their major in college, not because they are interested in computer and programming, but because computers are "Hot majors ", after graduation, I also looked for it.
A job has entered this industry and is doing things that you don't like. Some people cannot find a job after graduation, and then register for programming when they see advertisements from some training institutions, hope that
"Over monthly salary" is not just a dream. As a result, there are more and more "code migrant workers" who are doing dirty and tiring work in various large and small companies, just to "eat mixed meals ".

I don't want to criticize these people. After all, there are too many helplessness in this big environment, which forces us to have no choice. For such people who just want to find a good job, they are cheated in this industry. Recall carefully
The industry news we have seen over the years and the internet company culture we have learned are mostly related to Google and Facebook.
And other foreign companies. The technologies we learn and use at ordinary times are almost invented abroad. This makes us convinced that the Internet is so beautiful that exciting things are at your fingertips, but please turn off your computer and go out for a good look.
Around: This is in China. The Internet has no national borders, but Internet companies do. Google and Facebook
Such companies seem very close to us. We also use their products every day, but Chinese Internet companies may have such temperament and culture several hundred years later. So if you accidentally entered this industry
It is better to plan to change the bank or perform management in advance, so that you do not need to learn the "boring" technology that you do not like.

For those who are "really" interested in technology, either develop a developer with both software design capabilities, that is, a creative hacker.
Or be a self-developed R & D engineer. Although the environment is harsh, nothing can block the real love. In a society in which almost everyone regards money as a standard, you have received the blessing of heaven, not only to make a living based on what you like, but also to earn money.

Hacker
It is suitable for startups because he has all the capabilities to create a product. The movie "Social Network" has created an illusion for many people who write code. Facebook
The legendary experience of the founder seems to be announcing to the world that the world isProgramPersonnel. Many people are excited to see Zuckerberg's technical capabilities, but they ignore his software design capabilities and their emphasis on product details.
Degree, as long as you work in programming, you can make
Facebook. Apart from excellent technical skills, Zuckerberg's thinking and creativity are equally outstanding, and he can feel the world in his eyes. How many of our engineers are opposite?
What is the unique and profound understanding of things in life? Independent thinking should also be hacker
Required skills.

Many engineers feel that they can program themselves, but they lack a "good idea". Many non-technical personnel feel that they have a "good"
Idea ", but lack programming capabilities. Make a product, good idea
And the ability to achieve it is indispensable. However, we can see that the final success is often the non-technical personnel, because they can clearly see that programming is a learning thing, while engineers are often naive.
I think that good idea relies on a "smart machine" and does not consciously cultivate your observation ability and imagination. A lot of good idea
They all come from the keen observation and thinking of life on weekdays, and then these points are suddenly connected to a line at a certain time, which simply comes down to "genius" as a lazy approach.

"Becoming a hacker" and "R & D" are hard to say which one is more difficult. Hacker
The technology may not be the first-class, but his comprehensive ability to use technology to create products must be the first-class. R & D focuses more on technical accomplishments and understanding, and on depth rather than breadth. If you want to do research and development

Do you need to thoroughly study the basic knowledge, such as the data structure,AlgorithmAnd network protocols, otherwise it is easy to encounter bottlenecks. Every R & D engineer I have ever met is a technical master and has many technical problems.
They have profound insights. They analyze problems in essence, not just the language details.

If you want to change the world through your own works, you can improve your programming skills and do a good job.
Hacker; if you only want to concentrate on the technology, you should choose to do R & D. However, whether you want to create a hacker
As a R & D engineer, it takes years to learn and think continuously. It sounds very hard, but everyone who loves technology should regard learning and thinking as a pleasure, rather than a hard service.
If you cannot enjoy the fun of learning and thinking, do not go on the technology road. You will be very tired and have no happiness at all.

In this country that is full of "code migrant workers" and lacks "technical culture", we just care about how we can live more comfortably and seem to have forgotten the fascinating colors of programming. Joel Spolsky

As I said, the primary reason why many people choose programming is that they prefer to spend their time in a fair and orderly place, where a strict expert is mediocre, one way you can win a role as long as you are right

Where is the argument. In addition, I think selecting programming can also maximize freedom and independence. Because when looking for a job, you only need to rely on your own programming capabilities, so you don't need to talk to others.

You do not need to mix up the circle for the so-called contacts or view the emails from leaders in the email list ". Write code on weekdays. When drinking and eating meat at other times, you can only share your friends with each other.
Friends, the pleasure in martial arts novels is also not satisfactory. This kind of independence and freedom are extremely valuable. How many people cry after being drunk, "Can you give me the power to entertain me "?

Therefore, programming is about fairness, freedom, and beauty. As a programmer, you can create beauty by yourself. Only artists can create beauty. It is hoped that more and more people will truly appreciate the charm of programming and like this art. As Raymond said
Software design and implementation should be a happy art, a high-level game. You need to be careful. You need to go to the game. You need to be willing to explore.

The future of hacking depends on what we create today.

Finally, we recommend someArticleAnd books, most of these articles and books are irrelevant to technical details. They discuss programming-based fascinating cultures and are also suitable for non-technical personnel to read.

1. How to Become a hacker
. I should read this article several times to understand the differences between hacker and cracker.

2. Cathedral and Market
. This is a classic article about Linux. Here we need to declare that I am not biased towards those windows programmers, but I think that as a programmer, if I don't want to visit the profound world of Linux/Unix, too narrow.

3. Unix programming Art
.
Although this book is called "programming art", it does not teach you how to program, but shows the fascinating Unix
Philosophy and culture. After reading it, you will find that the programmers who seem to have no borders and write code to the computer screen all day have such a high pursuit of beauty. "America's position in computer science must
It is more important than being in any other technology, because the software is too complicated. The United States is a weapon to defend against complex threats ." Raymond, author of this book
He is also the author of "How To Be a hacker" and "Cathedral and market.

4. hackers and painters
. This article is Paul Graham.

The similarities between hackers and painters are described in detail. The "hacker" mentioned here is slightly different from the "hacker" mentioned in "How to Be a hacker", but you can see that they have many in common. This article also has
The book hackers and painters was included. The Chinese version of the book, "hacker and painter-Paul Graham Collection" was translated by Ruan Yifeng
It should be available soon, and I am very much looking forward to it.

5. Taste of creators
. The author is also Paul Graham.
The article has a unique viewpoint and profound insights. Each read has a new harvest.

6. Software record: Joel, chief of the programmer's tribe, talking about software
. This book is Joel Spolsky
The essence of the article collection, the author wrote an article is very interesting, good at telling a story, the article I translated a few days ago, the story of programmer Ashton
Is his handwriting. This book is written by Ruan Yifeng
Translation: the translation quality is very high. If you are interested, try several articles first.
.

7. The essence of about face3 Interaction Design
. This book is a classic book in the field of interactive design. One of the authors, Alan Cooper, was also a well-known programmer and known as the "father of Visual Basic". Therefore, this book is very pertinent to the criticism of programmers. In addition, the core idea of "Designing considerate software" in the book is great, and it is worth reading and thinking by programmers.

Original link: development and R & D (II)

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.