DEV Community

Cover image for What is your best skill as a developer?

What is your best skill as a developer?

Ben Halpern on March 18, 2022

Whether it is a specific enough technical expertise, or just part of the craft you do well?

Collapse
 
bugmagnet profile image
Bruce Axtens • Edited

Creating problems. Sure, I could say that problem solving is my best skill (and it probably is), but the fact is I also create problems by developing tech that then needs to be maintained, fine-tuned, updated, rewritten, replaced, re-thought. There are a few thousand lines of C# and JavaScript processing sales leads for two car-sales companies. I listened, thought, developed but now I'm stuck with a fairly constant regime of maintain, fine-tune, update that I can't get away from. So maybe my best skills as a developer are dogged persistence and faithfulness to the product.

Collapse
 
marissab profile image
Marissa B

Starts out with "creating problems" and finishes with "dogged persistence". Add "pivoting while marketing self" to your skills list too :P

I feel that though. You create a cool utility or tool and now it's your child.

Collapse
 
atulcodex profile image
🚩 Atul Prajapati 🇮🇳

nice

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀

Whats that old saying, Gotta break a few million itterations to make a program

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀

My ability to relax and stop working

Collapse
 
globalkonvict profile image
Sarthak Dwivedi • Edited

Well, I would often start rocking on the chair relaxing, thinking solutions without putting any pressure or let fear of completing things on time take over. This worked really well in most cases but did disturbed others and few asked what are you so relaxed about? Why are you rocking and spinning on the the chair for?

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀

Honestly, get out doors that's the best way to solve problems, I used to do my best work on the way home

Thread Thread
 
globalkonvict profile image
Sarthak Dwivedi

I will try it, I guess other than laziness there's no excuse to just take a short walk. Some problem requires attending to and some are solved in mind, with that distinction I would say I could definitely use going for a short walk for problem solved using mind alone.

Collapse
 
atulcodex profile image
🚩 Atul Prajapati 🇮🇳

You are the real human, peace

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀

And to you Atul

Thread Thread
 
atulcodex profile image
🚩 Atul Prajapati 🇮🇳

ummm, I like to make responsive designs and till now I have created lots of plan for different software and tools to help our humanity.

Collapse
 
pandademic profile image
Pandademic

Hahahahaha ! The most important thing of all!

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀

I used to want to be the very best frontend developer, like a Pokémon trainer. I had to catch them all, but now I just want to chill and enjoy hobbies, play with my son and be a smarter developer not work harder

Collapse
 
sherrydays profile image
Sherry Day

Writing documentation is probably the thing that stands out above some of my other skills.

Collapse
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️ • Edited

meanwhile, the documentation I write is just 🤢🤮

Collapse
 
valenciawhite profile image
Valencia White

I would love to read a blog post by you going over better documentation skills as a new developer! It doesn't get talked about enough and there seems to be no clear cut way of how one should go about writing it. ✨

Collapse
 
jeremyf profile image
Jeremy Friesen

That's something I hadn't considered, but am now considering.

Perhaps there's something to glean from my posts tagged with documentation? takeonrules.com/tags/documentation/

Thread Thread
 
valenciawhite profile image
Valencia White

omgoodness what a collection! Thank you!

Thread Thread
 
jeremyf profile image
Jeremy Friesen

Thank you for prompting me.

Collapse
 
jonrandy profile image
Jon Randy 🎖️

Not estimating, and ignoring deadlines

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀

Some deadlines go away on thier own and some things cannot be known :) devils advocate here

Collapse
 
094459 profile image
Ricardo Sueiras

I think listening and knowing the right questions to ask (so we can get to a better problem definition) is probably my super power. I would probably add documentation/blogging and simplifying the complex as probably other things I think I am pretty good at.

Collapse
 
ben profile image
Ben Halpern

I think depending on the situation and opportunity at hand, my best skills are: Solving problems from scratch, i.e. greenfield projects.

But then at the other end of the spectrum, I fancy myself a really good debugger.

Collapse
 
cerchie profile image
Lucia Cerchie

I'd love to see a post from you about your top considerations for greenfield projects!

Collapse
 
harsvnc profile image
Hrn Svncハルン

Abstracting complex things and explaining it the easy way.
Also adapting to change and new technologies I guess.

Collapse
 
booleanhunter profile image
Ashwin Hariharan

My best skill would be to break down hard-to-understand technical concepts in a way that makes sense for junior developers & even non-tech folks.

Probably the reason why I could transition from a pure software engineering role to DevRel! 😎

Collapse
 
pcmagas profile image
Dimitrios Desyllas

