Introduction: Recently, the famous technical book publisher Packt based on the work experience of 8,000 developers and technical experts, and finally released the 2018 Developer Skills Enhancement Report, which aims to track the use of tools by developers and the latest skill trends, Make sure that developers make the right learning choices.
This skills enhancement report starts with four major aspects of APP development, WEB development, security and system management, data science, and a glimpse into the most popular tools of the 2018 developer and the ability to get a higher salary.
App development: Java sits on the Overlord, IOS app development is more highly paid
1. Programming language: Python favored by high-paying programmers, Java in mobile development
Since 2018, Java, Java, and Python have been vying for the first place in the programming language world. However, the Overlord is still the Overlord, unparalleled, Java still occupies the top, according to reports, 40% of developers use Java for APP development. Java and Python Lesser, Java accounted for 36.85%,python accounted for 36.47%, the difference between the two is less than 1%, the popularity is pitches.
In addition, the programming language for APP development is Top 10, plus C #, SQL, C + +, C, PHP, Swift, Go.
According to the survey, Python is favored by high-income APP programmers, C # for enterprise and desktop applications, and for game development, so it is most popular among developers in this field, and Java is most popular with mobile developers.
For APP Development, we've seen a growing lack of support for C-based development. And only in desktop developers and game scripting people, C # still occupies the top spot, which means that more developers are experimenting with new ways to build browsers and mobile apps.
2. Mobile Development tools: Android Studio is a shoo-in
Android Studio is the leading tool in the development of mobile devices (39%), which uses more than one more than Xcode (16%). Overall, the number of Android developers is much larger than IOS.
However, 50% of developers using the Xcode,ios SDK or MacOS are paid $70000 or higher, so they want to earn more in mobile development, and iOS skills seem to be easier to achieve.
3. Game development tools: Unity Super Unreal, become the game development of choice engine
For all developers, Unity is the tool of choice for game development. According to the survey report, 26% of respondents use Unity, the second most popular game development engine of the same category is Unreal, accounting for 11%.
4. Enterprise and desktop application development tools
. NET, Visual Studio, and Java EE are undoubtedly the top three for enterprise and desktop application development tools.
5. MySQL becomes the most popular database
Mysql,sql Server and SQLite are the most commonly used databases.
6. Skill Enhancement Direction
Machine learning: Over the past year, with the baptism of data science, artificial intelligence and other fields, machine learning technology has become the next important part of APP developers ' learning. The goal of integrating algorithmic intelligence into apps is challenging and closely related to the many features of app development, such as conversational UIs. Based on this, respondents also listed TensorFlow and deep learning as the new skills they are learning, which means that APP developers are learning some of the most complex and powerful machine learning tools and technologies.
Python: If an App developer is delving into machine learning technology, it is learning with Python. Because of its adaptability, and the ability to build anything from machine learning algorithms to GUIs, 2018 Python is becoming a well-deserved choice for developers. This is also the language favored by high-income App developers.
Web technology: Today's gap between APP development and web development is fading. such as React Native proves that the experience of combining the usability of a native app with the interactivity of a WEB application is more powerful than ever. Similarly, the relationship between the back end and the front end is changing. As microservices and server-free architectures become the norm, WEB developers and APP developers begin to share very similar toolchain.
Blockchain: According to this year's survey, we have found that many app developers are transforming the blockchain, which is one of the areas that app developers need to focus on. While it remains to be seen whether the blockchain has an impact on mainstream apps such as e-commerce, in the near future, more segments of the blockchain will become more pronounced.
Kotlin: Born in 2011, but only recently began to really attract the special favor of engineers. Google announced in 2017 that Kotlin was fully supported in Android Studio 3.0, making it one of the Android development languages. It is expected that by the end of this year, Kotlin will compete fiercely with Java.
Rust: It's been a while, but Mozilla set up a team to continue development last year. They wanted to position rust as a key language--wasm-bindgen the front and back of the connection, making rust and Java interoperable.
Web development: Angular, React, Vue pitches
As more and more applications migrate to browsers and the cloud, websites become more complex and web development is a priority for businesses. So, what do developers need to know to stay in the realm of WEB development? Who wins the battle for the top Java framework? Does the developer still use the Java language?
When asked, nearly 2000 respondents said they were working on WEB development.
1. Programming language: Java is still the WEB's key language
Surprisingly, Java is still a key language for the Web. But after Html/css's third and fourth-place scramble, Python lost 3% of its difference to PHP.
However, what kind of programming language can the WEB developer learn to get a higher salary? The following list of most popular programming languages does not mean that developers are paid. It is reported that WEB developers earning more than $70,000 are more likely to use C # (37%), Java (32%), and Type (29%).
2. Who won the most of the Java framework?
40% of developers say they often use Angular, compared with 25% of developers using Vue with react,20% developers. But React's usage is growing day in and day out, especially among highly paid Web developers who are more likely to become React users.
Interestingly, when asked "who should win the top-end tool?" ", the developer's support rate is almost flat. Angular and React supporters of the ratio of less than 1%,vue also received 20% of praise.
In back-end development, Node is still the developer's favorite tool. However, the second-largest ASP. NET Core usage is growing rapidly, with 25% of respondents currently using them.
When researching the tools favored by the most-paid WEB developers, the popularity of ASP. NET Core is further enhanced, and more than 35% of respondents often use it.
3. Skill Enhancement Direction
Machine learning: The fact that machine learning technology has entered the Web development arena is not surprising. As an IT practitioner, just looking at some popular websites to see personalized recommendations everywhere is shaping a better user experience. At the same time, as chat bots and conversational UIs rapidly rise as an important part of the digital experience, WEB developers must understand the technology as quickly as possible. In addition, the leading cloud platform has begun to build machine learning solutions for developers to build and deploy algorithms. Tensorflow.js, released earlier this year, also marks a simpler time to run a machine learning system on a browser.
React:react provides an easy way to create complex management and data-intensive apps. It is also very fast because the virtual DOM is one of React's USP. It can be said that React Native has consolidated the status of React as the authoritative front-end Java library, making it easy to build cross-platform.
Angular: It's a fully fledged framework, and it has more tool kits than React. And because it was created by Google, you can be confident that it always fits the needs of your WEB users.
Golang: It is a very efficient language that can address some of the pain points in modern web development, such as single-page Web applications and deployment on the cloud.
AWS:2018, the cloud has become mainstream, and the reason AWS is becoming more important to WEB developers starts with its transformation to the cloud. AWS is a cloud platform that is designed with continuous delivery and DevOps in mind.
GRAPHQL: At the end of this year, GRAPHQL as one of the most important tools of the 2018. We're not surprised that WEB developers are starting to focus on it and adopting it--facebook's data query language is helping shape the future of API design. As React's visibility continues to improve, GRAPHQL will be neatly integrated into the WEB development tool chain.
03 Security and System Management: Linux is the champion
Over the past year, the technology industry has experienced unprecedented malware attacks and data breaches, with strong network security and a better management system. But what tools are used by security and professional system personnel every day?
When asked, more than 1500 respondents said they were working on security and Systems management, such as system administrators, DEVOPS experts, security experts, IT support, background developers, and so on.
1. Programming language: Python is more secure
As the most commonly used scripting language in security and system Management, Python and Bash are ranked one or two. This is equally important for those involved in security and network and system management.
2. Top Security Tools
Wireshark and Nmap are the first choice for security tools. But less than 50% of respondents use Kali Linux, which is still the most important test tool in the security or system Professional library.
3. Top-level system administrators and virtualization tools
Unsurprisingly, the most common operating systems are Linux, Windowsos. However, as an important industry tool to quickly take advantage of is Docker. More than 45% of respondents said they used Docker regularly.
4. Skill Enhancement Direction
Machine Learning: For professional security personnel, machine learning has provided an effective way to identify vulnerabilities and security threats. For system administrators, machine learning may seem like a threat, but it will actually reshape the role. Yes, system administrators may need to improve their skills, but as the software infrastructure becomes more complex, it requires artificial intelligence to successfully manage its integration and maintenance.
Kubernetes: It conceived the future of containerization in the 2018. As Docker now endorses Kubernetes in containerization by providing support in the Enterprise Edition, it can be said that Kubernetes is the best of its kind in the container business. As containerization continues to evolve, Kubernetes will become increasingly important, and the level of control it provides in large-scale deployments is impressive.
Python: a versatile language. As a scripting language, it provides testers and DevOps engineers with a lot of control-to help them solve problems. With machine learning, Python will also play an important role in making it no longer an engineer from a specific background in data science.
AWS and the cloud: in cloud computing, Google, Microsoft, and Amazon are competing fiercely. In contrast, however, AWS seems to be the cloud solution that many people choose to do. It remains to be seen whether it can maintain its visibility-as companies and engineers look for more customized cloud platforms, we may begin to see hybrid cloud solutions stand out.
Ansible:ansible is probably the most authoritative configuration management tool. Ansible's rise in the past few years has been largely attributed to its automation capabilities. And with the constant time pressure on engineers and system administrators, automation becomes the necessary requirement.
04 Data Science: Python reverse attack R with up to 77% utilization
2018, will data analytics invade every aspect of the IT world?
In the Skill up data survey, apps and Web developers talked about the importance of machine learning and other top-notch data technologies for their future success. So what are the programming languages used for data? What are the libraries and tools commonly used by data analysts? What is the most concern of data analysts in this process?
1. First language of data science--python
On the whole, Python has become the first language of data science. Compared to its traditional competitor, R,python has a usage rate of 77%, which is twice times more than R. Python's ease-of-use, powerful tools and libraries, and the fact that it can be used quickly outside of the data domain make it almost a must-have programming language skill for every developer in 2018.
Surprisingly, Java is more common in data science than Java. The root cause is that as the demand for building web-accessible business projects grows, more and more data science experts need to master Web technologies.
2. Libraries, tools, frameworks
Aside from the traditional Excel, eight of the ten most commonly used data tools are derived from Python. This is one of the key advantages that led to Python's rise.
3. Skill Enhancement Direction
TensorFlow, deep Learning and machine learning: Further advancing machine learning algorithms will be one of the major challenges facing every data scientist in the coming year and beyond. For some people, this means delving into incredibly complex AI systems. For others, especially those starting with data analysis, familiarity with deep learning through TensorFlow is an important step in deep learning.
Blockchain: Data experts are the organizations most likely to see blockchain as revolutionary. This is justified, especially in the case of 2018 of data anxiety. Data is more secure through blockchain, and distributed ledger allows data science experts to better understand the source of data and the time it takes to collect it. This is good news from an analysis and trust point of view.
Cloud: If today's software infrastructure is cloud-based, the outlook for Data science experts will be limitless. Not only does the cloud change the way data is stored, it also makes it easier for analysts and scientists to access data, and some cloud solutions are beginning to have machine learning capabilities. This eliminates some of the challenges faced by data analysts and, most importantly, saves a lot of time.
Spark: The skill boost attributed to spark is based on its two key factors-scale and speed. No other data platform allows developers to process large amounts of data at very fast speeds.
05 Summary
According to the 2018 Developer Skills Enhancement Report Overall, Java is dominant in programming languages, but the Kotlin development trend supported by Google is not to be underestimated. At the same time, Python is one of the most popular stars in the world, and it is an essential skill in APP development, WEB development, security and Systems management, and data science.
Finally, with the continuous upgrading of advanced AI assistants such as Google Duplex chat bots and the widespread use of machine learning technologies, perhaps we are on the verge of another real technological revolution.