In a recent post, we discussed the professional attitude at the workplace. It is definitely one of the essential aspects on the journey of becoming a professional programmer. Today, we will continue with the topic of the business perspective, which is relevant for many programmers. We will focus on technology negotiations.
In most companies, there comes a time when the programmers need to think about and decide which technological path to take. It may be a small choice concerning a single dependency or a large one touching on the definition of a complete style guide or the overall architecture.
It is true that every situation is different and requires specific knowledge to begin with but, right now, we will point out two common discussions that usually correspond with decisions like these. The first type of negotiation happens between coworkers, usually people in the same programming team, who work together and depend on one another. The second kind of negotiation is the talk with the business decision-maker, who is the person representing the employer. Let’s look at the differences.
The technical discussion
How to negotiate the usage of a specific technological solution with your team? Well, you may say that it mainly depends on the subject of the discussion and the technologies involved, and you are right. However, even though we won’t present a silver bullet for simplifying all technical analyses, some behaviors make them more manageable. You may design your work environment to be appreciative of new ideas and use a simple involvement technique to the benefit of everyone.
The first thing is a proper environment to have technical conversations. One of the best ideas is to add a technology meeting to your weekly schedule. In one place, it may be limited or shorter; in others, more frequent or longer will be better. Usually, meetings like these involve a restricted number of people so that you can keep track of everything. The important thing is to make the meetings mandatory and regular, so that everyone interested can be sure that there will be a time and place to discuss new ideas and solutions.
It is tough to introduce broad changes when you lack a forum like that. Technology reforms take time and need incremental changes to be appropriately advanced. Without a consistent effort and involvement of all interested parties, there is little chance for satisfying results.
The next thing is the idea of mutual involvement. It may be very tempting to complete something essential and take credit for yourself, but it is less likely that others will follow. When you need to begin work and create some proof of concept, that’s totally fine. Still, it is an excellent plan to invite others in as soon as possible. Ask them for advice, give them some responsibilities, so that the final result feels more like a mutual accomplishment.
There is a lovely folk story named “Stone Soup”, which teaches the advantages of mutual involvement, and the final result is satisfying and appreciated by everyone. I hope you find it inspiring. The little deception part is a pretty accurate allegory of technology negotiation, where you need to be bold and inclusive at the same time to put your ideas forward.
The business discussion
Now, let’s consider for a while negotiating the technology choices with the business end of the company you work for. This is where real professionalism arises.
From the programmer’s perspective, it is great to work with new technology, updated dependencies, regularly refactored codebase with automated tests, and a stable development environment. However, all those things require time during which you won’t implement new features, and that is something to have in mind.
Negotiating technology is strongly related to the expertise you impersonate. You should be able to exhibit competence and responsibility to win the heart and mind of your employer. As an expert, you can have and use the employer’s confidence that you understand and care about their needs to your advantage.
Being professional in this matter means that you find many pros and cons of the technology at hand and figure out the best application for the company. Thus, having all the vital knowledge, including the potential cost, is highly appreciated. In addition, presenting a possible schedule may also help.
Using the mentioned attitude and valid information is the best strategy to advertise the technology you like.
When it comes to preparing an actual argument, it is crucial to remember not to talk about what you want but instead translate that into corresponding benefits for the employer. Many technical advantages that the programmers appreciate indeed have their counterparts on the business side of the equation. Let’s consider a couple of them.
The research and development of new technology introduce unique possibilities for both, tech and business. Sometimes, those kinds of incentives naturally arise from the tech side as it is more open to new ideas. Later, the business side, learning what is possible, comes up with new, groundbreaking ideas.
High-level abstractions lower the implementation cost, increase bug resistance and scalability of applications. This decision seems like a no-brainer if you consider a continually evolving project and its quality.
Finally, adaptation of new technology may be a purely business decision when it comes to hiring abilities. When technology becomes popular and widespread, it tends to create a vibrant and balanced market of available programmers. On the other side, old technologies lack new people on the market and are more challenging to maintain because of that.
Conclusion
Discussing technology with your coworkers and business people is very important. It becomes even more significant when you approach it from the expert position.
Creating a proper environment for routine technology discussions is the key to introducing and applying widespread decisions. In addition, opening up the potential solution to other programmers brings valuable feedback and increases acceptance across the team.
Approaching the business decision-maker, you should introduce the broad picture with advantages and disadvantages alongside your suggestions. Displaying the understanding and care for the employer’s goals builds up your image as a professional, reliable person. When preparing arguments, remember to focus on the company’s point of view.
I hope your negotiations go well. Cheers!