Ten capabilities that programmers should possess in the next five years

Source: Internet
Author: User
Tags bug tracking system
As a programmer, 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. 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, PHP) unless there is a huge change in the software development field (this probability is like a planet hitting the Earth), programmers must at least know the 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 Internet Applications (Rich client Applications) whether you love or hate Flash, we have to admit that Flash has grown far beyond animation production in the past few years. 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, as more and more enterprises need to process Web technologies at the hand code level, understanding JavaScript, CSS, and HTML will surely be invincible in the next five years.

4. Do I develop rest or soap on the Web server? 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. There has been a trend in soft skills over a period of time: improving it visibility 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. Although a dynamic or functional programming language (functional programming language) is not fully mainstream, however, the idea contained in the language is 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 I am skeptical about the first time agile development has impacted the mainstream development consciousness. 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. knowledge development teams in the business field are increasingly regarded as partners of projects, which means that developers in the field will make greater contributions 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. A few years ago, many enterprises and products did not have a bug tracking system, version control, or other similar tools, the code and products written are only related to the programmer and the IDE he uses. 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. In addition to knowing how to control the source code and how to use the VM system to build a test environment, developers also need to do more quality control work, and have a good sense of cleaning to ensure that he and his team are consistent. 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.

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.