📜 ⬆️ ⬇️

What personal qualities does a developer need?

The novice programmer Ewa Mitulska-Wójcik described in a recent publication on Medium her thoughts about the personal qualities that developers need. We publish the translation of this note and a small comment at the very end.


Many of us find it easier to learn a new programming language, instead of working on a worldview and character. Let's see why some developers are moving far in companies, and some remain lost in office booths.



Sociability


Effective communication can greatly distinguish the average developer from the highly productive "rock star." Programming is communication not only with servers, clients and coffee machines connected to the network. Being on good terms with teammates is important.


Here are some everyday communication tasks you will have to face as a developer.


  1. Sharing problems with other guys in the team.
  2. Report on the details of the progress in the project management system, like Jira.
  3. Express as capaciously and specifically as possible when the situation requires it.
  4. Be able to listen and respond quickly
  5. Clearly explain all the needs, doubts, risks and progress of the project in a form understandable to the rest of the team, manager or client.
  6. Explain technical issues so that you are understood by customers and team members who are not related to the technical part.
  7. Full professional English proficiency. Knowing more than one foreign language is always a plus. I'm for spanish;)
  8. Speak openly about problems, search for solutions before conflicts appear.
  9. Give well-founded arguments in favor of the technical solutions you propose.
  10. Meticulously refer to the code, documentation, reports and tickets.
  11. Be ready to communicate with other programmers on forums, blogs and conferences. Share your knowledge and not be afraid to speak with a microphone in front of a large audience.

These are just a few situations where communication skills are crucial.



Curiosity


"You will know a lot - you will soon grow old" - this is not about developers. The desire to know everything is the most jet fuel for new inventions and self-development. Experimenting helps to see the whole picture and find new solutions.


You can gain valuable experience by testing your hypotheses. Ask questions, create something new, applying already acquired knowledge, continue today to develop what you started yesterday. Do not be afraid to try. Even if it doesn't work out, you won't lose anything. Why? Because you are gaining experience.


Do not hide your lab code . No need to lick projects for demonstration. What is more important is whether they have a chance to become the code of the finished application, and what you will learn during their implementation.


Share your ways of thinking and observations on the forums, write posts about them and share what you learned.


Users bring success to your application. If they don't like it, you lose. Ask them what they need, solve their problems and elicit why previous solutions did not work. Knowing who your users are and understanding when and in what ways they are trying to solve various problems is important.


Look for weaknesses in your code. Test it, try to break and find as many vulnerabilities as possible before it becomes public. Watch how users react to any changes. Continue to monitor what happens after the application is launched and after you have been paid for the work.


Find the courage to seek help at any time when it is impossible to find a solution. You are part of a very open community, in which a clear, detailed question will usually help you find the right answer.



Strategy development


Without a plan, even the smallest project can turn into an unmanaged monster. Before you go into development in zombie mode, you need to think about potential costs, planning sprints, architecture issues and designing elements such as moving a user through interface elements.


To be a good strategist means to notice the pitfalls until the moment of collision with them.


Consistent improvement is better than perfection. A good strategist can quickly respond and make quick patches, and at the same time understand that they are temporary. They are effective only at a particular moment, and then you need to get rid of them.


Continuous learning


Development is a bad career for intellectual idlers. If you dream of a stable, well-paid job without much effort, do not even try! Specialization in one area will bring a good income only if you remain open to the new and are ready to learn.


Constantly there are new frameworks, trends and methodologies. You do not need to learn absolutely everything, but you have to constantly be on a level to support a career. Not every client will agree to use some technology just because you spent a lot of time studying it.


Over time, some frameworks and languages ​​become more popular, and you can increase earnings, knowing which languages, frameworks and libraries are more in demand.


Being open to new ideas also means being tolerant and showing respect and initiative. Do not be React's hater just because you do not know him and have worked on Angular over the past few years. Break away sometimes from the monitor and go to conferences, meetings. Communicate with other developers in reality and offline. Stay hungry! Stay reckless!



Entrepreneurial thinking


It's easy to lose the purpose for which an application is being developed, when you stare at code pieces all day. Take a step back and think about the objectives underlying the business. You can go far if you do not limit yourself to deadlines and you will think not only about the code, but also offer your solutions.


You can be great performers for clients if you are more active and give more than they expect.


You should also know when to say no to a project or job offer to avoid badly designed user stories and programs with a confusing structure. Be careful, because popularity spreads quickly, but scandalous fame is faster.


Take care of your brand. Create a portfolio that you can boast of, collect recommendations, show your experience, give only those tips that you apply. This will help you to stand out from the crowd of developers applying for a particular job or project.


Yes, and do not underestimate the role of a hobby and life experience gained. This may be important for the project that you want to take yourself. If you are a beginner, then in terms of professional growth you should look for projects in which your previous experience will be most useful.




Traveling without a goal is interesting, but it is no better than a walk. I am a novice developer and I know who I want to become.



And what do you want to become? What type of developer do you identify with? How confident are you that you are moving in the right direction as a newcomer? If you work as a programmer for years, what have you achieved?


Successful development, awesome projects and the sea of ​​motivation. Improve every day!


(Translation by Natalia Bass )




Editor's comment: I want to add something from myself. This article as a whole will be useful to many, it raises important questions. Communication, the ability to listen and explain, public speaking and proximity to the business are really cool qualities. Most companies, especially those that are not very large and produce their own products, are looking for just such specialists. But both the translator and I had not quite pleasant feelings from some features and motives.


Very often, such articles can be put in the recommendation "stop being yourself, you are not the way you need, you need to change in order to succeed." And this may be true if you are interested in a specific, common definition of success. But "success" is not defined by society, companies and articles, but by you.


Many programmers have become programmers precisely because they do not want to communicate with many people, do not want to speak in public, do not want to go into business issues. They found a profession for themselves where these qualities and desires are not as critical as in some other professions. And this is a success: a man has found his own business. This is not bad, it is not "introverted losers", it is just their nature and peculiarity. Some do not like these qualities in themselves and want to change: super, in articles like this there are good tips for them. Others do not want to change, and they owe nothing to anyone. This does not make them bad programmers. A good manager can work with everyone and build an environment where everyone can work without suffering. Or openly explain that this is impossible, and it may be worthwhile for a person to find a more suitable job for him. Not because "you do not suit us," but because "we do not fit you."


In general, change yourself if you want to change, if you have goals that are worth the effort. But do not change yourself if it brings suffering, or just because "real programmers can perform and understand marketing."


Real programmers enjoy programming.


')

Source: https://habr.com/ru/post/307496/


All Articles