Understanding Dinosaurs and combing spaghetti. My life since 2019.

Collapse
 
dvddpl profile image
Davide de Paolis

Wow. Such nice way of describing it. Love that.

Collapse
 
jeromehardaway profile image
Jerome Hardaway

Empathy.

Collapse
 
foresthoffman profile image
Forest Hoffman

This. 100%.

I was looking for this exact comment, and thought I'd have to make it. I'm pleasantly surprised!

Collapse
 
kquirapas profile image
Kristian Quirapas

Self-learning and self-seeking

This skill helped me a lot with fear. I don't mind getting down and dirty with new codebases because I just know that whatever happens, I'll always be able to find the answers I need even if it takes a bit of time.

Collapse
 
polterguy profile image
Thomas Hansen

Forget about algorithms and data structures for one. I've been a software developer for 20+ years professionally, and I started coding when I was 9, implying I've got 39 years of software development experience in total - And the last time I needed "an algorithm" was in 2001 (partially a joke, but still seriously intended).

For instance, who cares about how to implement QuickSort, I've got List<t>.Sort, and why bother about binary tree structures when 99% of your work persists data in PostgreSQL (or something) ...?

Sure, understanding the theory behind algorithms and data structures is important, but vanishingly less and less important due to better abstractions, the same way most developers hardly know any CISC x86 assembly code these days.

My most valuable skill as a developer is composition, architecture and design. It's what makes my code readable, both by others, and by my self (6 months down the road). If you want to sum it up in one word, I'd choose "beauty" ...

Collapse
 
leob profile image
leob

Communication and analysis - don't jump into coding right away, understand the problem first, ask questions!

Collapse
 
cindy_bahl profile image
Cindy Bahl

Skill? Creativity. Whether working on an original program. (And, we all know that coding a new program is often a thing of art. : )
Or troubleshooting and updating an existing program that's out there by another coder.
It comes down to creativity. Ability to think out of the box. Be flexible. This leads me back to keeping a creative mindset to be successful.

Collapse
 
globalkonvict profile image
Sarthak Dwivedi

Resourcefulness, Quick Learning & Catching on to new code base quickly by fearless experimentation, let the git worry about things unrelated.

No harm will come as long as I dont create a exprimentation branch and start creating PR from that to be merged to dev, because then I would be in trouble.

Collapse
 
cerchie profile image
Lucia Cerchie

Communication.

Understanding that the same word, in the same context, but used by a different person, can mean completely different things.

Understanding that I may not understand the full context of a technical tool or a person's perspective, and knowing what questions to ask to get there (sometimes that very question is, "What are the best questions to ask?").

Understanding that sometimes concepts are not complex, they're just hidden behind a bunch of domain-specific vocabulary. More than that, I make these kinds of concepts more accessible to others.

This is how I got into tech without a CS degree, and this is how I'll stay in it.

Collapse
 
alanmarinho1 profile image
Alan Marinho

I'm RPA developer, using Python were standart language. I build automation and inovation for a enterprise where I work, using various librarys/frameworks in Python: Sellenium, Pandas, Mathplotlib, Tabula, etc. I make improvements in the company's internal processes, makes the boss much richer hahahaha :')

Collapse
 
dvddpl profile image
Davide de Paolis • Edited

the ability of Zooming In and Out, meaning:

  • reduce the scope and focus on details when it comes to implement tiny simple effective methods with single responsibility (and all other solid principles) and be able to unit test and debug "surgically".
  • move away from those lines of code and get an eagle eye view, understand the big picture, the context where your piece of code works.

and while zooming in and out, be creative and bold and challenge the status quo, pointing out flaws and suggesting solutions or improvements

too often we put ourselves in a cage and implement crazy complicated solutions only because we did not ask the developer close to us (working on same feature but different subtask) to change the return value of the method they are implementing...

Collapse
 
mellen profile image
Matt Ellen • Edited

I think adapatability.

I started my professional career doing .NET in financial services, now I'm writing realtime OS code for medical devices, and I've done a bunch of stuff in between. I'll pick up whatever and run with it.

Collapse
 
lexlohr profile image
Alex Lohr

Intuitive problem solving. Makes it harder to explain how I arrive at a solution, but is otherwise a helpful skill.

Collapse
 
dinerdas profile image
Diner Das

Not a hard skill, but I feel like I'm good at over-communicating with my team. It's about consistency.

Collapse
 
skydevht profile image
Holy-Elie Scaïde

I would say my visualization skills. Solving problems is always a visual process and I can quickly find analogies in the real world and extract patterns for a solution there. It may be a naive or inefficient one, but I read a lot and I have a lot of schemas to rely on so I can optimize it.

