What’s something that should be obvious that developers seem to misunderstand?

I found this on Twitter, but I don’t have a twitter account so I thought I’d bring it over here. It seems like a good fit for #discuss!

Did you find this post useful? Show some love!

Some hot-takes:

  • OOP and Functional are not bad, they are different.
  • The best language for you is the one that solves your problem. Said language could be very different for someone else.
  • Documentation should explain why.
  • "Contributing" sections would be a lot more helpful if they also explained the directory structure and how to find things instead of just pointing to "good first issue"s. ("good first issue" is a great trend, not bashing here)
  • Some people don't contribute a lot to open source or have a ton of side projects and that's okay.
  • The best code is the code not written. (performance tip)

I'd say this is vaguely related, but ever time I hear from a friend that they're taking a college/uni course that is literally just learning a language, I just sigh on the inside. My college had every course represented as a skillset you were learning, not a language/tool.

For example, even the most introductory CS course was structured as an intro to programming concepts (and not just "learning Python"), and the next level up was an intro to object-oriented development (and not just "learning Java"). I could maybe see the appeal in courses being linked to tools if the tool represents a whole ecosystem or something, but just having an "Intro to C++" course makes no sense to me, yet I see it everywhere.

On an even-more tangential note, C++ should never be a first language, and yet I see that everywhere too.

When I started my studies in CS, all our courses were meant to teach us concepts, paradigms, sometimes they would even involve an obscure language to force us to use a certain concept as there was no other way around.

At first I hated it, I wanted to build things, learn to make software and applications and all I was doing was some exercices. Now, with a step back I really appreciate what I learned and understand why the courses were built that way and I use it as a strength, I can easily switch tools and languages, all I need is to learn the syntax and the specificities.

I think it really depends on what you want, learning that way can kill your motivation but if you overcome it you will end up with a great adaptability.

I took Intro C++ as my first academic dive into programming and it almost ruined me lol

Developers should understand that "hard" and "soft" skills are a false dichotomy. The skills some folks call "soft" - communication, cooperation, etc. - are the core skills necessary to any kind of collaborative work, including ours. If you can't effectively communicate with humans, you will never reach the top of your field.

Ben Halpern DEV.TO FOUNDER

Hey there, we see you aren't signed in. (Yes you, the reader. This is a fake comment.)

Please consider creating an account on dev.to. It literally takes a few seconds and we'd appreciate the support so much. ❤️

Plus, no fake comments when you're signed in. 🙃

Style guides are so the code is consistent and easy to read. Not because spaces are actually any better/worse than tabs.

Refactoring is the process of changing code to make it easier to change (either in the immediate, near, or far future) without changing its current behavior. Refactoring is not "making the code pretty for pretty sake" or "getting it ready for code review."

Programming languages are tools; not religions.

The Blub Paradox is the answer to most programming language arguments/roasts/etc. It also applies to editors vs IDEs, Linux vs Windows vs Mac, OOP vs FP.

That experience or expertise in a specific domain of business or industry is more valuable than the ability to program. It's the 80/20 distribution again. For most developers, 20% of your programming output is unique code, while probably 80% of it is modeling the business domain into an established web framework.

Definitely this. Just by happenstance, I started getting experience in the GIS industry over the last couple years. Turns out there is this huge market demand for developers that have a background in web application development and experience with GIS.

As developers, we assume we craft our careers around the technologies we learn. In reality, our careers are crafted around the industries we inhabit along the way.

Understanding business rules DOES matter. Coding a solution for a problem you don't understand is an uphill battle. When you're questioned about the issue you coded to, it can sometimes be embarrassing to admit you didn't understand the problem to begin with but you knew what the solution was. It's too easy sometimes to go in and change a value or an if statement without comprehending the surrounding issue, but it's difficult to defend it in the long run.

When building systems and applications, people don't care how you've done it; just that it works and they understand how to use it.

The project manager is important, and not just there to bug you.

A developer as the creator of a system is very different from the typical user of the system and might indeed be the most atypical kind of user there is.

Classic DEV Post from Jun 8

What interesting things I can do with npm?

This thread made me think that I want to get a better grasp of what I can do th...

READ POST
Follow @ben to see more of their posts in your feed.
Luke Westby
Elm core, engineer at NoRedInk, and creator of ellie-app.com
Trending on dev.to
So Long, and Thanks for all the Fish World of Warcraft
#career #productivity #mentalhealth
What are your programming hype songs?
#discuss #music #productivity
What are good ways to learn software architecture and systems design?
#advice #discuss #architecture #reading
Note taking as a developer
#discuss #notes
Lessons from releasing a personal project as a commercial product
#beginners #startup #showdev #career
What's in your bookmarks bar?
#tools #productivity #discuss
What has programming taught you that you keep-in-mind/use in your daily life?
#discuss
On esoteric languages
#discuss #esoteric #code #fun