I heard that programmers all want such a working environment?

I heard that programmers all want such a working environment?

[[134213]]

Last week I received an email from three Halmstad University students about a three-month project they did called What Programmers Want, and how companies can attract talented programmers. Here are a few of my own responses to the question in order of importance. Obviously people have different opinions, so hear which ones you agree or disagree with, or which ones you think fall short, below that will be of interest to you.

This project is an important product of the company

I like the projects I work on to be the main business of the company. Of course, this does not include people working in the field of IT, because their work is only suitable for hosting indirect business (whatever the business is). I also like to work on central parts of the system, the more important the better. If the part I work on stops working, it should immediately become an urgent problem for the company. In short, I don't want to be just a configuration, adapter and glue for other companies - I want to add a lot of functionality myself.

Smart colleagues

Working with smart and enthusiastic colleagues on software development is a particularly stimulating experience, and I’ve noticed time and again that I’ve come up with a better solution to a problem or design than I could with a colleague. Not only does this lead to better solutions, but the process itself is also enjoyable.

How do you know if someone is a good programmer? One obvious sign is if they are constantly learning and improving their skills, such as by reading books and blogs, taking classes, or attending conferences. Although this is not a requirement, I have worked with many very good developers who did not choose to do so. In short, good developers tend to attract other developers for all of the reasons listed above. The fact that a company has many great developers makes it easier to recruit more talent.

Challenging Questions

Programmers love solving problems with code. Some aspects of production should at least have some requirements like requiring clever solutions, requiring reduced latency, or limited hardware resources, etc. Many concurrent requests. However, a lot of production software is regular code without any particularly difficult parts. So you can't expect to work only on the "hard" parts and avoid everything else. In addition, organizing boring code into something that is easy to understand and maintain is a big challenge.

Cool technology. This is mostly about using interesting programming languages ​​(e.g. Clojure, Erlang or Go), but also frameworks and applications (e.g. Hadoop or Cassandra). This is where a company can have problems. If their application is written in a certain language (e.g. C++), it won't change. So if you want to change to use some new language, then you need to change jobs. For example, if you want to use Erlang in Stockholm, you can try Klarna or Campanja.

Users. One of the joys of coding is creating something useful to other people. Creating something that no one uses is boring. Let users (the more the better) use your work and give valuable feedback. The best surprise is to start with it, and then have users do their best.

It’s quickly becoming the overriding priority.

Generous salary

Companies with lots of great developers know the value of great people's labor. The reason is that the difference between great and average programmers is so great that it has economic value that exceeds development value - changes in productivity are far greater than changes in wages. On the other hand, companies that don't pay their programmers are often companies that think programmers are interchangeable "resources". These are things companies want to avoid for other reasons, not just low wages.

Good tools. That pretty much goes without saying. A fast computer and some monitoring equipment - right, who's against that? (Well, a bald boss meddling in things and seeing the costs, not the benefits, would be against that).

40 hours per week

If you are constantly having to work overtime, something is wrong with the organization. Also, long hours do not equate to being productive.

Minimal bureaucracy. For the development process, this is more or less fixed with the Agile development method, which seems to be universally adopted. In my experience, the general administrative overload problem is mainly in larger companies.

Working from home. It’s convenient to be able to work from home sometimes, but it’s not high on my list. I love being in the office and interacting with people. I use video conferencing and remote office work, chat and email, but it’s not as convenient or as productive as being in the office.

Convenient transportation, not long

Obviously it's hard to influence, but it would be nice not to spend hours a day in traffic.

<<:  Oracle announces Java 7 end of life

>>:  Apple cannot be jailbroken, Android must be rooted

Recommend

Adobe's first mobile selfie app demo: the effect is comparable to SLR

Adobe's PhotoShop is a great tool for photo ed...

Wuhan Tea Tasting Recommendation Exchange

Wuhan high-end tea drinking is unique and very un...

How to operate social e-commerce well?

We always say that when the wind blows, even pigs...

Kuaishou Blue V Operation Guide!

In 2021, Xiaohongshu is undergoing major changes,...

After watching ofo’s new ad, I threw away the client’s brief!

Recently, ofo, the shared yellow bike company, re...

1 model + 5 steps to increase e-commerce conversion rate 10 times

First, the conversion rate of goods must be impro...

8 hours to complete keyword optimization of an app

I believe some friends are not particularly famil...

Beware! You may have been "exposed" online!

Have you ever received a call like this? The othe...

Is subsidy really a shortcut to user growth?

This year's Spring Festival, we still enjoy t...