Everyone tells you that to become a professional and successful developer you have to learn this and that programming language, you have to learn database techniques and master the Front End, Back End and Full Stack paths, and when you don’t know how to make pizza and maintain a car engine, but nobody He tells you that you should learn Soft Skills techniques, and this may be the first article that invites you to learn Soft Skills techniques under the pretext that you become a good and better developer. Some of these calls are really useful and will benefit you as a developer in enhancing your software capabilities. The problem here remains a priority problem, so which of these techniques should you learn first? And secondly? We can add learning Soft Skills techniques in second place for the developer, as he does not always necessarily need it, but it will strengthen his return in programming and development if he is good at it, so can we dive deeper into this matter?
What are Soft Skills:
Soft skills, or soft skills, which are skills that do not represent technical skills in any way, so you – as a developer and we will remain the case throughout this article – you have a set of technical skills such as dealing with databases, for example, or fluent in using HTML / CSS professionally and you are considered Practical skills are useful to you in your field of work, while Soft Skills are psychological skills (Moral skills) that enhance yourself in a specific area. In this article, we will provide you with a set of these important capabilities that any developer should acquire over time.
Let me tell you that this skill must be included as soon as possible, as you as a developer do not work on a project on your own (I am certain that if you did, you probably did not complete it), but the inclusion of a group of individuals in your team does not necessarily mean that your team is successful and will achieve the impossible, but sometimes It sabotages the entire project because some of your team or your entire team do not have the teamwork skill.The skill of teamwork is not random, you cannot work within a team and call yourself the person who can work within a team efficiently, the first things first you must have the ability to achieve the goals in the required time, to include the skill to achieve that goal with a full explanation of how to achieve it for the person The other who will integrate the project at the end, and that you bear the responsibility within the team in general and the responsibility for your task in particular, that you avoid excuses and reasons and claim that other people in the team are better than you will do the work for you, or that you think you are better From everyone and you will work alone among the team. The Github / Bitbucket platform, for example, is largely dedicated to those people who are good at dealing with the team, and a software project will only be completed by adding the code and tasks that were presented to each individual in one project to go out into the world.
The developer in particular hates communicating or interacting with anyone else, especially if he spends most of his time in front of the computer contemplating codes that have no beginning and no end, and many find comfort in this matter, especially since he will ignore many conversations about a person telling how the ketchup stain arrived To his clothes, which may take long minutes of focus and trivial listening to a story, which will not benefit you, neither now nor in the future. Despite the comfort of this idea, communication is mandatory for the developer, and only how will you understand the customer’s requirements ?! How will you be able to understand what the customer wants in his software if you do not engage in conversation with him about this and that, and how will you try to convince the customer that the possibility of adding something in the project may lead to ruin from your point of view, and how will you convince the customer from its basis that you are you Right for work? Communication is the solution, although it is difficult, toxic, haunting, trivial, and uncomfortable with it, but it is necessary.
The worst thing ever for a developer is that the deadline of the project arrives while you are still in its infancy !, This affects your credibility as a developer and of course affects your productivity, and the error has nothing to do with your abilities and skills as a developer, but rather has your relationship with your poor experience. In time management. Time management depends on two main points. If you are able to master them, I guarantee you – personally – that you will become a professional in this skill:The first point is to determine the exact time required. If I tell you that I want you to create a webpage, you will tell me: Yes, I can do it in two days, and yes, you may be able to do it in two days. If we assume that everything will pass in peace, will everything pass in peace? No, so you have to set the time very precisely, first you do not work the whole day, but you will only work 6 hours a day, for example on that page, and what you really need is 48 hours (two days as I said earlier) in order to finish it, assuming that it is in The previous 6 hours will take a break of up to 60 minutes separated between all the six hours, meaning that your daily work period is only 5 hours, and if we divide 48 hours into 5 hours a day, we will get 10 days to finish work, adding a day (in anticipation of anything The time required to create a webpage is not two days, but rather 10 days, thus giving yourself a good time to finish it and telling the client the ideal time to deliver the project. The second point is to define your rest times well. Continuous work may exhaust you and lead to delaying work little by little every time you sit in front of the computer, so try to divide your free time + rest time + work time on the entire project.
It may not really be considered a Soft Skill technically, but it is definitely a necessary tool for every developer and programmer. It is true that the developer deals largely with logic and correct code and trying to achieve an effective and fast result of the code, but this is not without creativity at all, especially when it is The developer is interested in the interface (UI / UX) more, as he must comply with the latest innovations in the field and provide something new to the customer who is also striving to distinguish from the rest of its competitors. Creativity is a subject that should be almost in all fields, not only development and programming, so the designer needs creativity, the hacker needs creativity, and businessmen need creativity, so how do you ignore this technology? The problem of creativity remains in that it is an instinct rather than a material that can be acquired. It is difficult for anyone who does not have the instinct of creativity to come up with something new or think of professional forms and good formats, but it can be acquired with some intense practice and seeing the work of others and browsing sites And creative forums.
Accept your criticism and try to improve it.
You will be exposed to a lot of attacks about your software, the Testers will show a lot of flaws in it, these do not work, and this affects this, and this is an additional that has no goal, and you will get a list of all these problems and criticisms in your software that you made from scratch And which you think that there is no parallel at all and there is no developer who can manufacture it efficiently, all this may make you crazy, and you may look for that Tester who criticized your software and try to stalk him to hit him severely as well!Fortunately, you have the soft skill of accepting and improving criticism, right? Because if you do not, any project you develop will never reach the end, and all of your projects will be sound from your point of view, and a heap of mistakes from the point of view of others.
Of course, I don’t need to tell you that you will spend days staring at a code that you wrote yourself for a specific purpose and showing another purpose altogether, this matter will tear you apart if you lack patience, perseverance, and completion of the code, so even the current developers who lack patience and perseverance can only work a little On a new software project or new idea until they give it up entirely for no reason. Patience is acquired by mental balance, you have to have your rituals during development, a cup of coffee, for example, calm music, a dark and dark atmosphere, all of this helps you relax in order to focus more on your work and with that patience for a long time on any problem that falls into it, there is nothing It will cloud your mood or make you lose patience now that you have the right atmosphere for work.