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

Featured | How do major brands write Father’s Day copy?

Father's Day, as the name suggests, is a holi...

Does crackling in your joints mean arthritis? The answer may not be what you think

gossip “Crackling joints are arthritis!” In daily...

Take stock of the brand marketing methods!

"Brand Brainwashing" mentioned many pop...

IEA: Global Electric Vehicle Report 2022

The IEA released the "Global Electric Vehicl...

108 Internet Marketing Tools/Websites

Ever since the Wei Zexi incident broke out last y...

Christmas marketing strategy for booming sales!

This year's shopping season seems to be "...

Avoid detours: advice for Java programmers with 1 to 5 years of experience

Today, I am going to share some practical informa...

Tik Tok promotion skills: 3 steps and 7 key points!

I don’t know since when, the paper advertisements...

How to promote APP on campus by doing activities

1. There are three common activities: booth activ...

How come the cute little "rabbit" turned into a noodle spirit when he grew up? !

In recent years, succulents have quickly become p...

Silver brings Apple's Swift to the .NET and Java worlds

Silver is a free implementation of Apple's Sw...