Collapse
 
afozbek profile image
Abdullah Furkan Özbek • Edited

I just take a solid responsibility what I am going to create for example if the issue I am going to implement requires some expertise I will push towards to obtain general knowledge and during that time I will basically forgot everything else on my life.

This actually can give positive effects on my development because stress is actually helps you to obtain that goal but on the other side it can also effect me psychologically since I can forgot taking care of myself or others in my family.

Thats my sickness I guess.

Collapse
 
jeremyf profile image
Jeremy Friesen

By far, it's my dedication to writing. I've found that the more I write, the more I learn. And from that corpus of knowledge, novel connections emerge. I think I "see" more things now than I did before I wrote with such devotion.

Collapse
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️

I'm kinda passable at creating solutions, but once I have them, I'm really good at making up a corresponding problem.

Jokes aside, I'd say I'm kind of okay-ish at building abstractions with heavy metaprogramming.

Collapse
 
maxart2501 profile image
Massimo Artizzu

Being goot at math.
I actually graduated in Mathematics and became a developer by chance. But when it comes to those seldom problems that deal with abstraction, generalization, visualization and figuring out how things work from a bunch of data I feel like I have an edge over my colleagues.
It's not something that's always necessary, but it's good to have in a team, and I think it helped me improving some other developer skills.

Collapse
 
jeremyf profile image
Jeremy Friesen

This is a great articulation of math.

I too have a degree in math, yet I rarely use algebra or calculus for programming. Instead its all about abstractions (and sets).

Collapse
 
dvddpl profile image
Davide de Paolis

Awesome comment. Couldn't agree more.

 
globalkonvict profile image
Sarthak Dwivedi

Thank you for sharing. I can relate because I've seen people in your situation and also found myself in similar situations. Now looking at the silver lining you quickly landed another job so its all great.

Collapse
 
auroratide profile image
Timothy Foster

Analogizing technical topics. Besides creating a common ground for everyone in the room, it's occasionally fun and colorful to talk about how Kirk delivers mail to Carol's army of clones (aka Kafka and consumer groups).

Collapse
 
epigene profile image
Augusts Bautra

Over the last couple of years it's become clear to me that most problems in dev come not from bugs in code, but from flawed/missing conceptualisation of business/problem.
As such, I've focused hard on studying software architecture and understanding business. My go-to tools these days are Domain-Driven Design (DDD) - Event Storming being a powertool for mapping out the Domain, and Clean Architecture to tame the popular abuses of frameworks such as Rails.

Collapse
 
dylanlacey profile image
Dylan Lacey

Mine is some combination of "Is willing to poke at things he doesn't know about until he fixes them" and "has a lot of empathy for users".

TBH I think I'm better at the former, but I think the latter is more important. Having user empathy helps guide you in making decisions, it helps make boring bits more engaging, and it makes it so much better when you fix a bug and a user is happy about it.

Collapse
 
