6 Surprising Soft Skills Every Programmer Should Master

If you want to start a career as a web developer, you need to involve more than just knowing how to code.
  There are some general soft skills that can be used in almost every field - including the technology industry.
  Becoming a software developer involves more than just writing code. I've learned this very quickly since I started my first job as a software developer. If you want to thrive in this field, then you need to learn "specific skill sets".
  You see, every company has a big picture. Besides coding, you need to use other skills to make yourself more influential and thus earn more money.
  During my tenure as a developer, I learned skills that I needed to master in addition to programming. Below I will share 6 surprising skills that you must not miss as an aspiring developer.



1. Skill #1: Written
  Communication You may need to respond to emails before starting your day-to-day work. Email has quickly become a productivity death trap. At the same time, email is also a gateway to showing how much you are worth to others. Written skills remain the leader in factual business communication.
  Since written communication skills are so important, I spent a lot of time mastering the technique of sending emails and getting quick responses.
  All my emails are designed to be friendly and get to the point as quickly as possible. Here are my 4 steps for requesting technical requirements in an email:
1. Thank the person for sending the email. This applies to every email. For example: Thank you for contacting me.
2. Emphasize their main points and state that you understand them. For example, "If I understand correctly, you mean...".
3. Ask questions to make sure you understand what they want.
4. After they answer your question, reply as in step 2 to confirm what you understand.
  These steps will save you a lot of time ahead of time and allow you to stand out from those who don't get it right. Written communication is one of the most underrated skills in a developer's arsenal. Of course, it takes years of practice to express your thoughts correctly, but using this weapon well often has the miraculous effect of "killing people invisibly".

2. Skill #2: Teaching and Learning
  If you are a beginner, then you probably think you have nothing to teach. But the reality is, you might be able to.
  When I started my first web development job, I thought I needed to spend more time learning from others. But this is not the case in all cases. In fact, I did a combination of learning and teaching. Our company has decided to move from SVN to Git. And I got the job because my main selling point is the massive Github repository.
  When I joined, I found that this was a thriving team and it was stressful for us to move to Git because it's a better collaboration tool.
  It was a surreal experience because, for the first time in my life, I had to arm myself with markers and draw on a whiteboard. Just some simple diagrams to demonstrate how git works and how it interacts with Github. There is also an explanation of how to make the best use of branches.



  Remember: this is only after a month at the company. Since then, I've been part of brainstorming sessions explaining how everything works in Rails, from sessions to nested forms.
  In your first development job, by teaching, you may end up giving the impression that you are more knowledgeable than them. Even if you don't consider yourself an "expert" or "senior developer".
  In every company, there is always a shared pool of knowledge. When I teach people, I contribute to it while taking away the experiences and insights of others.
  Basically, everyone contributes their own experiences and perspectives to this knowledge pool. And that's what large-scale teaching grows.

3. Skill #3: Focus
  In any profession, whether it is a painter or a writer, it is possible to build up greatness by focusing on small details. If you want to produce stunning work, then you have to pay careful attention and adjust your approach.
  If your attention to detail is not yet in place, the key is to have the ability to handle focus.
  The ability to fully focus on a task is diminishing in our current world. Twitter, Facebook and Reddit are constantly tempting our attention. In his book "Deep Work," Cal Newport argues that in order to have an impactful employment, one must give up shallow jobs and embrace deep jobs.



  Shallow jobs are defined as jobs with only short-term benefits. For example, you can spend a day composing and replying to emails, but miss out on the deep work. Deep work is work that requires undivided attention and ultimately leads to practical results.
  As a developer, this skill cannot be underestimated. Our job is to build useful things. And creating something of value takes a lot of time. Less consumer mentality and more producer mentality.
  One technique that may be useful is the Pomodoro Technique. Here's how it works:
Set a timer for 25 minutes
Focus on a task for 25 minutes
After 25 minutes, take a 5-minute break
Any ideas that come up that are not related to the task, you can write them down first so you can focus on them later .
You repeat the loop four times (or more)
  This technique is great because it allows you to focus on one thing at a time. It helps you produce more meaningful work instead of checking Twitter or Facebook every few minutes.

4. Skill #4: Understand the Big Picture
  Developers whose main product revolves around code needs to perform a careful and balanced behavior. On the one hand, from launch to product to help businesses grow. On the other hand, you want to make sure you don't leave unmaintainable code to your future colleagues. And, of course, users have to enjoy the software too.
  But first, all you can do at the moment is write code. When you start improving yourself as a developer, you will -- go back and refactor the original code. Make your software more accessible to the developers who will work on it in the future.
  A great concept is the DRY (don'trepeat yourself) principle. The basic idea is to write a piece of code that only needs to be changed once, if you decide to change it in the future. This approach is both a boon for programmers and a boon for businesses.
  However, the so-called big picture doesn't just involve code. Most large companies follow Peter Drucker's principles. If you have studied an MBA, then you must have heard of Peter and his principles of management. If not, then it is recommended to read the book he wrote.



  Peter has had a profound impact on Western companies. One of the most important concepts he came up with was cost center and profit center. People who work in sales and marketing are considered profit centers of a business. They increase their income. Business costs must be contained to maximize revenue. As a developer, you can be either a profit center or a cost center.
  The best way to manage your career is to know where you fit within your business. This will add value to you and take your career farther.

5. Skill #5: Social Skills
  Many believe that companies like Google have created a top-down culture. However, you and your peers are also building culture. And the best way to nurture this team-wide culture is through your own social skills.
  Think back to your real life, not your work life. Is there such a person in your circle of friends that everyone looks forward to seeing? Their presence can lead to laughter and insightful discussions. They don't spread gossip and rumours. They reach out when someone needs help. All in all, they are described as a fun dude or cool guy.
  Such people also exist in the workplace. And your goal should be to try to be that person.
  Be the person everyone looks forward to seeing. Build the courage to speak out with a constructive mindset. It has nothing to do with whether you consider yourself an introvert or an extrovert.



  Slowly, your career, your technical skills will be the same as everyone else in the field. But if you want to be successful in the workplace, you need to be a team player. You must be able to communicate with others, inspire others, and be trustworthy. Because at the end of the day, if you can't connect with others, you'll never be able to get people to accept your ideas, no matter how big or small. In the end you can only accept other people's ideas instead of giving yours.

6. Skill #6: Identify and deal with problems The role of the
  programmer is to solve problems. But to solve a problem, you must first find out what the problem is.
  The easiest thing in the world is to remember a bunch of commands or copy and paste code on Stackoverflow. The real power is knowing the big picture of what's going on. If you're solving a big problem at work, it's best to break it down into tiny editable pieces.
  Look at the question itself first. Think about the problem the code is trying to solve.
1. Does it make it easier for people to buy?
2. Does it report?
3. What is the purpose of creating this software?
  Then, take a look at the current solution (if it exists). Finally, consider how current solutions address this problem. (if it can fix it).



  Once you have a high-level overview of the app, then you can move on to the functional section of the app. Use problem, solution, and detail techniques to further decompose the problem. These framework steps helped me understand different open source projects such as Disourse.

7. Conclusion
  Certain job skills are universal, whether you are in a high-tech occupation or not. For example, communication and teamwork. I really wish I had realized the importance of these soft skills before taking my first web development job.
  For soft skills that programmers need to learn, you can also check out this article: 24 Soft Skills That Are Very Important for Programmers

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326560570&siteId=291194637