Wait – the 256th day of this strange year has come. So it’s time for all the programmers in the world to put aside the keyboard, pour something like that and spend this Saturday the way they want, and not working work after work at work. But the rest of the users should look under the cut and learn a little more about the programmers and how little is needed for the happiness of teamwork. But seriously, this post is dedicated to programmers, their colleagues, managers, customers and even friends. In our modern life, practically nothing happens without program code – isn’t this a good reason to understand the creators of our intellectual evolution a little better?
Disclaimer: The article was written by an employee, at night, not approved, etc. In short, what is stated may or may not be the company’s position.
Don’t ask the impossible
You can come up with anything: an ideal CRM system, a beautiful site with interactive, an exciting game, a virtual office project. Then, of course, it is worth describing your fantasies in a free form, indicating the color of the skin of the virtual assistant unicorn and bringing them to the programmer, saying that “let’s finish by the new year so as not to drag debts into the next.” If a programmer asks for prototypes, diagrams, approximate design layouts, an exact technical assignment, write off these whims on his pathological laziness. At the end of the process, one should be surprised and offended to leave, along the way telling colleagues that the proger is infinitely lazy and does not want to make the world a better place.
Doesn’t this paragraph sound very strange? Are you not that (that)? And there are many of them. Alas, often the programmer will receive tasks that cannot be done alone or without the involvement of additional technical resources. Alas, users are often unaware that there are IDEs, libraries, programming language limitations and technologies, after all. If you come up with another brilliant idea, do not demand rigid execution from your fellow developer, but conduct a minimal research of client needs and discuss issues at the concept level. A programmer is always interested in creating a new, cool product with his own name in the authors, and his level of experience and adequacy can save even the most crazy idea.
Don’t rush the programmer
For terms “yesterday” you can safely punish and de-bonuses – if you want it even yesterday, why do you bring your TK to the programmer today? Why didn’t you bring it the day before yesterday or a month ago? Why did you stretch out the time, and the programmer, together with the task, should receive a deadline “yesterday” or the shortest deadline?
The work of a programmer usually looks like this: design – analysis – prototyping – writing code – testing – debugging – building a project – refactoring. Moreover, these stages can be combined, mixed, supplemented, etc., and outwardly everything looks like a beat on the keys. And besides the speed of typing, the work of a programmer is a work of thought, it is a research work. If you are a colleague and rush a fellow programmer, then you run the risk of running into resentment and misunderstanding; if you are a manager and put pressure on a programmer, he will be forced to fulfill your requirement by eliminating one or several stages. And a program without testing and without refactoring is a disaster in production.
Therefore, before starting a project, discuss the time frame of his work with the programmer, ask him to describe and justify the time spent on specific tasks. Based on this, plan the work of managers and your promises to customers. It’s not the programmer’s fault if you don’t know how to plan.
Don’t invent the laws of design
When you come to a car service, do you describe how to replace a wheel or fix the electrics in the car? And tell the doctor how to treat or prosthetic teeth? Exactly. And a programmer, unlike a dentist, cannot force you to open your mouth and not move. Therefore, he is forced to listen to development advice from colleagues. I even have the top recommendations I heard:
and you switch to Linux, he can do everything (in business!);
why did you write from a new line here? (I get paid for lines of code, didn’t I know);
can, through SQL do? (or maybe through one place – especially for you);
write the code in a notebook, the notebook is true, I read (well, read your notebook further);
you have it written in capital letters here, wring out Caps Lock (
DELETE FROM MY_SPACE).
It is a little fun and uplifting, but ultimately very annoying. The developer has studied, he has his own methods, his own preferences for the development stack, skills in working with certain components. And even if you google that a specific problem is easier to solve in Go and not in Python, your developer won’t rush to learn a new programming language. The programmer is ready to be responsible for the work performed by means comfortable for him. Do not impose a stack, ideas, rules on him, especially if you don’t understand, but simply purposefully look for the answer to your question on the Internet.
Don’t think of developers as an app
A developer is not equal to a computer, a programmer is not equal to a program. Accordingly, he can think about the task, ask for more time, make mistakes and even refuse the task if he understands that he will not cope with it and is ready to give reasons for his refusal. Just like he wants to eat, drink, sleep and live a life different from work. Therefore, do not load the developer with unpaid overtime work – yes, it is not a fact that he will refuse, but it is quite possible that he will burn out and go to another employer and more adequate colleagues.
The extreme degree of utilitarian attitude towards the developer is the phrase “you are a programmer”. He is an employee just like you, which means that he performs specific tasks within the project, plans his work and personal time, seeks to relax or learn something new. If you need an effective programmer, treat him like a human. Then the working relationship will be fruitful.
Let the programmer into business processes
Take my word for it, if your programmer has mastered the higher mathematics, patterns, object-oriented programming, algorithms, then he will master your most complex business process of wholesale fertilizer sales. If your developer or in-house programmer is inside the business process, it will be several times more useful. The same applies to automation: if he understands exactly how the company works, how communications and basic processes are organized, he will be able to effectively accompany the implementation and refine your CRM, ERP, PM, etc. using available means. software. Thus, automation will be competent and working, and not a gray stone of five pounds.
Don’t forget to congratulate your programmers
Wish them cool tasks, reliable builds, interesting technologies, useful libraries, dynamic projects, new and interesting development methodologies. Promise to be understanding and calm colleagues. Take a look at our reality – more and more of it is created by their hands.
PS: Well, I, taking this opportunity, congratulate our development team RegionSoft CRM (and our rest of products) Happy Programmer’s Day, I wish you frequent and cool releases, new interesting requirements and endless development of an already convenient and cool program. I realized these rules while working with you.