DEV Community

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

Posted on

What is your best skill as a developer?

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

Discussion (111)

Collapse
bugmagnet profile image
Bruce Axtens • Edited on

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 on

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
hannudaniel profile image
Hannu-Daniel Goiss

that's so important!

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
natescode profile image
Nathan Hedglin • Edited on

Not taking bullshit.

Shit roles down hill in software. I don't let bullshit politics or cocky non-technical management affect me.

It's really the soft skills that matter in the long run. Code is easy, people are difficult.

Collapse
dvddpl profile image
Davide de Paolis

Awesome comment. Couldn't agree more.

Collapse
hannudaniel profile image
Hannu-Daniel Goiss

i couldn't agree more! especially when shit goes down, bullshit politics always get in the way. best to stay away from that.

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
natescode profile image
Nathan Hedglin

I have too many stories. Worst was being fired during COVID while watching my twins daughters as a single father. The company was super toxic. Small and cliquey.

They fired me but their can-do-no-wrong senior developer broke production for 3 hours after pushing untested code.

I was fired because I couldn't do a week's worth of work with changing requirements, in two days. Monday and Tuesday was development, Wednesday was QA, Thursday deployment and Friday Sprint planning. Absolutely idiotic.

I quickly got another gig with a huge pay raise so it all ended up fine.

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

Thread Thread
natescode profile image
Nathan Hedglin

Yup. Benefit of being in high demand and always having money saved so no one can treat me like a slave.

Collapse
chrisvasqm profile image
Christian Vasquez

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

Collapse
natescode profile image
Nathan Hedglin

Thanks!

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
DarkWiiPlayer • Edited on

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 Author

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
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
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
dvddpl profile image
Davide de Paolis • Edited on

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 on

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
leob profile image
leob

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

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
geekstress 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
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
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
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 on

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
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
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
darkwiiplayer profile image
DarkWiiPlayer

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
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
mrpaulishaili profile image
Paul C. Ishaili

Critical thinking, lean coding

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
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
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
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
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
andrew1007 profile image
andrew1007 • Edited on

Code architecture and effective usage of design patterns. It's a domain of knowledge that is painfully overlooked in modern developers. Front end engineers keep chasing the "hot new thing".

But what's the point of using a new technology if you're going to keep making the same mistakes? The mistakes that run a code into the ground. If your angular codebase is crap, what makes you think your react codebase is going to come out any better? My fellow developers are constantly running into problems that have been solved 50 years ago.

This is my unpopular direction: I know only 2 languages and 2 frameworks. One for BE and another for FE. Then I spent the rest of my time learning and practicing system design, object oriented programming, functional programming, and design patterns. This has become a value that is unique to me on the team in every place I've worked at. I am the specialist on a technical level.

I don't care about how many different languages and technologies I can use to solve the same problem. I care about knowing how to do a really damn good job with one

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
valenciawhite profile image
Valencia White

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

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
lbosquett profile image
Leo

debug and find the problems about a bug

Collapse
pika1998 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
highcenburg profile image
Vicente Reyes

Probably reading and understanding logs and tracebacks.

Collapse
bijiabo profile image
Bijiabo

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

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
gloriamaldonado profile image
Gloria W. Maldonado

👍👍👍