I’ve written previously about career paths for IT practitioners (see my series on Career Paths for IT Practitioners (From Programmer to Department Manager) – Project Management). Then a reader suggested ways to write about technology, and here it is. In this paper, from beginners to thinker of four steps to the technical route of IT industry in terms of (see the article: IT pros learning plan – learners series opening), from shallow to deep for technical route, you need to learn the contents of the narrative, on learners’ series of the subsequent writing, this article as a map a version of this article series.

As for the technical route, the author believes that in the spare time, we should take the initiative to learn technical and business knowledge. On the one hand, I learned the technology for myself; on the other hand, I trained the project team; on the other hand, I hired teachers to do the training within the company. Technical learning, mainly to have a system of learning, otherwise like fragmentary things, difficult to get good results. Therefore, for IT software practitioners, IT is necessary to grasp the time, to fully acquire knowledge, to improve their own ability, and thus improve their competitiveness. The technical route is described as follows:

(since it is basically ASP.NET, JAVA, PHP three camps, so this article only gives the relevant information, for mobile development see the introduction to master section)

A basis,

Let’s start with the basics. Software practitioners need to learn basic content at the beginning, so as to adapt to the project environment as soon as possible, and then better integrate into the project team, and better serve the project.

1, the HTML.

Start with the HTML. HTML is a text markup language that is the basis of all B/S projects. So far, HTML has come to the fifth version of HTML5 after experiencing the impact of the Internet, and the content is getting better and better. As a B/S language, HTML’s simplicity, ease of learning, and industry standards have been demonstrated. Therefore, FOR software practitioners, HTML is the most basic content to learn. I have also given a brief description of the HTML language (see HTML Learning – IT software people learning series). Here are some books on learning HTML:

Link: pan.baidu.com/s/19i4RJ_NP…

Extract code: 8cfP

2, CSS.

CSS as a B/S direction of an important rendering HTML content knowledge, its importance is self-evident. CSS is combined with knowledge of the HTML language, its syntax is simple, and it is important to remember the important tags. CSS has now evolved to CSS3 version 3, and the function has also improved a lot. I have also made a brief description of the CSS content (see CSS learning – IT software people learning series). Here are some books to learn the CSS language:

Link: pan.baidu.com/s/1bcbPFoWv… Extract code: 85WC

3, Javascript.

Javascript is an interpretative language that provides dynamic interaction for HTML web pages. In particular, with the development of AJAX over the years, Javascript has been growing faster and more people in the industry are paying attention to it, so there are several Javascript libraries, such as jQuery, as well as others such as MooTools, Node.js, Protorype, Dojo, ExtJS and so on. I have also done a summary of the JS content (see: Javascript learning – IT software people learning series). The following provides the relevant books to learn JS language:

Link: pan.baidu.com/s/1L4iZSdMX… Extract code: H95B

4, jQuery.

