Follow

I say this as a design dude that became a developer because I got tired of developer's telling me what could and couldn't be done.

In my career, I can honestly say 90% of devs make shit overly complicated so they can impress other devs.

It's the 21st century, homie. Things should be getting _easier_ to use, not harder.

True there is something to be said about learning about programming to help bridge that gap, but as devs, we gotta meet them more than halfway.

Because we know how.

There is a fluidity to great design that when it is done well, it disappears. The greatest design is invisible.

This is the same ethos I would like to see applied to development and programming. Of course, there isn't going to be a one to one translation, but good development should be easily digestible, not a marathon of unraveling some random insufferable person's theories.

I'm often disappointed with devs because so many are invested in keeping it a mystery.

And that's some bullshit.

One of the things I am proud of is that I consistently hear how easy my code is to follow and pick up. I value that feedback from my peers.

On the flip, it's interesting how I've actually gotten push back from others 'critiquing' my coding saying it is 'too simple', which generally reveals to me the mindset of a shop. A lot of folks, A LOT, get off by making overly complicated code.

In my estimation, this one of the biggest reasons that keeps programming from being as accessible as it should

@Are0h Also: i thought the whole "doing the impossible" was what gave developers of yesteryear a giant hard-on.

Or is it only impossible for US?

@somarasu On the real, I think that was pushed by dudes to push women out of it.

The attachment men especially have in the tech game to creating indecipherable code is absurd. While I will admit the barrier to entry has been lowered over the years, it's still a fist fight to get developers to put a priority on simplicity rather than purposefully building in complexity as a show of 'superior' skill.

It just should be easier.

@Are0h
Im 900,000% on-board with that theory, bro. Im glad we're on the same wavelength 😄

@Are0h @somarasu [suddenly ten years of ranting this exact thing alone at my computer screen are validated XD ]

:D

@Are0h That's a great source of pride! Write code that looks like anyone could write it, and anyone will be able to read and enjoy.

Someone was just explaining the logic to me that simpler code is easier to debug, anyway. I already thought people should keep it clear and straightforward, but I haven't gotten far enough into writing my own to have made the connection that it's a bad move on its face. So really the only justification to make code flashy is... to feel superior? :flan_think:

@pamela There are some times that really require some complex thinking, so not across the board.

But most of us aren't building proprietary enterprise level solutions that require this kind of work.

So I'd say either superiority or to hide the fact one just doesn't know what they're doing.

@Are0h
The enterprise level solutions are the ones that need simply and easy to read code the most. These projects last a long time and you have many developers working on the same code.

But just as you said there are cases where code has to be complex. I think the key word here is that it needs to be as simple as possible but no simpler, to paraphrase Einstein who I believe said it first.
@pamela

@loke To a certain extent this is true, but when you're building something specific that there aren't readily available solutions for, you have to figure it out. And that process isn't always sexy.

Ideally, you'll get to that point with enough effort, but you can't really solve problems until you know they are problems, so it takes time to figure that out.

@pamela

@Are0h @loke @pamela honestly in my experience the enterprise solutions are the ones with the most unnecessary complexity and shows of machismo X'D
(although open source has a *lot* of that too!—to our perpetual chagrin..)

i think the only things that really need to be truly complex are little algorithms of the kind you read about in Donald Knuth's books or in cryptography or etc., but those can be tucked away into cute little bundles with abstraction so people don't need to be overwhelmed :'3

@codepuppy @loke @pamela I would absolutely agree with this.

Yeah, there's a place for them just like everything else. Making a show of complex it is rather than putting it in it's place is a sport in the tech game. And it rarely helps the quality of the project.

@pamela @Are0h this. it's a dick-measuring context, with brains as a proxy. who is the smartest fucker in the room? me! me! me! not intentionally excluding women, and people of color, but certainly a major side effect

@Are0h Wait like, literally "too simple"? I've never heard that one before. I have heard "oh that's nice and simple" as praise, though.

@varx @Are0h It can be too simple because you are using a simpler data structure when a bit more complex or niche one would give better performance.

@grainloom @varx Ha, this is not why I received that comment as one cannot determine that in one interview.

@Are0h Reminds me of how Mark Twain could write very accessible prose only because he was such a skilled writer.

@Are0h like unless simplicity somehow majorly detracts from efficiency somehow, I don't see how anyone could mount a reasonable argument for "more complicated code" other than to just be elitist. Like that goes against like all the best practices of programming!!

Good for you for doing your best to make accessable and usable code :D

@Are0h This is the #1 metric I use when interviewing someone. I've also been told that it's the main reason the go language was designed the way it was (to make it hard/impossible for people to write hard-to-read code).

@bamfic I haven't paid much attention to Go, so I didn't know this. That's pretty damning.

@trwnh @Are0h I once bought a book of very clever little efficient programming snippets titled "Hacker's delight" hoping it would teach me some neat tricks...

Ended up treating that book as a list of idioms I don't ever want to see used in projects I'm involved in.

@stsp @trwnh Back in the day when I was first starting doing corporate design work, me and my team would just make up words to see if other departments would start using them to sound like they knew what they were talking about.

