每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,欢迎关注开源日报。交流QQ群:202790710;微博:https://weibo.com/openingsource;电报群 https://t.me/OpeningSourceOrg
今日推荐开源项目:《不仅是 Windows Proton》传送门:GitHub链接
推荐理由:有了这个,你就能在 Linux 和 macOS 上玩 Steam 上的 Windows 限定游戏了。这玩意开源出来最大的目的就是提供给那些需要自定某些设置的用户,它是基于 Wine 的,所以可以更改所使用的 Wine 的版本之类的,不过对于大多数用户来说,直接使用原版会更方便一些,等以后你也开着 Linux 想玩 Steam 游戏的时候,别忘了还有这么个工具。
今日推荐英文原文:《Eight Must Have Non Technical Skills For Software Development》作者:Sarah Elson
推荐理由:有些技能并非技术类,但是你会发现它们很管用,它们的作用域并非仅限于软件开发中,换句话说,学习他们总是没错的
Eight Must Have Non Technical Skills For Software Development
Non-technical Skills are acknowledged as interactive skills. It comprises of communication skills, skills for teamwork, and decision-making skills. It is not like those technical skills, but can be a compliment to those to make them more efficient and effective. If used effectively, it provides invaluable safety and active operations. It will be easier to make the work done efficiently. Many successful developers are renowned in their field because of the possession of good nontechnical skills.
There are some universal needs for achieving a useful result, and the nontechnical skills are one of them. It is helpful in case of software development, testing, and other related technological aspects. Skills like programming, database, frameworks are essential for achieving great height in your career, but you can’t overlook non-technological skills, which make you successful in the world of technology. It can be coined as integral parts. They are equally essential like those technical skills. There are a lot of Non technical skills to make you successful. Let’s have an idea about those fields.
1. Ability to Communicate
Communication skill remains at the topmost position, whenever we make a list of nontechnical skills. To commence a significant project the central aspect is communication. An excellent communication leads to successful completion of a said project. You all know a project or say one software development lifecycle houses different sets of people. And they are quite diverse. So they should be fitted in the right position to make out the desired result. And that can be achieved only through proper communication. The collaboration and relation among all only give a fruitful outcome. So in simple word communication is highly significant in software development.
2. Categorize the Tasks According to Priority
It is another essential aspect for the completion of the software development cycle. During the period, things are quite fast. You have to accomplish the things a proper way, that also promptly. The time management and focus play a vital role in this. So to be able to work in a fast-paced environment you should have to prioritize the works so that you can match your colleagues and provide a successful result.
3. Analysis of Customer Requirements
It is known as the ability to understand and share the feelings of others. It is highly required as it is much more than the knowledge of software development, data, and metrics. In an environment of software development, you have to understand your end users. You have to analyze, the requirement of your end users. The customer’s empathy is the prime focus that you have to look after, rather than focusing on your preferences.
4. Work Should be Systematized
To make a successful software development cycle, proper reporting and documentation skills are highly essential. Apart from that, you have to be organized in your work. And you should always keep this in mind that, it is not a one man show. It is teamwork, and that will only provide success to your endeavor.
Say, you have to systemize your browser testing, a proper procedure should be followed. So, systematic approach is a must.
If you’re still wondering about how to systemize your cross browser testing strategy, refer to our blog to know more.
5. Uniqueness and Creativity
Creativity Software development is not only about math and science. It’s not about the technical aspects alone. The innovative mind, and out-of-the-box thinking will allow you to go to the heights in this field. And with the application of these aspects, you will be there in the long run. Being a master of technical skills you can sustain in this field, but there won’t be significant progress for you. And you will remain to do a nine to five job. So always try to play with the amalgamation of technical skills and innovative approaches.
6. Ability to Provide Insights
An individual with vast technical skills can develop any software, and that is a common thing. But the crucial thing is he should have a deeper understanding of it. He should have the ability to explain it to the users. With that, only the developer can get a successful tag. So in short, you should have the insight of progress or any test results. It can carry your product to the next level.
For example: A tester should be able to use various analytics tools like google analytics. These tools help you in understanding the cross browser requirements of the audience and other insights that can help to understand user and user behavior to simplify testing and development efforts.
7. Willingness to Explore and Think Out of The Box
The aspect of software development requires this nontechnical skill. You should have the interest. If you are curious, then only you can load your brain with innovative and advanced knowledge. You will never feel your job boring, and always in the process of learning some new things. It will provide new feather to your career and allow you to unlock new possibilities in the areas of software development. In addition to that, you will also forget the fear of making mistakes.
8. Open to Learning and Staying Updated About New Technologies
Nothing is constant here, so as technology. The ideas, procedures, and aspects of software development, testing is changing every other day. There is no specific way of producing software applications. So it is highly significant to look after diverse opinions for software development. You have to consider the suggestions made by others, accept other’s feedback for executing your ideas in a better and newly developed way. Last but not the least you have to be proactive and let your eyes open every time.
You have to consider those nontechnical skills as an integral part of software development. It is equal to these technical skills for the proper execution of software development and technology. For achieving the tag of a successful tester or developer, you must have these soft skills. It is indeed the foundation for becoming an expert. So go through the soft skills, for making yourself a good contributor. And practice these nontechnical skills more often.
每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,欢迎关注开源日报。交流QQ群:202790710;微博:https://weibo.com/openingsource;电报群 https://t.me/OpeningSourceOrg
本文提出的做软件开发必须有的八条技能适用面极广,做任何事情大概都有此些技能傍身便有所脾益。不过愚以为,对于软件开发者开发者而言,相较于其他行业,第八条对于软件开发者的要求可能会更高一些。IT技术更新换代极快,及时学习才能不被落下,能够时刻走在技术前沿是软件开发者的一项重要要求。
@挑食是个坏习惯: 挺认同的,现在很多开发者不是很重视,我认为一样重要