Exclusive: Ten skills that programmers should possess in the next five years

Source: Internet
Author: User
Tags bug tracking system

AsProgramPersonnel, if you want to continue to make progress in this field or keep yourself unfired in the current economic situation, you should never be complacent and you need to continue learning. Recently, the famous IT commentator Justin James listed 10 skills that programmers should possess in the next five years in his blog. If you follow this practice, your future work prospects will be bright.

In the current economic situation, many programmers focus on short-term work forms, but you still need to spare time and energy to learn new skills. The following are ten skills that programmers should learn immediately to ensure that your resume will be accurate in the next five years. Of course, this list is hard to be detailed without omission, and some fields are not involved (such as mainframe developers ). However, for general mainstream development, you should learn at least seven of the following ten articles, and the degree of understanding is not that you can boast in the job interview, but that you can actually use it for actual development.

1. One of the three major development systems (. NET, Java, and PHP)

Unless there is a huge change in the software development field (this probability is like a planet hitting the Earth), programmers need to know at least three major development systems (. net (VB. net or C #), Java, PHP. It is not enough to understand the core language, because the current project has more and more different features, which also forces programmers to have a deeper understanding of the relevant framework and libraries.

2. Rich Client Applications)

Whether you love or hate flash, we have to admit that in the past few years flash has grown far from being used in animation production. Flash, flex, and air all have more and more functions. Flash competitors, such as javafx and Silverlight, are constantly improving their performance and performance. To make rich Internet applications more active, HTML 5 is integrating all types of RIA functions, including database connections and placing W3C On Ajax. In the near future, as an expert in the RIA field, you will undoubtedly have a strong resume.

3. Web page development

Web development may be one of the mainstream technologies for a long time in the future. Many programmers tend to be satisfied with building the background, or simply focusing on the framework and ignoring the web. However, more and more enterprises need to interact with each other.Code(Hand code) level Web processing personnel, so understanding JavaScript, CSS and HTML will certainly be invincible in the next five years.

4. Web server development

Rest or soap? JSON or XML? Of course, the answer should be determined based on the project, but if a programmer does not create a Web Service (although this programmer may not need to write Web applications), he will feel very difficult at work. Because even those fields dominated by ODBC, COM, or RPC have now been transferred to some forms of Web Services.

5. Soft Skills

For a while, there has been a tendency to improve it visibility both inside and outside the enterprise. Programmers are increasingly taking part in non-development meetings to provide technical support. For example, without an IT upgrade system, the chief financial officer cannot change the Revenue and Expenditure rules. Without an IT upgrade CRM workflow, the Operation Director cannot change a central call process. Similarly, customers often communicate directly with the development team to ensure that their needs are fulfilled. Should every programmer go back to study etiquette classes to better interact with others? That's not necessary, but programmers do need to improve the soft ability to treat people and get more value in the workplace.

6. A dynamic or functional programming language (functional programming language)

Although languages such as Ruby, Python, F #, and groovy are not fully mainstream, their internal ideas are the mainstream in the development field. For example, the LINQ System in Microsoft. NET is a direct derivation of functional programming languages. Thanks to the development of the rails framework and Silverlight, the ruby and Python languages have become very popular in some fields. Learning such a language not only enriches your resume, but also broadens your development horizons. Almost all of the top developers I met mentioned in my speech the importance of learning a dynamic language or functional programming language. In my personal experience, this is indeed useful.

7. Agile Development

When agile development impacted mainstream development consciousness for the first time, I held a skeptical view like many developers. Because it discards control, standards, and so on, it seems to be a development method completely contrary to the traditional method. However, with the development of time, the ideas behind agility have been defined better and better, and applications have become better and better. Many developers are either agile or in the experimental phase of agile development. Although agile is not a panacea for failed projects, it does have a place in software development. Developers who have a good understanding of agility and have application experience will surely become the best seller in the next five years.

8. business knowledge

The development team is increasingly seen as a cooperator of the project, which means that developers who understand the field will contribute more to the project. With agility, developers can say that we can simply add this feature here, which will make our products more valuable. Or this requirement does not meet the common types of log display. As more and more programmers are opposed to having to understand all the problems in this field (which is not actually possible), it is undeniable that more and more companies want developers to understand at least the basic knowledge in this field, the more, the better.

9. Quality Control

A few years ago, many companies and products did not have a bug tracking system, version control, or other similar tools. The code and products they wrote were only related to the programmer and the IDE they used. Fortunately, there are new and integrated tools in the development field, such as Microsoft Visual Studio team system. In addition, the product and code are of high quality and the transparency of availability, and open-source environments, there are fewer and fewer enterprises without such tools. Apart from knowing howSource codeIn addition to control, how to use the VM system to build a test environment, more quality control should be done, and a good sense of cleanliness should be provided to ensure coordination between him and his team. Developers who store code on their hard disks and do not record code changes or task directories are not welcome in traditional development environments, but also in Agile development environments.

10. Mobile Development

In the late 1990s S, web development became the mainstream and marginalized traditional desktop application development. In 2008, mobile development entered people's field of view, and at least within five years mobile development will be the top priority in the development field. Of course, there are many ways to develop mobile apps, but whatever one you choose will make you the best choice in the future.

Csdn

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.