CTO interview: Stick to or catch up with new technologies, and how developers can cope with new technology trends)

Source: Internet
Author: User
Tags ruby on rails
[Report of csdn on April 9]

Technology New
Programming Language Some people say that if they do not move, they will go backwards. If they are unable to master more than two mainstream programming languages or technologies, it will be a matter of time before they are eliminated. Some people think that
"As long as you are proficient in a language technology, you can also become an IT professional. In the same way, in the face of endless new programming languages, some developers let go of what they have mastered and change to what is new.
Languages, such as Ruby, elang, and Scala, and more developers choose to stick to it, deeply explore the language technologies in use, and accumulate more experience.

If your goal is to become an architect and how to make your choice in the face of the dazzling technology/language in the industry, csdn will interview the CTO of an Enterprise Management Software Development Company in this issue.
Lu Jianwei. Lu Jianwei has 10 years of experience in business development and operation of enterprise management software. He has worked as the chief architect of a medium-sized software company, as well as Microsoft vendor business consulting consultant, Borland Special Consultant,
CTO. Years of commitment to enterprise management software development process management, product framework, industry development/technology development/product competition research ). He will discuss the topics with you and share his views.

Lu Jianwei first said that he was an architect. Although he is out of the architecture, he is in the CTO position and focuses on product strategic development, development process management, product framework, and it line.
Industry development and changes, new application of new products and new profit models, changes in the customer industry, and changes in competitors. However, I have been tracking popular technologies. Although taking into account the long-term survival of the company's products and Competitions
Competing strategies, many of the latest technologies cannot be quickly applied to product development. However, his research on the maturity and starting point of the new technology has always been a matter of interest to him.

Reporter: If you want to become an architect, how can you make a choice in the face of the dazzling technology/language in the industry?

Lu Jianwei: First of all, I will draw a picture to layer the architecture of mainstream IT technologies.

From this figure, we can see that every technology is developed at its own level to make up for the existing product and architecture problems at this layer. Lu Jianwei first reminded his friends who want to be architects in the future,
Whether it is learning. net, windows, or sqlserver, you must have an architecture idea from now on. It should be layered, from point to line, from line to plane, from plane to system to split horizontally and vertically.

In addition, a product architecture is often so multi-layer, and in the application software architecture, that is, the presentation layer, business layer, and data layer. Other middleware and out-of-the-box technologies of VM and OS are used by us.
Generally, you do not need to go deep. The presentation layer, business layer, and data layer have interfaces between the layer and layer, rather than hard interfaces. Otherwise, the interface will become a piece of steel. Generally, architects with insufficient architecture experience are prone to such problems.
The fault lies in the separation of layers, so we are complacent that this architecture is very scalable. However, the specific application is hard and cannot be moved. This is why the interface layer is lacking.

Reporter: through your explanation, you have a general understanding of the current mainstream IT architecture, but it seems that you are not quenching your thirst. How do some new beginners learn from
If you are proficient in one language or two languages, you can find a job better. This is an issue that everyone is more concerned about. It's far away to be an architect
Dream. The problem of food and clothing must be solved first.

Lu Jianwei: To answer this question, we need to answer the following questions separately depending on the individual's situation:

If you have a degree or ability and can only enter a general software company or integrated company, then Microsoft's technical system is good. Because of the Microsoft system, there are a lot of learning materials on the Internet, and a large number of enterprise applications use Microsoft technology
Developed, and many companies also use Microsoft technology. So there are many companies. You are looking for a job. Microsoft's technology is generally fixed: C # + Asp.net + sqlserver + visual
Studio.

If you have a degree or ability to enter a company that is a large-scale enterprise application, you can choose a Java technical system. Currently, large enterprises are basically developed using Java. You can,
Structs, hibernate, WebService, tomcat, Apache, JBoss, pojo, and Oracle
WebLogic, websphere, portal, and workflow technologies.

If you want to enter an Internet company or a start-up company of Web2.0. In general, PHP, MySQL, Apache, Ruby on Rails, and Python are your learning objectives.

If you want to enter mobile phone development, Symbian, C ++ (Nokia, with the largest market share), and j2's (Android product, Google released, have not yet been officially produced yet, but should
This is promising), Windows Mobile (Microsoft, good development, from development ideas to tools to languages, are all familiar to you ). In the short term, these three categories will be fully established, and no one will take them out.
. Five years later, it is hard to say that in at least five years, it is the mobile phone age and the mobile phone wireless age. Every vendor is scrambling for this piece of meat with the greatest future money.

If you want to enter the current hot online gaming company. As a server, you must have excellent C ++, excellent network transmission technology, concurrent thread processing, and understanding of Linux programming, just like understanding windows programming.
In-depth. If you want to do the client, then Image ProcessingAlgorithmYou must pass the test first. Of course, many engines, tools, AI packages, material libraries, and scripts now reduce the difficulty of client programming.

