So what is the working environment of programmers, a bit special?
Programmers are also called code farmers, and some people jokingly call them "Cheng". Programmers often need a big desk in their working environment. They not only use one computer to work, sometimes they need several computers to operate at the same time, and they need to cooperate with their colleagues when they encounter some bugs or bottlenecks. Of course, in terms of hardware, in addition to a big desk, they also need to configure a relatively high computer. After all, this is the most basic working tool for programmers. Imagine, if the inspiration gets stuck or crashes when it first comes to the computer, it is possible that the inspiration will disappear immediately, so most of their working environments have large enough desks and high-profile computers.
As mentioned earlier, programmers are a special type of work, because they often work late and often stay up late, which is different from our normal working hours. They often sleep during the day and work at night. Sometimes they refresh themselves in different ways, such as smoking, drinking coffee and listening to music. Can you imagine what kind of working environment this is? But programmers need a quiet environment in most cases when they work. After all, silence can make people think better.
Everyone has different requirements for the working environment. Comfortable environment is one of the reasons why they want to stay in the company, and so do programmers.
The working environment of programmers in big companies is basically the computer version of Hengshui. They have meetings every day to write codes, change codes and check codes, and the meetings continue to go back and forth, just like in middle school, studying hard to brush questions, reading books, eating and going to the toilet.
No need to consider the hardware configuration, it must be enough for you. Hardware is a piece of junk compared with the cost of people.
Programmers in big companies have a relatively stable job, and everyone has a clear division of labor and a clear career path. The higher the position, the higher the IQ, which is really different from the job based on emotional intelligence. It's basically useless to kiss up to relationships in the programmer team. The code you wrote doesn't need to be checked by users. As soon as it runs, you will know that it won't work. This is also the fundamental reason why IT companies usually have a relaxed and simple interpersonal relationship and atmosphere, which is especially suitable for those students who don't like relationships to roll up their sleeves and work hard.
If you want to develop in this industry for a long time, you must have enough IQ, really. Without a backward foundation, math is better. Some industries study subjects such as mathematics or physics that rely on IQ to eat.
Programmers in small companies, especially those in non-IT companies, are under greater pressure. In the face of sales and bosses who don't understand the procedures, and customers who are extremely greedy and unwilling to pay more, the demand changes every three days. The interface is for individuals to make suggestions and modifications, and the time is always "tomorrow". They think programmers have more ways than Wukong and can have anything. Programmers who can make achievements in small companies are really admirable.
Programmers in small companies know the most about the company's core secrets, much more than bosses, so the treatment is usually passable. In addition, they have known the company's business for a long time and have done a lot of work themselves. Of course, whether they can do it is another matter.
In fact, the programmer's working environment really has no requirements, as long as there is no interference. Learning tyrants will find a familiar feeling here, so there are many "classmates" among programmers.
I graduated from 20 15, but I started to work on 20 14, and started my internship from the work of programmer+operation (in fact, I will go in which direction according to which is more suitable).
For the internship stage, because I stayed in a small company at that time, everyone's configuration was very general. Several major programmers practice with me, all using windows notebooks and Lenovo. Except for my own solid-state drive, many of them run on mechanical hard drives. There is no specific code base specification, no knowledge system, and communication depends on running. Some back-end and front-end work together, and the front-end works with customer service, so I work part-time ... If I am not busy at ordinary times, it's nothing, and everyone will talk nonsense. But if you are busy, you may suddenly work late-of course, this is rare.
Working in a medium-sized company is not the same order of magnitude as the previous small company. At this time, the main work is back-end development. The computer configured is Lenovo's ThinkPad, but it is not the highest match. Still no SSD, it's so slow. Programmers in the first echelon are equipped with dual monitors, mechanical keyboards and Macs. My words are equipped with an external monitor, and the seat is very general. I am tired after sitting for a long time. The company has a clear division of labor, the office spans two buildings, and each team has its own office. Have their own wiki, regular meetings, strict code specifications and security specifications. Generally speaking, it is mainly to solve various bugs or develop new systems. Occasionally, during the rush hour, I will work overtime until one or two. Usually, I am not particularly busy, and my work is more orderly.
In fact, I want to recruit girls to join the team, because the only test engineer in our team is really ordinary and has a poor personality ... A good-looking operation girl can really mobilize the atmosphere of the whole team.
So any mechanical keyboard, MAC, how many external monitors, how big the solid-state hard disk, and how good the ergonomic chair are all fake. It is really a "good development environment" to have beautiful women in the development team.
Can I wear slippers? You can listen to songs with headphones on. Equipped with two monitors? Always handing fruit beside this MM tea? Or none of the above, but poetry and distance?
Programmers, a well-paid but seriously sub-healthy group. They have a geek spirit, and they can forget all about eating and sleeping when coding crazily, but they also pursue spiritual freedom and like freedom. For such a group, a good and just right working environment is particularly important.
1. Flexible working system
To tell the truth, the nine-to-five working system of conventional enterprises is not suitable for programmers, because this system stifles the differences of this group that needs differences most to some extent, and equates the coding inspiration of programmers with the mechanical arm on the factory assembly line. Press the button and the inspiration will begin. Press the button again and the inspiration will end. This is wishful thinking.
Therefore, for high-level programmers, please don't strictly limit their schedule, because they are not assemblers, have unique individual differences and different thinking G points, and they need different schedules to adjust their best state, thus generating passion and inspiration.
2. A relaxed working atmosphere
Programmers hate management, and any so-called top-down management is easy to cause psychological resistance of programmers, especially the rigid and mandatory management mode, which makes programmers sick.
What programmers want to do is from the heart, so that they will be energetic, not from the coldness in the manager's plan document, even if they think the same as the manager's plan. Therefore, the management of programmers needs skills. Management should be invisible, so that they can't feel the traces of management and feel that they are doing these things out of their own will.
To sum up, let them be their own managers, and what team managers should do is to cultivate their self-management ability.
Moderate pressure can generate motivation to do things, but long-term continuous pressure is the chief culprit to stifle passion and creativity. Pressure will make programmers anxious, and it will also lead to poor design and code implementation, because the pressure of delivery will make programmers compromise to hastily designed solutions instead of constantly optimizing to find the best solution. And a series of seemingly inconspicuous defective designs come together, which will form an unexpected and uncontrollable chaos.
Therefore, "fast" is not necessarily a good thing, and "slow" is not necessarily a bad thing.
3. Encourage participation in open source projects
The prosperity of the open source project community is a wonderful flower in full bloom, which cannot be overemphasized.
Some famous open source projects, such as Linux, Apahce, openssl, etc., have brought us many surprises and many commercial companies.
Participating in open source projects is one of the most effective ways for a programmer to move from elementary to advanced and perfect technology. Some famous open source projects are excellent in architecture design and coding skills, and they have benefited a lot from immersion.
In fact, the above three points are not only applicable to programmers, but also to people of any profession. Let's take a look at the ideal working environment for programmers in Zhihu.
@ Xiao: I have an obsession when I am studying. I must find a company that can wear slippers, vests and shorts to work (of course, I don't wear shorts). If I can't find such a company, it means that I don't study well, so my goal all along seems to be just to enter a company that can wear slippers? Ha ha ha ha. . .
@ Zhihu User: I only want two monitors.
@ Zhihu user: 1. Quiet, no one calls you casually, and no one speaks in your ear; 2. Absolute freedom. Programmers have some quirks. For example, I like listening to rock music and writing code. These must be allowed. 3. A comfortable environment with temperature and smell.
4. There is a very attractive MM colleague, something like this.
Hey, that buddy in the direction of the arrow is the real programmer, right?
5. Independent 10M optical brazing wire
@ Indian Luo, software engineer: 1. There are more women than men, and the average age is less than 27 years old; 2. Being on Baiyun Mountain, separated from Guangdong University of Foreign Studies by a wall; 3. Borderless culture, if you have any questions, you can talk to anyone, including the top management, if you can see it; 4. Healthy culture, overtime with compensatory rest, advocating 8 hours, self-built canteens and farms, and buying mineral water specially supplied by Bama Spring Eye.
@ Shi Lei
Hardware:
1. top MacBook Pro.
2. You don't have to wait in line to go to the toilet.
Related to people:
1. won't let you discuss the function in the middle of development and then overturn everything you have done before.
2. There are no unnecessary meetings, and the necessary meetings are quick.
3. The administration and personnel are refreshing and efficient, so don't waste time on various daily procedures, just write the code.
4. Colleagues are efficient, earnest, good at communication, lively and interesting.
@ Zhang Yingfeng: The ideal working environment should be one that can help the team settle down and develop the best products.
1. High recognition and respect for the work of programmers;
2. Have autonomy and decision-making power over the work done;
3. Create facilities for programmers to concentrate on their work, such as mute and various hardware conditions to improve productivity;
Finally, the company's profit, preferably profiteering, can continue to provide more income.
@ Zhuangsheng: Actually, the most important working environment is a group of reliable colleagues, sincerely. You can specialize in the industry, but you should be responsible for the end, ensure the quality and quantity, and don't bother others.
What about you? What do you want your working environment to be like?
Part One: One project, two computers, three meals, three lunches, only 4,000 salary, and all the internal organs are damaged. It is very hard to get up at seven o'clock and have a meeting at eight o'clock to deal with nine loopholes.
Bottom line: Ten years of coding, nine years of overtime, eight dark and busy faces. In the end, the six parents don't recognize five bodies, and their limbs are still weak. Working overtime at night is only for two stinking money.
Horizontal criticism: forcing programmers.
Programmers muddle along.
As a programmer, I can say responsibly: yes, the working environment is just like asking the main picture, which may be better. Our company is all air-conditioned, without electric fans!
I have been a programmer for several years and have been in several companies. In fact, as far as the working environment is concerned, the working environment of programmers is still good, warm in winter and cool in summer. Similar to the working environment of white-collar workers in people's eyes.
In fact, the working atmosphere is also very good. Programmers in most companies don't have much demand for clothes. They can wear their favorite style (programmers wearing shorts and sandals are coding), and the communication between colleagues is very active, so the frustration of programmers is not the working environment, but the work content and pressure.
Programmer division of labor:
1. A pure software engineer, who only relies on computers to eat. His design includes but is not limited to-web pages, architecture, UI, data, operation and maintenance, systems, etc. , dealing with code all day;
2. Firmware engineer, with a semi-soft and semi-hard job, needs to solder board, build environment and write code to maintain code. The algorithm may not be as good as a pure software engineer, but it is absolutely strong in hands-on ability and may involve a wider range of knowledge.
I'm the latter. Let's look at my desktop:
Every company has a different office environment. Foreign countries pay attention to personal privacy, and many of them are closed rooms for one person. As the picture shows, most parts of the country are semi-isolated. There are also technology companies that encourage people to develop rapidly, communicate more and work in an open way.
Please ignore the answer containing "quiet, beautiful and leisurely office environment"!
The environment in the picture is just a normal working environment of an ordinary company.
Not necessarily a programmer's.
The programmer's working environment needs a lot of screens because of the work content.
And the computer configuration also needs to be very high.
Everyone's working environment will be different due to factors such as the company they face and their own abilities.
So there are good and bad working environments.
If you have ever imagined the interface of the sea,
Debugging code in the yard where cherry blossoms fall,
So do you still think it is an ideal environment to tap the keyboard on the three-screen monitor when drinking coffee in the office?
The working environment still needs to be changed by yourself.
With the constant pursuit of programmers, programming can become an artistic creation process like writing.
Then any moment and environment that can inspire you should be your office environment.
Invite senior code farmers to answer this question. Generally speaking, the programmer's working environment is not much different from that in the picture. But there are still some differences according to the nature of work and industry.
The difference between Party A and Party B
When I just graduated, I joined a software outsourcing company, and almost all the work was done at the location of Party A. ..
Because Party A's employees are stable employees of the company, the work stations should be finer and better equipped. It is usually a compartment with drawers, sockets, file racks, landline, desktop computers and even beds.
As Party B, we are highly mobile and the number of people is not fixed. It is impossible for Party A's company to prepare these exquisite office spaces for us. Usually we just pull several tables together and then connect several wiring boards. Sometimes there are no chairs, so we can only sit on a stool.
The difference between technology-driven and business-driven
Now any Internet company, the technical department is essential. But some companies will be business-driven, while others will be technology-driven.
Business-driven companies will give priority to business development, and then technology will help achieve it. I am now in such a company, and the technical department of such a company will be very small and few people. The programmer position of this company is generally not much different from the style of the whole company, because there are few people, usually only 5-6 people, and technicians like to be quiet, so they usually choose the corner near the office.
Technology-driven companies will rely on their own technical strength, combine with industry development, collide with some competitive business varieties, and cooperate with business departments to realize and promote products. Such a company has at least 50% technicians, and such a company is more likely to plan a separate big office for programmers, isolated from the outside world. On the one hand, it is to provide a quiet and comfortable office environment for technicians, and on the other hand, it is to try to avoid others from entering and leaving the technical core of the company.
Technology-driven companies often have outstanding technical strength, so they will equip their technical teams with facilities such as "cockpit" and small computer room.
As far as the cubicle in question is concerned, no matter what kind of company, as long as the venue is not particularly crowded, it will be designed as a cubicle, which not only protects the privacy of employees, but also makes full use of the office space. This is not unique to programmers.