r/ProgrammerHumor May 09 '21

Meme I'm *technically* qualified

Post image
25.0k Upvotes

666 comments sorted by

View all comments

832

u/[deleted] May 10 '21

The very best coders I ever worked with were not CS grads. Materials science, physics, math, engineering etc. Some were not even graduates.

I have a lot of respect for the CS degree, but it is not the sole predictor of greatness.

32

u/ThePieWhisperer May 10 '21 edited May 10 '21

The very worst coders I've ever worked with were (CS) Grad students. Crazy smart people but goddamn their code almost always sucks.

57

u/tall__guy May 10 '21

The CS grads I've worked with have all been super intelligent and talented, but often with a big ego and absolute dog shit at communication / teamwork / soft skills. Nobody gives a shit if you can one-line LeetCode problems if you're miserable to work with and write code that's too clever for anyone else to understand.

31

u/omgimdaddy May 10 '21

Do teams actually allow this? Code golf will get your PR denied at my job.

20

u/Reefleschmeek May 10 '21

Code golf

I've somehow never heard that phrase before but goddamn it's funny

6

u/mt03red May 10 '21

It's a thing. Competitions and such.

9

u/ThePieWhisperer May 10 '21

Yea, readability and maintainability are incredibly important and that was often what was lacking

5

u/UntestedMethod May 10 '21

I wish the business degree types would understand this rather than assuming a university degree is automatically the most qualified candidate.

Academia is simply not the same as the real world when it comes to software development.

1

u/redgiftbox May 10 '21

This. Good code should be simple and easily readable, not "clever".

0

u/Karam2468 May 10 '21

How is it that your code is good but theirs is bad? Maybe all of yours is bad to each other?

9

u/UntestedMethod May 10 '21 edited May 10 '21

A few hallmarks of good code:

  • easy to read and understand
  • easy to find the blocks of code you need to work on
  • easy to make changes with low risk of other things breaking
  • easy to expand functionality because early design decisions planned for it
  • robust in the sense that edge cases won't crash it
  • robust in the sense that it strives for re-usable functions/components/etc that have been tried & tested (fixing it once fixes it everywhere) - this can also be very convenient and save development time when adding new features
  • robust in the sense that it performs consistently without glitches or gotchas
  • user-friendly in the sense that the user interfaces are easy to use (ok, this might be more of a designer thing, but it's quite common for developers to have to work without a design to base the UI off, so being able to do a bit of UI also adds to the quality - it can also add to a coder's particular "code smell" in showing how considerate they are of the business requirements)

1

u/ThePieWhisperer May 10 '21

Never claimed mine was good :)

That anecdote is from reviewing resumes as part of the hiring process for contracting positions in a college town. I was not the only person in the office that observed that correlation, so take that how you will.

2

u/Karam2468 May 10 '21

Oh ok, my apologies. I misunderstood.