JQuery as one of the most popular JS libraries, its development is quite fast, the current version is 1.11.3. JQuery’s ability to do more with less code is one of the things I like about jQuery. There are a lot of plugins and library functions available on the Web (see my previous post: How to write jQuery extensions and extension functions (typical examples of anonymous functions used) and how to write Javascript libraries (jQuery version) – advanced series – Learner series articles, so that it is easy for readers to write front-end code. Here are some books to learn the jQuery library:

Link: pan.baidu.com/s/1Yugd_AHn… Extract code: 33Hz

5, Dreamwave.

Dreamwave is Adobe’s heavyweight product, and it was developed to the delight of many web programming enthusiasts and front-end engineers. As one of the three musketeers (the other two being FLASH and Firework), Dreamwave is a good and fast prototype for a project. However, I am not familiar with Dreamwork, so I will introduce Dreamwave briefly here, and I will introduce Dreamwave in detail later. The following books are available for learning Dreamwork:

Link: pan.baidu.com/s/1cutSNiHL…

Extract code: HSY8

6, PhotoShop.

PhotoShop is an image processing software produced by Adobe company. After years of development, PS has become more mature. As a popular software used by artists, PS is well deserved. The author is not familiar with PS, and its operation will be further described in the future. Here are some books to learn about PS:

Link: pan.baidu.com/s/1hIjnNzab… Extract code: AG3x

7, ASP.NET.

ASP.NET as Microsoft. NET system, Microsoft partners as well as a large number of Microsoft programming enthusiasts welcome. ASP.NET has gone through several updates, and its content has become more and more substantial. The current version of ASP.NET is version 4.0, which adds a lot of new content, compared to the 2.0 version or a very big improvement. Here are some books to learn about ASP.NET:

Link: pan.baidu.com/s/1QueI6LhX… Extract code: PJNZ

8, c #.

C# is Microsoft.NET system in the background code of the outstanding, it combines the C language syntax style and VB operation style. In VB.NET and VC.NET has an important competitiveness, is currently the most used. NET background language. C# is also evolving along with the.net system, although Microsoft is. NET system to learn the architecture pattern of JAVA system, has launched related such as MVC pattern, but Microsoft in. NET is not as good as JAVA, and there are no more open source projects in the technical community than JAVA, but that still doesn’t stop more software engineers from using C#. Here are some books for learning C# :

Link: pan.baidu.com/s/1nK2KUcC0… Extract code: 9ZDS

9, JAVA.

JAVA is an important programming language in the open source industry, which provides a lot of open source class libraries and other content. In the open source field, JAVA is the developer and user of many open source software and open source projects. JAVA because of open source, so many programming enthusiasts love, but also because of open source, JAVA has also been relatively rapid development. However, JAVA hasn’t changed much over the years, and many companies still use SSH (Spring, Struct, Hebernate) for development. Of course, it depends on the size and scale of the project. Here are some books for learning the JAVA language:

Link: pan.baidu.com/s/1QcHHYYD8… Extract code: 8CFY

10 and PHP.

PHP is a veteran of the big three camps (ASP.NET, JAVAEE, PHP). Its development also got the welcome of numerous amateur quite. However, according to my experience, PHP seems to only stay in the forum and other aspects of the application, in the enterprise is very little to use. A good example is the forum PHPWind. The author’s understanding of PHP only stays in the application of Internet forums. Although the use of PHP on e-commerce websites is introduced in books, the development of PHP is estimated to be less rapid than that of ASP.NET and JAVA. Here are some books for learning PHP:

Link: pan.baidu.com/s/1CuSsSOTS… Extract code: O741

Two, coding specifications

Coding specification is an important part of learning programming, as well as the coding preparation done by the project team before development. Coding specification is a set of specification content that defines the code program written by each programming language. It plays an important role in the field of programming. The author recommends that a system of coding specifications be developed at both the company level and the project team level to constrain the style in which software engineers write code.

1. C# coding specification.

For C#, the code style is similar to the C language style, so it is easy to get started. The coding specification is also available for download here:

2. JAVA coding specification.

JAVA also has a syntactic style similar to C and C#, except for some semantic differences. But JAVA also has its own set of programming specifications, which are available for download here:

3. SQL SERVER coding specification.

As an important member of Microsoft, SQL SERVER is a set of easy to use database software. The current version of SQL SERVER is 2014, but in the author’s opinion, the biggest change should be the internal processing mechanism of the database and the corresponding function library increase. As a database system, when we code the database, we also need to have a set of coding specifications. Download below:

4. ORACLE coding specification.

ORACLE is a very important and efficient database product from ORACLE. ORACLE in the experience of several versions of the change, the greater according to the author’s experience is to close to the network, from the 9I version, the I is the meaning of the Internet. Here’s how important Oracle is to this database product. The following is a download of the ORACLE database code specification:

Link: pan.baidu.com/s/1VK2x0m83… Extract code: GT1M

Three, entry to mastery

Now, there are a lot of beginner to master books, and the level of these books is basically below the middle. On the one hand, it is necessary to take care of beginners, on the other hand, it is necessary to guide the learning of software engineers who have a certain foundation. This kind of books, said to be proficient after learning, this is still a little far-fetched. Put the books described here, is mainly to the related programming language and database content in the field of introduce, let everybody in the beginners can learn faster, faster learning to described in the book’s content, faster to improve their ability, faster into the team, better service for the entire project. Entry to master a lot of series are written by the people, mainly for the domestic environment for the compilation, so, it can be faster to adapt to the requirements of the domestic programming field. Some of the books in the Get Started to Master series are available for download:

Link: pan.baidu.com/s/1nHj9kp98… Extract code: 2lm2

4. Data structure

Data structures are the foundation of all programming languages. There is a saying: data structure + algorithm = program. See the importance of data structures. Data structures affect not only the syntax of a programming language, but also the way programs are compiled and run in memory.

1. C# data structures.

C# data structures are simpler because its syntax is similar to that of C++, but it also has its own features, such as generics, and so on. C# data structure books are available for download below:

2. JAVA data structures.

The data structures of the JAVA language are similar to those of C#, as is the syntax of C++. The data structures of the JAVA language also have their own characteristics. The following books on data structures in JAVA language are available for download:

Link: pan.baidu.com/s/14udVMK0C… Extract code: RW46

V. Database

Databases are the foundation of all storage systems. Each database has its own characteristics, and their data structure is not nearly the same, the built-in functions are not nearly the same, like THE PROCESSING mechanism of SQL SERVER and ORACLE processing mechanism is not nearly the same, this is also caused by the different storage structure.

1. SQL SERVER.

The SQL SERVER database is an easy-to-use database that has a global market share thanks to Microsoft’s support and a community of software engineers. As a Microsoft product, its latest version is available for download on the Internet in 2014. When I use SQL SERVER, feel the most is its user experience of good degree, on the one hand, depends on Microsoft’s support for the product development, on the other hand, depends on Microsoft to do a lot of market research on the product, just like WINDOWS products, its development is with the user feedback has a great relationship. SQL SERVER Database

2, ORACLE.

ORACLE Database is a set of products developed by ORACLE Corporation, which also has a large market in the world. As the Internet spread, ORACLE also rolled out web-based versions such as 9i. The latest version of ORACLE is 12C. It can be said that ORACLE is much more efficient and high-performance than SQL SERVER, especially for large data volumes. Therefore, the ORACLE database is recommended when the system requires a large database load. ORACLE Data learning book download:

3, MySQL.

MySQL is also an efficient database. In the network domain, Apache+PHP+MySQL is a classic combination of software systems. In the actual use of MySQL, users feedback that it has a certain efficiency and performance. The author’s understanding of MySQL also stays on XAMP combination system, which is also the classic development mode of PHP, which can be seen from the application of PHP language. MySQL Database: MySQL database: MySQL database

4, SQLite.

SQLite is a compact file-based database. It supports.NET system and is widely used. However, SQLite database has certain limitations in performance and data structure, and its efficiency is relatively high. Compared with Microsoft’s ACCESS database, SQLite has its own characteristics. According to the author’s experience, the performance of ACCESS is higher. Both databases are file-based and do not require additional mainframe installation, so their market share is high. SQLite learning books are available for download:

Link: pan.baidu.com/s/16t8IAKvz… Extract code: 7fzo

Sixth, the UML

UML modeling language is a popular modeling language. Its development today, can not do without the requirements and suggestions of many software designers. UML has its own characteristics and is similar to database modeling. At present, many companies in the world have adopted UML modeling to develop software systems. On the one hand, the graphical syntax of UML language is simple and easy to use. On the other hand, the wide application of UML makes it develop rapidly and can withstand the test of history.

1. Rational Rose.

Rose is a powerful UML modeling tool from IBM, currently in 2007. Based on UML language, it provides a large number of components, and can analyze and design complex software systems. Its market share is relatively large. I don’t use this software much, more for viewing UML modeling. The following provides the tool to learn the book download:

2, Enterprise Architect.

EA is a UML modeling tool from Australia. Its small degree and good user experience has been welcomed by many software engineers. Of course, it is expensive, so I have to use a registration machine for processing. The author uses this software more, its built-in file package has defined the project modeling content, can let the user get started quickly. Download the following EA learning books:

Link: pan.baidu.com/s/1yogFDwX7… Extract code: IMJP

Vii. Design pattern

In software engineering, design patterns are indispensable. Design pattern is a set of methods summed up by senior engineers, so that we can make less detours when designing the software system, and do a better, faster, more accurate and more perfect architecture design of the system.

1. HTML/CSS design pattern.

Some readers may be familiar with HTML/CSS, but may be new to its design patterns. This design pattern is based on HTML/CSS, applied to web development, so that developers can quickly and accurately design the structure of web pages better. The following study books are available for download:

2. Javascript design patterns.

JS is also a language that can be described using object-oriented methods. So, since it’s object-oriented, it has its own design patterns. Of course, the author has a limited understanding of JS and its design pattern, so I won’t describe it in detail here. Wait for the accumulated experience to be included in the learner series. The following study books are available for download:

C# design pattern

C# design patterns are also based on C++, so the design patterns are the same as C++ design patterns, but the C# language is used to describe the design patterns. Design patterns are reproduced on the author’s blog, which can be studied in detail. The following study books are available for download:

JAVA Design Patterns

JAVA design patterns are similar to C# design patterns, except that they are described in the JAVA language. JAVA design patterns also have their own characteristics that can be applied to the design of the underlying code architecture. The following study books are available for download:

Link: pan.baidu.com/s/1rHBiwH0L…

Extract code: 4Z4B

Viii. Architecture design

Architecture design includes B/S and C/S architecture design, which is described in my blog (see article: VB Program Architecture Analysis and Magical Platform library code sharing). The process of going from software engineer to architect is not something that can be accomplished overnight. It requires constant learning and practice on the job. So far, my study of architects has been limited to a small circle such as C#, and of course, I am not a professional architect, so I can only describe the architectural design here. The following study books are available for download:

Link: pan.baidu.com/s/1-L-V3cbR…

Extract code: 70D3

Learning roadmap

In the field of IT software, the author believes that systematic learning of programming content is more acceptable to project team members and can improve them faster than piecemeal learning. So, it’s provided here. NET and JAVA learning roadmap (roadmap from the web, this article is for reference only).

1..NET Learning roadmap

Take a look at the image below:

  

As you can see from the figure above, each stage has something to learn, and each stage is not very interactive or coupled with the last one. The first stage, mainly from the grammar to learn. In the second stage, I began to learn from the database. The third stage, from the network development aspects of learning. The fourth stage, mainly from the ASP.NET aspects to learn. In the fifth stage, I began to focus on learning with mobile and MVC.

The figure above is an overview, for reference only. There’s a lot to learn. It is suggested that you should start from THE B/S or C/S direction according to work needs and gradually carry out systematic learning. Of course, the above section of this article already provides an introduction to some of the books in the picture, but space is limited so I’ll stop there. If there is anything you need to know, please leave me a message, and I will elaborate on the relevant content.

2. JAVA Learning Roadmap

  

Compared to the C# learning roadmap, we can see from the figure above that learning JAVA requires time and patience. The first stage, mainly from the grammar. Whether JAVA SE or JAVA EE. The second stage, from the database to start learning. In the third stage, start with web programming. The fourth stage, also from the network programming aspects of learning. The fifth phase is learning from mobile development. The sixth stage mainly focuses on learning the internal development of the enterprise.

The JAVA learning route is similar to the C# learning route because the syntax is based on C++. So, there is a common ground in learning. However, JAVA requires a lot more learning and coding than C#. As a result, JAVA takes up more programming time, and the project manager needs to be aware of how to divide function points according to different programming languages, and how to manage the project’s time.

X. Standard definition

Here refers to the standard definition of the entire industry field, such as HTML language grammar, semantic definition, etc., in the article “IT practitioner learning planning – learners series of articles” belong to the stage of the state of the thinker, in the entire learning planning field is the highest level. This standard is the definition of description by various organizations composed of many elites. In fact, in the project team, the technical manager needs the coding specification for the project language, and the architect’s architecture design for the project is also a standard definition, but this definition is relative to the project, equivalent to the subclass library of the whole domain standard. The following is provided to the web site of the organization that defines the standards, so that you can get some understanding of their work and the standards in the field as a whole.

This article mainly starts with the four stages defined in the article “Learning Planning for IT Practitioners – The beginning of the Learner Series”, and describes the content needed to learn at each stage from the shallow to the deep. In this paper, the author elaborates the technical route of IT software personnel, among which the books to be learned are also available for download, hoping to be helpful to you (this paper mainly describes the contents of B/S and C/S, and the description of mobile terminal is not very much, please forgive me). This article is a master of the “IT Software People Learning Series”, and will continue to describe the “IT Software People Learning Series”, which is actually an extended description of this article. This article in the above explanation process, what do not understand the place, welcome to criticize and correct.

This article is only for those who are struggling in the technology of IT software personnel, but also hope that you can systematically study, improve their ability level, but also improve their market competitiveness.