開源日報 每天推薦一個 GitHub 優質開源項目和一篇精選英文科技或編程文章原文,堅持閱讀《開源日報》,保持每日學習的好習慣。
今日推薦開源項目:《機器學習 Scikit-learn》
今日推薦英文原文:《Top Developer Soft Skills to Learn》

今日推薦開源項目:《機器學習 Scikit-learn》傳送門:GitHub鏈接
推薦理由:Scikit-learn是一個基於NumPy,SciPy和matplotlib構建的Python機器學習模塊,一個簡單高效的數據分析工具。官網鏈接:https://scikit-learn.org/stable/
今日推薦英文原文:《Top Developer Soft Skills to Learn》作者:John Au-Yeung
原文鏈接:https://medium.com/@hohanga/top-developer-soft-skills-to-learn-422c38ac2dd7
推薦理由:敲代碼並不是全部

Top Developer Soft Skills to Learn

(Photo by Alistair MacRobert on Unsplash)
If you want to become a successful developer, you have to learn more than writing code to become successful.

In this article, we』ll look at some soft skills to learn in order to become a successful developer. Like any job, soft skills are also pretty important given that we can do the technical work.

Diversify

We have to be open-minded about different things. Being able to learn different things and unlearn outdated or bad knowledge is a must.

Therefore, it』s important to learn things outside of our jobs in case we need them. So if we』re working on Rails now, we should also learn about Node and Express, for example.

This also go with general principles like learn functional programming when we』re using object-oriented languages mostly. They aren』t mutually exclusive.

For instance, JavaScript has both functional concepts like higher-order functions included in the language and also object-oriented concepts like objects, prototypes and inheritance included.

This way, we can be useful to more people and it also adds different perspectives to enrich how we think about different things.

We won』t be as narrow-minded if we learn different ways to do things.

Computer things change fast, so we must adapt so we won』t be useless and unemployable in the near future.

Be Agile

Being agile means that we should be prepared for changing requirements or projects at any time.

Our minds can』t be fixated in anywhere so that we can understand users』 use cases for a software product.

Also, we got to be understanding to customers and incorporate their feedback into our product.

Therefore it』s best to just do a small piece of a product at a time. This way even is feature changes, we won』t have to go back to everything over again.

It also makes implementing anything more manageable since we won』t be overwhelmed with anything.

Empathy

Having empathy is important. Since most software projects are teamwork-based and software is used to serve customers, it』s best if we have empathy for users since they pay for the software that we write.

Any feedback should be incorporated into the product if they make sense and lots of customers request them.

We should also have empathy for our teammates since they work hard and will probably touch each other's code at some point.

This means that we should write clean code and communicate changes. We should take a teammate』s suggestions if they make sense.

Always, try to see things from their point of view and why they want us to make changes their way.

Communication

Communication is both verbal and written. Verbal communication includes things like giving updates verbally and pair programming for example.

If we speak, we should speak clearly and with confidence. Also, we should listen more than we speak and don』t interrupt people.

These are just some basic etiquette that we should follow so that everyone has their chance to speak and be listened to.

Also, we should never dominate any conversation so that everyone has their chance to speak.

For written communication, we should write everything down. Things like updating the status and description of tasks are important.

Also, documenting instructions for how to set things and run when run things are also important.

In our code, we should write them so that that they』re self-documenting. So variable names should convey their meaning. This also goes for other things like functions, classes, or anything that has names.

Each function should be simple enough so that they only do one thing as indicated by their name.

(Photo by Yomex Owo on Unsplash)

Teamwork

Teamwork is important since most software projects are worked on by teams.

There』s just no way around it. It』s not only developers that we』re working with, but also designers, and different project teams.

We have to work with others well to become successful. Working well with others makes work a lot more pleasant then if we don』t.

Conclusion

Having a diverse and open-minded mindset is important if we want to become or continue to be successful as a developer.

Software things change all the time so we have to adapt to them. We should also be open to other things outside of what we do at what or at previous jobs.

Teamwork is important since most developers work in teams. So working well with others makes work more pleasant than if we don』t.

Finally, communication is important since we have to update and help each other in teams. Also, it』s important to be good at both verbal and written communication.


下載開源日報APP:https://openingsource.org/2579/
加入我們:https://openingsource.org/about/join/
關注我們:https://openingsource.org/about/love/