DEV Community

Cover image for The 5 Problem-Solving Skills of Great Software Developers

The 5 Problem-Solving Skills of Great Software Developers

Lorenzo Pasqualis on November 13, 2017

This post was first published on CoderHood as The 5 Problem-Solving Skills of Great Software Developers. CoderHood is a blog dedicated to the human...
Collapse
 
rafalpienkowski profile image
Rafal Pienkowski

Just awesome!
I agree with that that those 5 skill are necessary for software developers. You took very nice real life scenario which is very descriptive and easy to understand.
I think that your article should be a compulsory reading in high school in terms of first two skills. I could help students to understand why is so important to learn about flowchart, understand and play with it.
In my opinion last three skills (especially 4th) should be a mantra for more experienced developers. They often forget about reusing existing solutions and are reinventing wheel again.
I take off my hat to you! Great job. I'm sure that I'll use your article in the future.

Collapse
 
lpasqualis profile image
Lorenzo Pasqualis

Thank you, Rafal! Your comment made my day!

Collapse
 
emcain profile image
Emily Cain

Great article! I am sharing it with the code school students I work with, I think it will be helpful to them.

I wrote an article approaching the issue of software problem-solving from a different angle--I think yours is much more detailed when it comes to breaking down large, complex problems.

Collapse
 
lpasqualis profile image
Lorenzo Pasqualis

Excellent, thank you! Let me know if it was helpful, and if you have any suggestions/feedback from the students.

Collapse
 
hachi8833 profile image
hachi8833

I'd like to translate the article dev.to/lpasqualis/the-5-problem-so... into Japanese and publish on our tech blog techracho.bpsinc.jp/ if you're OK.

I make sure to indicate the link to original, title, author name in the case.

Best regards,

Collapse
 
lpasqualis profile image
Lorenzo Pasqualis

Thank you for your interest in translating this article into Japanese for cross-posting.

My requirements for cross-posting are highlighted here: CoderHood Cross Posting Policy

I am ok with you cross-posting on techracho.bpsinc.jp as long as all the requirements indicated in my policy are met.

Please let me know.

Thank you.

Collapse
 
hachi8833 profile image
hachi8833

Thank you for the reply!
I'll look into your Cross Posting Policy.

Collapse
 
helloanavee profile image
Ana Vasquez

I didn't think making coffee would be so complicated. I hope you can explain more of what you mean by the right times to abstract. Sometimes, I have a tendency to abstract things, and it sometimes don't fit with my new problem..

Collapse
 
lpasqualis profile image
Lorenzo Pasqualis

Ana, thank you for your note. I am writing an article about models and abstractions right now. Stay tuned!!!

Collapse
 
helloanavee profile image
Ana Vasquez

Thank you! I'm looking forward to reading it. :)

Thread Thread
 
lpasqualis profile image
Lorenzo Pasqualis

I just published it :) Hope you like it, and looking forward your feedback.

Collapse
 
miniharryc profile image
Harold Combs

First: Great Article!

Second: Could we please, please tattoo #4 on every programmer?

Seriously, we've gone through an explosion of programming art in the past 50 years. However, how much work do we waste writing and re-writing the same things over again?

I've noticed other engineering disciplines take a much stronger approach to understanding prior art and the state of the art when solving problems.

Collapse
 
lpasqualis profile image
Lorenzo Pasqualis

Indeed. The temptation is for people to re-do the work. The focus should be on doing work that is at the core of the business. The vast majority of problems that developers solve AROUND the core business have been resolved before, and time should not be wasted on those.

Collapse
 
andrewdtanner profile image
Andrew Tanner 🇪🇺

Super post! I've been a pro front-end developer for almost three years and around 18 months in I started to realise that my job is to solve problems, not necessarily to write code. It's a fantastic way to look at things and helps tremendously with abstraction.

I can sometimes be guilty of over abstraction so it's reassuring to read that it's ok to just minimise the abstraction to satisfy likely outcomes.

Collapse
 
dataecstasy profile image
Vishal Sinha

Amazed to see that "extreme reading and comprehending ability" is not mentioned at all, which I suppose should be the top most skill for a software developer/programmar/coder.

youtube.com/channel/UCQk0GDiOtiwPo...

Collapse
 
lpasqualis profile image
Lorenzo Pasqualis • Edited

The article is about problem solving skills, not skills in general. Regardless, thank you for your note.

Collapse
 
dataecstasy profile image
Vishal Sinha

In the article headline, It was mentioned Skills. Apologies, maybe I got confused.

Collapse
 
simplymichael profile image
Michael Orji

