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.
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.
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.”
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 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.