antomor profile image
Antonio Morrone
  • Communication: understanding what you have to do and explain your work to other people in a crystal-clear way;
  • Curiosity: trying to understand how something works (or doesn't work), to find the best way to solve it (instead of just solving it);
Collapse
 
superloika profile image
Kaloy

I don't have one yet. I even started out way back 2015 and it seems like I always lost myself all the time. It's also way harder to keep being updated with the latest techs especially living in a remote place where internet connection is a pain in the ass.

Collapse
 
mrpaulishaili profile image
Paul C. Ishaili

Critical thinking, lean coding

Collapse
 
atulcodex profile image
🚩 Atul Prajapati 🇮🇳

Responsive website design

Collapse
 
psypher1 profile image
James 'Dante' Midzi

I ask questions, a lot of questions

Collapse
 
briang123 profile image
Brian Gaines

Knowing when to ask for help and not feeling nervous to do so.

Collapse
 
valenciawhite profile image
Valencia White

Beautifying and organizing code and documentation are my favorite sub-task in developing!

Collapse
 
chrisvasqm profile image
Christian Vasquez

This should be part of a "Top 7 Comments of the Week" list 🤝

Collapse
 
matthutchison profile image
Matt Hutchison

Debugging, fixing, and optimizing existing code.

I am far, far better at finding and fixing the bug, optimizing a nonperformant application or piece of one, or tackling a pile of tangled code spaghetti and turning it into a saucy code tapestry than I am at building even the simplest of applications in the greenfield and from scratch.

Collapse
 
juanvqz profile image
Juan Vasquez

Perseverance 🚀

Collapse
 
dionarodrigues profile image
Diona Rodrigues

I would say I'm good at problem solving as well, specially when it's directly related to user interface. My strng UX and UI skills contributed a lot for my carreer as front-end developer.

Collapse
 
lbosquett profile image
Leo

debug and find the problems about a bug

Collapse
 
prafulla-codes profile image
Prafulla Raichurkar

Communication

Collapse
 
webjoyable profile image
webjoyable

Definitely persistence

Collapse
 
davidyaonz profile image
David Yao

Messing up others' work and come up with a better one, sometimes got back a slap. 😂

Collapse
 
wagnerbraga profile image
Wagner Braga

Not sure if it is a skill but I'm just not attached to any way of doing something at all...

Collapse
 
leelush profile image
Lee

Bugs

Collapse
 
gloriamaldonado profile image
Gloria Maldonado ✪

👍👍👍

Collapse
 
highcenburg profile image
Vicente G. Reyes

Probably reading and understanding logs and tracebacks.

Collapse
 
scottbeeker profile image
Scott Beeker

The ability to think about the end user and my team before speaking or taking action. "Walk a mile in there shoes then walk one back to create the best user experience."

Collapse
 
majidnope profile image
M.Majid

Problem solving skills and logic mainly creative mind

Collapse
 
reaperz0v profile image
Sayf

To make my way rather than to find one when attempting to solve a problem

Collapse
 
hophiducanh profile image
Ho Anh

Thinking and write thought as fluent as code.

Collapse
 
spoder profile image
Spoder

Creativity, I've been told I can be really creative, and I sort of agree, any time I'm just sitting down, I'll be thinking of crazy new ideas that I could make real.

Collapse
 
dorianmaliszewski profile image
Dorian Maliszewski

Code reviews, Help others and ask questions 😂

Collapse
 
itsjzt profile image
Saurabh Sharma • Edited

Being calm in high pressure situations ✌️

Althrought I'm not as good as I think

Collapse
 
ctrleffive profile image
Chandu J S

Problem solving. I really like to work on complex/challenging problems.

Collapse
 
deadpool2022 profile image
CoolGuy

Reading Articles

Collapse
 
grahamthedev profile image
GrahamTheDev

Listening and then asking questions to find out what clients / people actually want.

Collapse
 
pcmagas profile image
Dimitrios Desyllas

Or just place code that spies them and tell you what client wants.

Collapse
 
cerchie profile image
Lucia Cerchie

Go Anjan!

Collapse
 
chrisvasqm profile image
Christian Vasquez

Sharing whatever cool thing I learn with the team

Collapse
 
hpez profile image
Hassan Pezeshk

Asking the right questions.

Collapse
 
raibtoffoletto profile image
Raí B. Toffoletto

My love for learning! In development there is always something new to keep am eye on or to better yourself somehow!

Collapse
 
levendelwd profile image
Levende

Learning fast as soft skill and Typescript

Collapse
 
fennecdjay profile image
Jérémie Astor

not sure that's really a skill but I'm perfectly honest when I don't know smth or when the solution is unclear at some point.

Collapse
 
rawalprashant profile image
Prashant Raval

I am in best of my learning skill

Collapse
 
otumianempire profile image
Michael Otu

Sub- tasking.. I always try to focus on how to reduce a task to about a unit time...

Collapse
 
globalkonvict profile image
Sarthak Dwivedi

Yup, I aggree did experince something similar and I did not take it, not well atleast. LOL. Wanna share a few experinces... don't need to go into details.

Collapse
 
bevis profile image
Bevis

Pretend to be a non-technical user and see the product from his point of view

Collapse
 
blackjackmc profile image
BlackJackMC

Creating more problems instead of fixing them

Collapse
 
diffo profile image
diff_am_aldev

Improvisation

Collapse
 
gauravvishwakarma profile image
Gaurav Vishwakarma

Problem solving is the biggest one.

Collapse
 
brokylabs profile image
Catur Hidayat

I think Watching Tutorial :D .Just kidding-

Collapse
 
rubinelezi profile image
Rubin Elezi

Debugging

Collapse
 
audreyteles profile image
Audrey Teles dos Santos

Solve problems, I dont know how explain, but I have creative ideas to solve problems haha (sometimes a kludge '-' )

Collapse
 
vasilyshelkov profile image
Vasily Shelkov • Edited

Collaborating with different kinds of developers, we're in the people business where our main tool is technology, not the way around :)

Collapse
 
lucaboriani profile image
Luca

Guess having learnt how to learn.
Uh, no, it's having learnt how to say "no"

Collapse
 
xseman profile image
Filip

Finding information really fast, but carefully filtered.