DEV Community

Zac Heisey
Zac Heisey

Posted on • Originally published at Medium on

4 Non-Coding Skills Every Developer Needs

Napolean Dynamite skills
Napoleon’s got skills. Do you? Image via The Brandsmith Co.

There’s no doubt that if you want to be good (and employable) developer, you need to know how to write code. That’s should be pretty obvious - you wouldn’t hire a an auto mechanic who knew nothing about cars, right?

Besides writing clean code, however, there are other skills that separate good developers from great ones. This post from freeCodeCamp outlines some important skills for programmers to have that don’t involve writing code, but I wanted to add a few more of my own.

Googling Skills

Developers look stuff up online a lot. Even seasoned developers with years of experience spend a good chunk of their time searching for answers or information on the internet, whether in documentation, forums, or search engines.

Knowing how to search for something in order to find what you’re looking for is a critical skill that can help developers of all levels. Like most things in web development, your “Googling skills” will improve with experience, but there are a few things you can do to speed the process along and get to the right answer faster:

  • Prepend “mdn” to whatever it is you’re trying to look up. For example, if you want to know the best way to loop through items in an array, try doing a search for “mdn looping through array.” This will return a bunch of results from the MDN Web Docs, which is the go-to resource for all things web development. The MDN documentation might seem a little intimidating to beginner devs, but trust me - these docs will become an invaluable resource as you progress toward full-fledged programmer.
  • No matter what you search for, you’re almost guaranteed to be served up a result from Stack Overflow, which is the largest online community of developers. This is a good and bad thing. The good part is that you can benefit from the collective knowledge of millions of developers around the world. The bad part is you’ll have to wade through some irrelevant or ineffective solutions in order to find something that works for your use case.
  • Some developers talk trash about it, but I’ve always found W3Schools to a be a useful resource, especially as a means of decoding some of the more complex documentation found on MDN. I recommend playing around with the interactive examples that are included with most of the tutorials. They’re great for hammering home concepts in a hands-on way.

Planning Skills

Every project you work on as a developer should involve some level of planning in order to layout a roadmap for success. Even if you adjust course as you progress (and you almost certainly will), having the skills to carefully plan out an initial route helps make your life as a developer that much easier.

Planning doesn’t necessarily mean multiple iterations of wireframes and mockups before you start coding, either. It can be as simple as sketching out your ideas on paper, then spending some time thinking through how you might go about executing your plan with code.

Chris Ferdinandi, who runs Vanilla JS Academy, does just that. “Before I ever open a text editor or a browser, I plan my script out on paper. It helps me think big picture, and think through the logic of my code before I get bogged down in the specific methods and tactics I need to implement it.”

Vanilla JS script planning
Chris Ferdinandi plans out his scripts on paper before he writes a line of code.

Determination Skills

This one is important, especially for beginner devs struggling to grasp complex programming concepts. Make no mistake, leaning how to code is hard! To be a good developer, you’ll need strong determination skills to help you persevere through those rough spots (of which there will be plenty, trust me).

There are times when I spend hours, or even days, stuck on a problem that I just can’t crack. I look up possible solutions on Google, search MDN’s docs, read blog posts, test stuff, fail, ask colleagues, test their suggestions, fail again, walk away for a day or two, come back to the problem, test more stuff, fail, test, fail, test…

That is what becoming a web developer is all about. You need the determination to stick with project and work the pain points until you finally stumble upon the solution you’ve been looking for. That might take you 5 minutes, 5 hours, or 5 days. Doesn’t matter. What matters is that you know, no matter how long it takes, you’ll have the determination to eventually find the answer.

Business Skills

Business skills are extremely valuable, whether you’re a solo freelancer or part of a huge software development team. There are tons of amazing developers and engineers who write flawless code, but have no business acumen whatsoever. They aren’t able to think critically about the products or features they’re building, which means they can’t effectively communicate their ideas, concerns, etc. with marketers, managers, and stakeholders.

This is a huge missed opportunity for developers who could make themselves indispensable to their teams and employers. Building up a solid repertoire of business skills - communication, negotiation, networking, marketing & sales, leadership, financial understanding, customer service, etc. - to complement your programming skills will you put on the fast track to job security (and likely more $$$).

I’d argue that the true unicorns in the tech industry are not the fullstack devs or designer/developers, but rather people who can move effortlessly between writing code, crafting an internal email to team members, developing new promotional copy for an upcoming feature, and responding to customer inquiries. That, my friends, is a unicorn.

Thanks for reading! If you’re interested in learning more about the fundamentals of HTML, CSS, and JavaScript, follow my Medium publication, Web Dev Basics. Ready to write some code? Sweet! Sign up for course and learn the basics of web development.


Top comments (18)

Collapse
 
kyleljohnson profile image
Kyle Johnson

Developers do not NEED business skills. Are they helpful, yes but not a requirement. And why are people trying to turn developers into jacks of all trades? Soon you will all be taking business courses with that CS degree.

This is where my issue really lies - "There are tons of amazing developers and engineers who write flawless code, but have no business acumen whatsoever. They aren’t able to think critically about the products or features they’re building, which means they can’t effectively communicate their ideas, concerns, etc. with marketers, managers, and stakeholders.

This is a huge missed opportunity for developers who could make themselves indispensable to their teams and employers."

We are steadily downplaying the importance of developers. Developers in my mind are already indispensable and have no problem communicating their ideas to people that understand them.

Collapse
 
zac_heisey profile image
Zac Heisey • Edited

Hey Kyle,