They always did. And they had no idea that the words they were using were completely meaningless.

It was... educational.

@Are0h I recently learned from a friend there's a start-up culture that divides co-workers into two categories: "good" developers and "bad" developers. Such toxic nonsense.

I've gotten used to the mindset that complexity is the enemy and my code will be ugly and have bugs no matter how hard I try and I'm always happy when others locate issues in my code. I wouldn't wanna work with people telling me I was a bad developer for making mistakes. Glad I don't have to work for start-ups!

@stsp Honestly, I don't like working for start-ups. They promise all of these grand ideas and outcomes, but more often than not just result in one being overworked in the extreme and underpaid.

It's a culture that pits people against each other in terms of who is willing to be exploited the most to the the 'best'.

Toxic is a great word for it. They are just not healthy places and they rarely turn out good work.

@Are0h @stsp Working for startups is a great way to experience #burnout. I did it once. Never again.

@Are0h

Hearing you say this... yes. I don't care about "elegant" code, I care about being able to understand it.

I'm deep into writing a book and... as soon as it's in a shape where it can be critiqued, I'd love to have you be the first to peer review it.

@ghedipunk I don't think those two things are mutually exclusive. It just takes work to achieve both.

If you think I can help, sure. I appreciate the consideration.

@Are0h
I feel like you're totally describing my reaction whenever I try to build with any of the JS front-end frameworks.

@ross LOL, I feel you. I rarely use any of them myself, although I am a bit fond of Vue.

A lot of them just seem completely unnecessary and just complicate the goal in the first place.

@Are0h Yeah, I feel like Vue is the one that just tries to get out of my way the most, but they're all a bit much.

@Are0h "There is a fluidity to great design that when it is done well, it disappears. The greatest design is invisible." - your words? A quote?

Thinking of my preferred field (analog #GameDesign), I *both* agree w/those words and I don't.

Like, invisibility seems to me to be more of a starting point than the height of achievement: that's the black belt, then we're out of the kids' pool and things get real. Might be a divide between *expressive* design vs. "merely" functional #design, though.

@rafu Ha, this is an odd question. Why would you assume they weren't my words?

This doesn't make much sense to me because it takes time and effort to the get to the point where design, whether functional or expressive, it supplements the experience rather than dominate it.

Elaborate on what you mean as a 'starting point'. A starting point for what?

@Are0h well, that sounded like a very polished aphorism, so I thought it might have been a well-known maxim from some design bible you were quoting.* Seemed like a sensible thing to ask as I was elaborating on that paragraph.

Congrats for crafting a nice #DesignMaxim worth quoting, then!

* = That's probably because I've met a couple people who were *really* into general design (as opposed to _just_ game-design) and used to do that all the time.

@rafu LOL, because for some magical reason Black folks can't create 'a very well polished aphorism' so it has to be a quote from somewhere? And that's a 'sensible' question to you?

Ha, I'm just going to end this exchange here. For your sake.

@Are0h Uh... I didn't know you are black until you mentioned it, that is right now? Uh, I guess I could've known from your profile pic, except those show up very small on my screen. Awkward.

I now see huge unintended implications for which I apologize. Sorry.

@Are0h i feel a lot of feelings about this. and more that this way of thing is very male centric. it’s not just programming where people (mostly men) overcomplicate as a badge of honor and belittle those that aren’t on the same page. idk. just a feeling.

@sourcookie I can attest to the fact it is. I've worked in so many different places, and the best programmers I've had the pleasure of working with put a premium on making code understandable over complexity.

Unfortunately, the game is populated mostly by people who attach their value as a worker to how mysterious they can make their work. And more often than not the are rewarded.

There is a reason the American the game is falling behind. We're refusing to adapt.

@sourcookie @Are0h I've seen the same thing in science. People will use obnoxiously arcane language in their papers. "Novel" instead of "new." "Methodological technique" instead of "method." "Afferent" instead of "incoming."

@activationfxn @sourcookie Yeah. That annoys the shit out of me. It's like people have to show how smart they are by using vocabulary rather than making complex ideas consumable without excess effort.

@Are0h @sourcookie Sometimes I worry that people use unnecessary complexity in coding/communication to hide the fear that their ideas aren't actually that complex, useful, or interesting...

@activationfxn @sourcookie This happens all the time. And when you challenge it, people get very defensive.

Ha, there are a couple of agencies in NYC that will not hire me again for this reason.

@Are0h my biggest quality in a developer role, is, that i can't do the fancy shit.

same for user interfaces. i don't know how to properly build then, so i anticipate as many user choices as possible, reducing the necessity for user interactions.

you still shouldn't hire me for either, but hiring random people of the street is probably a better choice than hiring a rockstar programmer 🤷

@tethre Trade secret: there is no proper way to build UIs. It's such a subjective process that rely on the feedback of the people that use it.

The best experience don't follow a template but rather adapt to what the people who use it need and to make it as easy possible to get to what they want.

Sign in to participate in the conversation
Social @ PV

Social is the primary social media platform for the forth coming fourth version of Play Vicious, a new initiative built to bring attention to the plethora of creative acts that don't get the shine they deserve.
For more details about the project and how to support, go here.