Skills Developers Need For Web Apps

DZone 's Guide to

Skills Developers Need For Web Apps

Agility, knowledge of the fundamentals, and knowing themselves.

· Web Dev Zone ·
Free Resource

To gather insights on the state of web application development today, we spoke to 13 executives from 12 companies developing web applications or providing web application development tools to their clients.

Specifically, we spoke to:

Samer Fallouh, Vice President, Engineering and Andrew Turner, Senior Solution Engineer, Dialexa | Anders Wallgren, CTO, ElectricCloud | Brent Sanders, CEO, Fulton Works | Charles Kendrick, CTO, Isomorphic Software | Ilya Pupko, V.P. of Product Management, Jitterbit | Faisal Memom, Product Marketing, NGINX | Bruno Correa, IT Coordinator, Ranstad Brazil | Craig Gering, Vice President, Engineering, Sencha | Joachim Wester, Founder, Starcounter | Michael Morris, CEO, Topcoder | Greg Law, CEO, Undo | Alexey Aylarov, CEO, Voximplant

When we asked them, "What skills do developers need to develop effective web applications?," here's what they told us:

  • Know the components of the application and the database frameworks. Understand the glue code but don’t get involved with it. Understand how to write apps that are bold. Leverage web software. Google is good at balancing applications driven by URLs and statelessness of the web while maintaining real-time communications.
  • There’s been a shift from Java to JavaScript. From great frameworks, behavior-driven design, and test-driven design with large apps that were easy to maintain and onboard dropping documentation into code. Now JavaScript has large sophisticated frameworks based on JavaScript applications requiring developers to become more sophisticated in how they develop applications making them easier to deliver and maintain. We’ve come a long way as developers are more sophisticated learning new skills with larger and more sophisticated applications. Reactive is a big design pattern that’s come into the space. More sophisticated and on par with desktop and mobile apps.
  • We used to have a problem with design paralysis. Now we’ve swung too much the other way with people just diving in without thinking through what’s needed. Allocate time to determine what’s needed.
  • I think the main skill is really a desire to learn new things, and to do so efficiently. Right now our industry is in constant change, so the best a developer can do is to follow the industry’s evolution until everything settles down a bit. I’d say the second must-have skill is to write maintainable code. Writing code is like writing a book: it’s challenging to write a book that will be easy to read and easy to understand.
  • Specialization. Know what you’re not good at. There is the opportunity for anyone in software development to focus on what they are good at and what they’re passionate about. Don’t be afraid to say, “no, I’m not the best fit for this.” Focus on your strengths.
  • Problem solving orientation. They should move from the “tech” way of thinking and doing software, to more of a ”business value” orientation and adoption way of thinking and developing.
  • Programming, it’s not just a design and export assets anymore. Attention to details of course. Good eye for design. Agility and willingness to explore and research new tools. Education, education, education. Modern JavaScript (not referring to jQuery but instead ES6, etc.). Front end developers on discipline, now a days real programming understand how MVC works. While there’s still an aspect of generalist but more in the form of a full-stack developer. True frontend developers have a deep understanding of modern frameworks.
  • Core fundamentals haven’t changed. Attitude of the developers needs to scale with deployment and DevOps to bridge the gap. Developers become responsible for operation of the code they develop.
  • Be consistent. Understand the toolset. Be able to switch between languages since the web is constantly evolving. Modern languages are evolving and adding syntactic sugar. Have fluency in other languages. Take a month a year to learn a new language. Understand HTTP. Know how every part works at its core. You can lean on libraries and frameworks but you need to understand the fundamentals.
  • Proper understanding of internet, UX, and basics of security.
  • It’s a challenge with how fast things are moving. The “hot new thing” can be superseded very quickly. Stay agile. Apply filters to know what’s a “flash in the pan” versus what will be around for a while. Embrace new things as they become available and develop your intuition to know what to stick with.
  • Adaptability is key. Historically, there has been a lot of importance placed on knowing specific languages, frameworks, and platforms. However, the technical landscape continues to rapidly evolve and developers must learn to adapt. Great developers will freely abandon their own solutions when better ones are presented. Empathy is also a critical skill. The best developers don’t always have the strongest technical experience, but produce great work because they empathize with users, understand their desires, pain points, and motivations, and can honestly and objectively judge their own work to make sure they are meeting the needs of their users. Skilled developers who are passionate about UX are a rare breed. If you find one, hire them and don’t let them go!

What skills do you think are needed by developers to develop effective web applications?

career advice, job advice, web application development, web apps

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}