If you want to enter the embedded programming that has been very popular for the next 10 years, then C ++, and you have to pass through your microcontroller programming. China is the world's top manufacturing power, and this situation is hard to change within 5-10 years. Manufacturing, in the past, was lower than the cost of workers. But now the growth of materials and labor puts a great deal of manufacturing pressure. You can only improve your manufacturing capabilities.

For high-end products, high-end assembly lines are required. Moreover, China's electronic products are becoming more and more powerful, and Japanese products have gradually become the world of Chinese goods from the first dominant Chinese products. On mobile phones, digital cameras
Embedded programming is required in many fields, such as home appliances, refrigerators, DVDs, air conditioners, automobiles, transportation, medical care, and numerical control. Even chang'e 1 is a model of embedded programming. Huawei and ZTE
It is also the scope of embedded programming.

Of course, you can take the lead. In the past, it was notes programming. With the rise of domestic OA, notes programming gradually declined. However, large enterprises in China are now launching ERP, and most of them are
Oracle or sap erp. These ERP products provide custom programming and development environments and complete application APIs. Large enterprises need customized development to apply ERP, a large number
Lack of such talents. However, there are very few learning materials on the market, which is a difficult problem.

In addition, outsourcing is also very popular now. The establishment of outsourcing parks in various regions is just like the establishment of software parks in those years. To enter an outsourcing company, first pass the Japanese or English language. Outsourcing in our country is generally from Japan and Europe and America. In development, C ++, C #, and Java are also the mainstream languages.

In short , We have talked about a lot of development technologies and languages. In fact, the languages of different magnitude are similar. I learned one, and the others are similar. I think the development language is generally divided into: the core underlying development language, the business operation layer development language, and the script layer development language. At the core layer, C/C ++ is generally the most widely used. Operating System And
The hardware drivers are all written in C/C ++, ensuring both performance and Control depth and strength. At the business operation level, C # and Java are the mainstream, representing the two technical systems in both Microsoft and non-Microsoft camps.
Delphi and VB work at the business operation level, but after all, they are not currently supported by the mainstream vendors of the two camps (the wide application of a technology not only lies in the innovative nature of this technology, the company that supports it
.).

At the script level, the past ASP, Perl, PHP, Ruby, Python, and ASP. Net work at the script level. Development languages on each layer
So now you will see Java and C # getting more and more like Ruby on
Rails immediately launched the open-source community support class rails framework in other scripting languages.

Therefore, from the above analysis, C ++, C #, and Java are all mainstream. It is widely used in all aspects. There will be a lot of opportunities and space for which you choose. However, if you have learned C ++ and are afraid that you will not be able to touch the C ++ job in the future, but want to learn C # and Java, then you will eventually achieve nothing.

Reporter: From your point of view, developers must first consider learning other new technologies on the basis of mastering a language technology. However, developers may worry that they have learned outdated technologies and are not recognized and accepted by the society, which is not good for their future development. How can developers follow up on the latest technologies in a timely manner?

Lu Jianwei: in fact, the current technology is making up for and improving the current situation of the problem domain it is committed to solving, and the real technological revolution has not yet occurred (Semantic Web will be a revolution, but when?
Who will lead the next revolution ). Whether it's the latest hot-fried chicken: Ruby on
Rails, Google's Ajax, and flex and sliverlight are both improvements in the status quo.

However, what we need to see is that no matter how many new technologies of 3D Internet and 3G mobile phone terminals are integrated into Internet applications, there is a trend that is the general trend and we must see it.


Lu Jianwei's recent photo

From the rise of XML, RSS, XMLHTTP, JSON, Google customization, Google API, SAAS, virtualization, cloud computing, WebService, rest, SOA, scripting language, and mashup, in fact, they are all moving in the same direction. That is: Open API.

Both President Sun and President Oracle once preached that the network is a computer. It is now true.

We traditionally program in windows. In fact, we generally cannot call and access the Windows Kernel. We generally work at the API level. ThereforeProgramEmployee face
Previously, it was a Windows API.
Programming. But how do we program on the Internet? We used to create websites one by one. When websites are everywhere, URL connections link the entire Internet, and the Internet becomes a place.
Ball giant computer. How to program on this giant computer is something that Microsoft, IBM, and Google are currently working on and competing with each other.

We are able to participate in the global industrial chain by following the tide of technology.

therefore, when a new technology comes out, let's first look at its association with existing technologies to see what the common characteristics of these associated technologies are, depending on the research focus and support of the big companies that lead these technological trends, we
know which mainstream technology trends are going in. Of course, in this mainstream, various companies will launch their own products based on their own competitive advantages and disadvantages, and their arguments also have their own key points. However, we don't have to worry about it.
they all share the same path. They all need to solve a problem. [Reporter/Fu Jiang]

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.