Each programmer should have 6 amazing soft skills to master

Source: Internet
Author: User

The article from the user reprint click to read the original

If you want to start a career as a web developer, you need to involve more than just knowing how to write code.

There are some common soft skills that can be used in almost every field-including the technology industry.

Becoming a software developer involves more than just writing code. Since I started my first job as a software developer, I soon learned that. If you want to thrive in this area, then you need to learn "specific skill sets".

You see, every company has a big picture. In addition to writing code, you need to use other skills to make yourself more influential and earn more money.

During my tenure as a developer, I learned the skills I needed to master in addition to programming. Below I will share 6 amazing skills that you must not miss as an aspiring developer.

Skill #: Written communication

You may need to reply to an email before starting a daily job. E-mail quickly became a death trap for productivity. At the same time, e-mail is the gateway to show how valuable you are to others. Written skills continue to be a leader in factual business communications.

Since written communication skills are so important, I spend a lot of time mastering the technology of sending emails and getting replies quickly.

All my e-mails are not only friendly in design, but also cut into the chase as soon as possible. Here are 4 steps that I asked for technical requirements in the email:

1. Thank each other for sending an email. This applies to every e-mail message. For example: Thank you for contacting me.

2. Highlight their points and explain what you have learned. For example, "if I understand correctly, you want to ...".

3. Ask questions to make sure you understand what they want.

4. After they have answered your question, follow step 2 to confirm what you understand.

These steps will save you a lot of time in advance and make you stand out from those who don't. Written communication is one of the most underrated skills in the developer Arsenal. Of course, it takes years of practice to express your ideas correctly, but the use of this weapon often results in "killing in the Invisible".

Skill #: Educational developments

If you are a beginner, then you probably think you have nothing to teach people. But the reality is, you might be able to.

When I started my first web development work, I thought I needed to spend more time learning from others. But not all of this is the case. In fact, I did the 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 was a lot of GitHub code warehouses.

When I joined, I found it was a thriving team, and moving to git was stressful for us because it was a better collaboration tool.

It was a surreal experience, because it was the first time in my life that I had to arm myself with markers and draw on the whiteboard. It's just some simple charts that show how Git works and how it interacts with GitHub. There is also an explanation of how best to use branching.

Keep in mind: This is only after one months of company stay. Since then, I've been part of brainstorming sessions explaining how everything works in rails, from sessions to nested forms.

In your first development work, by teaching, you may end up giving someone a more knowledgeable impression of you than they do. Even if you don't think of yourself as an "expert" or "Advanced developer".

In every company, there is always a pool of knowledge to share. When I teach people, I will contribute to it while taking away other people's experiences and opinions.

Basically, everyone will contribute their own experience and perspective to this knowledge pool. And this is a massive educational developments.

Skill #: Focus

Any profession, whether a painter or a writer, can be a step up to greatness by focusing on small details. If you want to produce amazing work, then you need to be careful and adjust the method.

If your attention to detail is not in place, then the key is to have the ability to deal with concentration.

The ability to fully focus on a task is present in a declining state in our current world. Twitter,facebook and Reddit are constantly luring our attention. Cal Newport, in his book deep work, points out that in order to have an influential job, people have to give up on shallow jobs and embrace deeper jobs.

Shallow work is defined as a work with only short-term benefits. For example, you can spend a day writing and replying to messages, but you'll miss out on deep work. Deep work is the work that needs to be absorbed and ultimately lead to tangible results.

As a developer, this skill cannot be underestimated. Our job is to build something useful. And it takes a lot of time to create something that is valuable. A little less consumer mentality, a little more producer mentality.

One technique that may be useful is the tomato working method. Here's how it works:

    • Set the timer for 25 minutes
    • Focus on one task for 25 minutes
    • At the end of 25 minutes, rest for 5 minutes.
    • Any idea that emerges that has nothing to do with the task, you can write it down first so that you may follow it 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 can help you produce more meaningful work instead of looking at Twitter or Facebook every few minutes.

Skill # #: Understanding the Big picture

Those major products around the code developers need to perform a careful and balanced behavior. On the one hand, from publishing to products to help businesses grow. On the other hand, make sure you don't leave your future colleagues with hard-to-maintain code. And, of course, users also have to enjoy the software.

But, first of all, all you can do now is write code. When you start to improve yourself as a developer, you'll--go back and refactor the original code. Make your software more adaptable to developers who will work on it in the future.

There is a great concept of dry (don ' trepeat yourself) principle. The basic idea is to write a code snippet 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 an enterprise.

However, the so-called overall situation does not involve more than code. Most big companies follow the principles of Peter Drucker. If you have studied MBA, then you must have heard of Peter and his management principles. If not, then it is advisable to read the book he wrote.

Peter has had a far-reaching impact on Western companies. One of the most important concepts he proposed was cost centers and profit centers. People in sales and marketing work are considered to be the profit centers of the enterprise. They increase their incomes. Enterprise costs must be controlled 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 understand where you fit within your organization. This will add value to your life and make your career go further.

Skill # #: Social Skills

Many people believe that companies like Google have created a culture from the top down. However, you and your partner are also building a culture. The best way to nurture this team-wide culture is through your own social skills.

Think about your real life, not your work life. Is there such a person in your circle of friends that everyone expects to see? Their presence can bring laughter and deep discussion. They don't spread rumors and rumors. When someone needs help, they will reach out in time. All in all, they are described as being a good enough buddy or mushroom to cool.

Such people also exist in the workplace. And your goal should be to try to be that kind of person.

Become a person everyone is looking forward to seeing. Build the courage to speak with a constructive mind. This has nothing to do with what you consider to be an introverted or extroverted person.

Slowly, your career, your technical skills will be the same as other people in this field. But if you want to be successful in the workplace, then you need to be a team member. 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 someone else, you'll never be able to accept your thoughts, no matter how big or small. In the end, you can only accept what other people think, not what you think.

Skill: Identify and deal with problems

The programmer's role is to solve the problem. But to solve the problem, we must first find out what the problem is.

The easiest thing in the world is to memorize a bunch of commands or copy and paste the code on the StackOverflow. The real ability is to know what happened to the bigger picture. If you're dealing with a big problem in your job, it's best to break it down into tiny, editable fragments.

Look at the problem 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, look at the current solution (if one exists). Finally, consider how the current solution solves this problem. (if it can be solved).

Once you have a high-level overview of the application, you can go to the functional part of the application. Use problems, solutions, and detail techniques to further decompose problems. These framework steps helped me understand different open source projects, such as Disourse.

Conclusion

Some job skills are common, whether you're in a high-tech career or not. For example, communication and team work. I really hope I can be aware of the importance of these soft skills before I do my first web development job.

For the soft skills that programmers need to learn, you can also look at this article: 24 soft skills that are very important to a programmer

Don't know if I missed any non-technical skills? Welcome to leave a comment!

Each programmer should have 6 amazing soft skills to master

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.