Thanks for your response! Perhaps you're right - "NEED" might not be the best word to use. But I'd definitely argue that "SHOULD HAVE" is accurate in terms of business skills.

"We are steadily downplaying the importance of developers. Developers in my mind are already indispensable and have no problem communicating their ideas to people that understand them."

I'm certainly not trying to downplay the importance of developers. Rather, I believe that developers who ALSO have the skills I've outlined are arguably more important to a company or project than developers who don't have those skills. Additionally, I'd argue that developers who "have no problem communicating their ideas to people that understand them" bring much less value to the table than those who can communicate their ideas to people who don't understand them. That to me is what makes a developer truly indispensable.

Collapse
 
kyleljohnson profile image
Kyle Johnson

I agree with your point but my issue is developers being judged on skills that not related to their craft. After becoming a manager I stopped looking for developers to have good communication skills. It's unfair to them. If they do I wonder about their developer skills

Thread Thread
 
zac_heisey profile image
Zac Heisey

I don't agree, but I respect your opinion. I think it's possible (and desirable) for developers to have both good communication/business skills and solid technical skills. I appreciate the conversation Kyle - thanks for engaging!

Thread Thread
 
gary_woodfine profile image
Gary Woodfine • Edited

I strongly agree with Zac on this one.

I think it is a really poor representation and a totally incorrect stereotype, painting developers in social misfit poor communicators characterisation and this is somehow a good indicator of their coding ability!

Code after all, is nothing more than a communication tool. You're conveying complex logic to not only machines but also to other humans who will need to understand and maintain it. If you can't communicate effectively and have the ability to relay this information to others then you're quite simply not going to be an effective team member!

I strongly agree that developers should have an understanding of business, after all our primary goal in most businesses is to automate and drive efficiencies. Having an understanding of the Where, What, Why, When and How to automate specific business tasks is of primary importance to developers.

In most instances, the role of developers and software development teams is centralised around innovation, developing innovative solutions to business problems, Managing Projects, Budgets etc. These are all key business skills.

I have a degree in Economics and Business, yet I classify myself as a Developer because that is what I have primarily done for the past 20 years, prior to that I actually owned a successful business.

I currently have my own business, which primary task is too develop software applications, customers rely on me to provide innovative solutions to business problems, which I wouldn't be able to do if I didn't have an understanding of business.

In my opinion, effective communication skills are of primary importance in any business position, software development is of no exception whatsoever!

As a CTO, Manager or whatever I think you have a key responsibility to promote and nuture effective communication skills. Businesses thrive or fail on communication!

Thread Thread
 
zac_heisey profile image
Zac Heisey

Hey Gary, thanks so much for your thoughtful response! I especially love your point that "Code after all, is nothing more than a communication tool." Spot on.

Collapse
 
malroun1 profile image
Malik Gabroun

Hey Zac and Kyle,

I do agree with Zac about developers should having those skills. In some scenarios, you may have a point. However, how can a developer negotiate their salary, market their skills or pitch their idea/product if they can't pitch/communicate it to the other party.

Solid article Zac.

Collapse
 
kyleljohnson profile image
Kyle Johnson • Edited

"should" - No. "need" - helpful if you want to be more than a developer. We don't do this with any other occupation where we try and turn them into more than they want to be. Why can't developers just be developers? Steve Wozniak who started Apple with Steve Jobs just wanted to do the technical stuff in the background. He let Steve Jobs be the front person. Do you say Steve Wozniak should have had business skills? No. He did just fine without them.

There is another point I would like to make why I disagree. I teach CIS courses and a couple of times I had the pleasure of having students on the autism spectrum in my class. If you were hiring a developer they would not get a job for reasons I will not outline here but they would make good developers.

Thread Thread
 
malroun1 profile image
Malik Gabroun

Ok I agree, "should" perhaps wasn't the right word as developers don't specifically have to create the next Apple (business ideas), however developers do need to have the communication skills and a bit of business acumen to negotiate their salary/market their skills when needed, otherwise, more often than not will end up with a lower salary than they deserve.

Collapse
 
zac_heisey profile image
Zac Heisey

Great points Malik, and thanks for reading!

Collapse
 
cmohan profile image
Catherine Mohan

I second the project planning skills. I was in a project management role for a time and the skills I learned there have been insanely useful in every job since. It's such a rare set of skills too. It needs to be more widely taught.

Collapse
 
zac_heisey profile image
Zac Heisey

I agree, thanks for reading Cmohan!

Collapse
 
markincovington profile image
markincovington

I would add people skills to the list.

Collapse
 
agrothe profile image
Andrew Grothe • Edited

+1 to "people skills", however, I would argue that "people skills" are just good communication skills. In my mind, communication is more than being able to string together 3 coherent sentences :)

Reading non-verbal cues, giving non-verbal feedback, LISTENING, asking proper follow up questions are several skills (among others) that fall under "communication" skills. If you can even start to understand and use these you will find others will describe you as having "people skills".

I usually categorize all of this under "soft skills".

Collapse
 
zac_heisey profile image
Zac Heisey

+1,000 for LISTENING - thanks Andrew!

Collapse
 
zac_heisey profile image
Zac Heisey

🙌

Collapse
 
amolegbeaa profile image
Amolegbe Abdulazeez

These are all crucial skills. Business skill is a must have knowledge for everyone in fact. As a developer, if you ever plan on owning your own startup, then you must have business knowledge.

Collapse
 
zac_heisey profile image
Zac Heisey

Yep, totally agree!