In Packt’s “Skill Up: Developer Talk” report, software engineers, web developers and other industry leaders shared their thoughts on the ever-evolving tech landscape and how developers can stay relevant in 2017.
The report itself covers topics ranging from security and mobile development, web development and programming, game development, and data management. Since technology and software are rapidly changing, Packt wanted to look at the talent behind today’s applications and algorithms to learn what real-world developers think about the industry, according to the report.
(Related: StackShare’s top developer tools from 2016)
Here’s what some developers have to say about 2017, along with their suggestions on what skills and technology to learn along the way.
What should web developers focus on in 2017?
In 2016, web developers saw two new standards driving front-end success, according to the report: Angular 2 and React. Packt’s developer survey reported that 50% of developers said they migrated from AngularJS to Angular 2, or they were already in the process of migrating. Does this mean developers should stay inside their current frameworks, or is it worth it to migrate to Angular 2?
Matt Frisbie, a Google software engineer, said that it really depends on the developer and his or her needs. However, Angular 2 brings performance, mobile friendliness, and reactive patterns and architecture to the table, and someone looking to build a scalable platform would definitely want to consider Angular 2.
As for other tools, he recommended web developers learn ECMAScript 6 in 2017, and he mentioned TypeScript as another technology to consider. React also has a “great foothold,” and he has noticed an increase in demand for React developers.
“If you are looking at getting another notch on your tool belt, learning React may be a good choice,” said Frisbie. “I suggest taking a look at Isomorphic JavaScript, which renders the JavaScript on both the client and server. It provides several advantages over how things were done ‘traditionally.’ ”
When it comes to mobile, flexibility and fluidity are key
As more organizations realize how essential good mobile apps are, developers will have to consider what it takes to be the “best” mobile developer in 2017, according to the report.
Keith Elliott, senior application architect for financial technology startup GittieLabs, said that the three top tools he uses when developing are Android Studio, Sketch and Xcode 8. Xcode 8 is a standard that gets better each year, he said, and its code signing improvements are a big time saver.
While there are a variety of development tools to consider, there are also some limitations. Elliott said prior to Xcode 7 for iOS apps, Device profile and code signing was a huge pain.” Often he had to have multiple development teams handle various environments, which was just one way to handle the issue.
“Switching between teams and then configuring the profiles and code signing for the main app and our app extensions was error-prone in Xcode 7,” said Elliott. “I’m hopeful that with Xcode 8’s automatic managing of code signing behavior, things will get easier to deal with going forward.”
Elliott offered some tips for new developers, like how they should take time to understand the view life cycles of the platforms in which they are developing.
“You need to understand how you can push pixels to the screen, when they will show and when they will disappear,” he said. “The view life cycles on iOS and Android each give the developer functional hooks that the developer can use to set up their UIs and pre-fetch required assets or perform expensive operations at times that minimize the effects on their users.”
Programmers will become more valuable
JavaScript and Python made it on the list of top programming languages used by the company’s 2016 Skill Up respondents. According to Steven F. Lott, a longtime programmer and contract software developer, Python will be central in creating foundational technologies, but Java, JavaScript and Objective-C will be used to build applications for the web and mobile devices. Other applications will work on desktops, and developers tend to build these applications with Objective-C or Visual C#.
“The topology considerations—for example, authentication, authorization, bandwidth, resiliency—will continue to grow in importance,” said Lott. “The use of SSL and the related topics of creating, maintaining, and confirming the certificates that bind systems together will grow in importance.”
Lott also said that “smart programmers” should have skills like autodidactism, inquisitiveness and perseverance. Programmers should actively gain new skills and explore new technologies or problem domains in depth, he said.
“Since we’re always learning about the technology or the problem domain, it’s essential to avoid superficial answers and uncover the underlying patterns and structures,” said Lott. “Too many programmers start with assumptions which are false, and create bad or unworkable solutions because the lacked the tenacity to create a deeper, more enduring understanding.”