One of the best articles on software engineering I ever read. Excellent article, with useful, real life scenarios.

Collapse
 
lpasqualis profile image
Lorenzo Pasqualis

That is music to my ears. Thank you so much!!

Collapse
 
stefannibrasil profile image
Stefanni Brasil

Great one! Me being a beginner, I like to read a lot how to become a better developer. Thanks, it was a pleasure reading!

Collapse
 
vivekkodira profile image
Vivek Kodira • Edited

Thoroughly enjoyed reading this one. Thank you @lpasqualis . First time in a long time that I had several "Aha!" moments reading an article. Learnt several things.

Collapse
 
lpasqualis profile image
Lorenzo Pasqualis

Wonderful, thank you for your note.

Collapse
 
ethansankin profile image
Eytan Sankin

Great article. Pretty much sums up the lessons learned from my first junior position. I couldn't have put it better myself.

Collapse
 
lpasqualis profile image
Lorenzo Pasqualis

Awesome, thank you Ethan!!

Collapse
 
matheusvieira profile image
Matheus Costa Vieira

Congrats man! Really good. It takes years to fullfiled all those points. But, when we look back, we get proud of ourselfs. I still can't be away from coding. Can I use that with my students?

Collapse
 
lpasqualis profile image
Lorenzo Pasqualis

Thank you, Matheus. Yes, absolutely, I’d be honored if you used it with your students.

Collapse
 
gregorgonzalez profile image
Gregor Gonzalez

And that's why I love diagrams. Thank you for this article, so many times we use this cycle but I totally forget about it. I agree with you and you make it really easy to understand.

Collapse
 
lpasqualis profile image
Lorenzo Pasqualis

Thank you, Gregor!!

Collapse
 
iqlaas profile image
Kamal Iqlaas

You make serving coffee looks complex, sounds complex, but some how in the end, its easy, its fun, and a lot of thinking! Hats off!

Salute from Malaysia.

Collapse
 
lpasqualis profile image
Lorenzo Pasqualis

Thank you so much for your note, Jamal!! Made my day.

Collapse
 
tommydx profile image
Tom Docu

Thank you. Well thought and organized.

Collapse
 
mariordev profile image
Mario

Great article! Really enjoyed it.

Collapse
 
lpasqualis profile image
Lorenzo Pasqualis

Awesome, thank you!

Collapse
 
meltoteng profile image
Mel Toteng

Great article. I have been looking for something like this. Thanks a lot.

Collapse
 
lpasqualis profile image
Lorenzo Pasqualis

Thank you, Mel. I really appreciate your note.

Collapse
 
thanhdongnguyen profile image
thanhdongnguyen

Thank you . Great Article.

Collapse
 
lpasqualis profile image
Lorenzo Pasqualis

You are so welcome!! Thank you for reading!!

Collapse
 
vamsc0801 profile image
vamsikrishna

It s greater awesome need to very software developer

Collapse
 
lpasqualis profile image
Lorenzo Pasqualis

Thank you, very glad it is helpful.

Collapse
 
tecnomage profile image
vini braga

great post, gave me a lot of good ideas.

Collapse
 
mmanreza profile image
Michael Manreza

Thank you for the great article. I'll surely follow the steps above and adjust my workflow.

Thank you so much!

Collapse
 
lpasqualis profile image
Lorenzo Pasqualis

You are so welcome, Michael. Thank you for reading and for writing a note. It makes all the difference.

Collapse
 
david_j_eddy profile image
David J Eddy

Nice article Lorenzo Pasqualis, just made a follower out of me!

Collapse
 
lpasqualis profile image
Lorenzo Pasqualis

Thank you!! Very glad you liked it.

Collapse
 
chinmayj93 profile image
Chinmay Joshi

This is the best article I've ever read till now. The process and the examples you gave were simply amazing. WOW!

Collapse
 
lpasqualis profile image
Lorenzo Pasqualis

Thank you, Chinmay! I really appreciate your comment!!

Collapse
 
sithembelek profile image
sithembelek

Brilliant!

Collapse
 
joehamby profile image
Joe Hamby

It's Colombian not Columbian.

Collapse
 
lpasqualis profile image
Lorenzo Pasqualis

Thank you! Fixed!

Collapse
 
lpasqualis profile image
Lorenzo Pasqualis

Thank you, Grant. Yes, over-abstraction is the only thing that is worse than under-abstraction :)

Collapse
 
thenischaygowda profile image
Nischay Gowda

very informative. This is the best article I have read till now about the must have Non-technical skill for any Developer.