In the modern world, the concept of “professionalism” is embedded more than 20 years ago. If you want to build a successful career in IT, in addition to hard skills (mathematics, programming, knowledge of current frameworks and technologies), you also need to develop another set of skills – soft. We will talk about how to pump soft skills and correctly combine “hard” and “soft”.
Let’s go back a little …
The stereotypical portrait of a programmer once looked like this: a silent sociophobe, wearing glasses with thick glass, a T-shirt or stretched sweater and pants stretched to the navel. Today we understand that this image is far from reality.
The world of IT has changed, and approaches to project management have changed. In traditional approaches, a clear line can be drawn between the people who manage the project, interacts with the business, and the developers, engineers who simply perform the task.
This model is sometimes used now, but it is not always successful and not always applicable. Reason: very often, the final result differs from what the client or users actually needed, or the project is not being executed on time, or more money is being spent on it than expected. In search of solutions to these problems, the IT world has come to Agile (flexible) approaches to software development. In this paradigm, the boundaries between roles have become more blurred, and communication and interaction with business and within the project team has become greater.
Agile IT Specialist
The Agile approach has its own manifesto (sounds cool, doesn’t it?), It identifies 4 values and 12 principles that teams should follow in order to be truly flexible. Let’s see how many of them relate to hard, and how many to soft skills.
I think you would have managed without prompts. As you can see, more than half of the principles of Agile in one way or another require advanced soft skills. At EPAM, we have a competency matrix that contains a set of necessary requirements for specialists of each level, each specialty. This matrix also has two sections already familiar to you: hard and soft skills. I took the liberty of choosing the 10 most important soft skills that are valued in our company and in my practice often helped colleagues achieve cool results. I am sure that they, perhaps, in a different wording or in a different sequence, will be in demand in any other company on the IT market.
I suggest going in order and sorting out where each skill can come in handy in real project work and how you can pump it, even if you are not working on a combat IT project yet.
Understanding customer value
Why is it necessary
First, you can increase the level of trust between the developer and the customer. If the developer really understands why he is doing what he is doing, he will be able to choose the right approach and solution, prompt in time that the task can be done differently (or not done at all).
Secondly, redoing can be avoided. If the developed product does not ultimately solve the customer’s problem or is not interesting to users, you will have to redo it (the customer will spend more money and doubt our expertise).
In the modern world, IT developers need to understand the customer’s business. If we are developing a solution for a company that produces fertilizers, the entire team will have to at least at a minimum level “plunge” (I apologize for the pun) in the process of inventing, producing or selling these same fertilizers. This is the only way to make a really good product.
How to upgrade
Always think about the problem, and then about the task. Often, a developer begins to perform a task without thinking about which problem he is solving. Perhaps the problem does not solve any problem or solves the wrong one. The Five Why method will help you deal with this: before you begin the task, you need to ask five questions “why.”
Let’s take an example
Objective: “Add a large green button on the main page of the site.”
Try it yourself or with your colleagues to answer the question – why?
– Because the client asked.
But why did the client ask us to do this?
– Because without this button, the page seems to him empty.
But why does the page seem blank?
– Because there are few other elements on it for user interaction.
Why are there few other elements on it?
– Because in the development we used a standard template.
Why did we use a standard template?
– Because we were in a hurry to launch the site as soon as possible, but now we have time, and perhaps it is worth discussing a new page template with the client and designers.
As you probably understood, by the fifth “why” you can get to the bottom of the problem and, perhaps, the solution found will greatly surprise you and the customer.
To better understand the value for the client, you need to be able to look at things through his eyes. I recommend reading the book Toyota Production System (Tahiti Ono) to understand how it works. The book tells about how the Japanese turned the world view of car manufacturing, raising their automotive industry to the highest level after the Second World War.
Communication skills
Why is it necessary
Teamwork makes coping easier. If you don’t communicate with other people, sooner or later you will be left alone with difficult, or even impossible, tasks. Believe me, no matter how professional you feel, there will always be a problem that you cannot solve alone.
Communication skills are needed to exchange experience and knowledge. If other team members will own what you know, it will be cool. This works in the opposite direction – if your team has a person who has some unique skills, he can share this with you. This is an endless cycle in which everyone wins: the team, the project, and, of course, you.
How to upgrade
Be open and go towards communication, go out to people. Help others and do not be afraid to ask for help – this helps communication.
Well, banal advice – talk! This is the only way to pump this skill, no courses and books will help here.
Emotional intelligence
Why is it necessary
The first side of emotional intelligence is understanding other people’s feelings and emotions. There are a lot of people around us, they are all different: calm, aggressive, gloomy, funny, quiet. It will be much easier to communicate if you understand their feelings and motivation, know how to interact with them. You need to understand what they are, what they want and are afraid of.
The second side of emotional intelligence is the ability to control your emotions. Often we commit spontaneous actions under the influence of emotions, for example from anger or impatience. If we understand our emotions and control them, we can often make informed and informed decisions.
How to upgrade
First, to understand other people, you need to learn the skill of active listening. So we are arranged – we love to talk more than to listen to others. Indeed, sometimes it is very difficult to listen to what they say to us, to ask questions, to be involved in the dialogue. The skill of active listening will help in communication with both the team and the customer.
Secondly, you need to learn to analyze your and other people’s behavior objectively. Here the main word is “objectively”. Try to focus and observe how people behave, their facial expressions, intonation. Pay attention to words and language. Think about why they say that. Analyze your behavior as well – if you got excited or kept silent somewhere, when you shouldn’t be silent, think about why you did it. Perhaps simply by digesting this information, the next time you will act differently or find an approach to a colleague with a complex character.
Don’t be toxic – don’t allow yourself toxic behavior. Do not criticize or complain, especially publicly, because such actions are destructive – they do not benefit you and others, do not create value, but only worsen the mood and microclimate in the team. I would recommend reading a book from Harvard Business Review, Emotional Intelligence.
Teamwork
Why is it necessary
No matter how good you are, there are tasks and projects that you cannot cope alone without spending a lot of time on it. There are projects in which from 100 to 1000 people and even more are involved. And it’s not at all because it is necessary to create many jobs, but because the project is really large-scale, and with fewer participants it cannot be implemented. Each person has a unique set of skills, and only by bringing together such people can you get a cool result.
How to upgrade
Solve together with anyone, whatever tasks – whether it be a student project, homework or something related to a hobby – the main thing is not to do it alone. For example, if you like to ride a bike – organize a bike ride with friends or classmates.
One way to feel teamwork, support, mutual assistance is to engage in a team sport, even virtual one (now it will be a great excuse for parents over nights spent online).
There is such a thing as Scrum, which came to IT from rugby, under Scrum’s just means team interaction on the project. I recommend reading the book by the founding father of Scrum project management method – Jeff Sutherland, which is called “Scrum. The revolutionary project management method. ” The book talks about how Scrum works in IT, how it was invented, why and how companies moved from traditional management methods to flexible ones.
Time management
Why is it necessary
Unfortunately, contrary to a common misconception, we cannot control time. We have it exactly 24 hours every day. Time management is not about time, but about tasks and priorities. About how to manage business in order to maintain productivity during periods of high workload and maintain a balance between work and life.
How to upgrade
There are many courses, books and articles on this subject, but not all of them are equally useful and not everyone will use the same method. I will talk about those task management methods that have proven effective for me.
- Keep all tasks in one place. Today we receive information from everywhere – mail, instant messenger, calls, something verbally, something is written in a notebook or on stickers. This makes it difficult to work, so it is important to keep everything in one place – whether it be a notepad or a mobile application. I personally use the Nirvana service – it is simple, it has everything I need and nothing more.
- Break large tasks into small ones, including “go,” “write,” “call.” The human brain is afraid of big tasks, because it does not understand where to start, and we begin to procrastinate (if you are not familiar with this word, be sure to watch this video). We put off the task again and again until the deadline arrives.
- Plan what to do, when you break a large task into small ones.
- Well, the last – do it!
There are several books that I have found useful. The title of the first book in the original sounds like “Getting Things Done, GTD” by David Allen, it is often translated incorrectly into Russian – “How to put things in order”. In fact, GTD has a different meaning – how to bring things to completion. The second book that I can recommend to you is “Jedi Techniques” by Maxim Dorofeev, it contains a lot of humor and useful techniques.
Negotiation skills
Why is it necessary
Firstly, it is necessary to “sell” your ideas and skills. You can invent or create something very cool, but if you don’t present this idea correctly, you may simply not pay attention to it, choose something much worse or take the idea of another person who was convincing or just loudly shouted at work .
Secondly, it is important to be able to convince interlocutors. Negotiation skills are needed even during an interview. Each interview is a negotiation: you have your own position and conditions, the employer has their own, each side protects its needs and tries to find a compromise.
How to upgrade
First, get ready for negotiations. They will work well if they are not a surprise to you. Find information about the interlocutor, think about what you want to achieve – set a goal.
Practice negotiation in everyday life. For example, you were charged money from a card, but you didn’t. You communicate with the bank, the bank clerk operates with some standard answers, procedures, and does not really want to take on the job of figuring out what happened to your honestly earned money. If you are ready for negotiations and set a goal to return the money and / or receive compensation, you can solve the issue in your favor.
From the literature I can advise Dmitry Kotkin’s book “Tough Negotiations”, he also has a school of negotiators of Shipbuilding Policy in St. Petersburg.
Flexibility and creativity
Why is it necessary
Any developer needs to be prepared for change and be able to make decisions in an unstable situation. It is the flexibility of the mind and creativity, innovative thinking – these are the main principles of the Agile approach.
The release of an iPod or iPhone was possible, first of all, thanks to a creative approach, because from a technological point of view it was not a breakthrough innovation.
How to upgrade
Catch your thoughts when you start to think standardly, by pattern, guided by stereotypes, try to avoid this. Often we come across the phrase “it is so established here.” Stop and think about why it is so established here and what will happen if you do otherwise, maybe something new and interesting will turn out.
Take on boldly new tasks – we all do well what we do all the time, and are reluctant to take on something unfamiliar that we have never done before. There is one reason – we are afraid of failure. But failure is part of learning and development. Fail fast, fail often!
Get creative – playing musical instruments or drawing develops flexibility in thinking.
I recommend paying attention to the book “Product Management in Scrum. Agile methods for your business ”by Roman Pichler. It is not about creativity, but it touches on many aspects of the “flexibility” of the mind when working on an IT product.
Proactivity
Why is it necessary
Proactivity is a useful skill for managing your life and career, so as not to go with the flow, but to independently set the desired path and trajectory. If you want to stand out from the masses, to be the best, you need to be proactive – that means to do more than is expected of you.
How to upgrade
First, forget the phrase “this is not my job.” There are things that are not directly related to your duties, but sometimes there are situations when your help is needed – in Agile people help each other, take on related functions. This approach helps the team complete tasks faster and more efficiently, and you grow. You can wait until they give you a task, or you can set the rhythm yourself, strive for autonomy, initiate tasks and thus do what you are interested in.
When I was just starting my career, they gave me very good advice: before you go to older comrades with a question – google. The team really appreciates the approach when a person comes up not with a “bare” question, but already owns some information, solution options and asks not “how to do it”, but “how to do it right”.
There is a very famous best-selling book “7 Skills of Highly Effective People” by Stephen Covey, it has many useful techniques that will help develop a proactive personality.
Presentation Skills
Why is it necessary
Everything is simple – to demonstrate the results of your work and share experience with colleagues, as well as train others.
How to upgrade
See how others do it. Browse good public speaking, memorize what you thought was cool and hooked. If you have the opportunity to speak in public somewhere, even just say a toast on a holiday – do it, do not be shy. Pull your hand at lectures and conferences, go to the board, in a circle, out of a row. Do not hide behind other people!
Instead of literature, I would advise you to watch the TED channel, which contains the best public speeches of the most powerful speakers.
Mentoring
Why is it necessary
Mentoring is needed to share knowledge with colleagues and help beginners adapt. In addition, teaching others reinforces their own knowledge. EPAM has a highly developed mentoring program; it allows you to grow unique specialists within the company and increase your overall technical expertise.
How to upgrade
If you know something that others don’t know: draw, play the piano, solve math problems, try yourself as a tutor. It trains patience and other necessary skills. Another option is to conduct a master class, even on folding paper cranes from A4.
Output
In the process of reading the article, a dangerous thought could have crept in you: perhaps, for career success, we need only soft skills? Answer: of course not. First of all, any IT company, including ours, is looking for talented professionals, checking and evaluating your specialist skills (hard skills). But only when soft and hard skills are harmoniously combined in one person, he grows up as an outstanding professional.