[–] aGameCalledCountries 0 points 3 points (+3|-0) ago 

I program malware. You are wrong.

[–] Wargasm 0 points 0 points (+0|-0) ago 

Do you work in eastern europe?

There's a boom over there; they have call centers and customer support.

[–] [deleted] 0 points 0 points (+0|-0) ago 

[Deleted]

[–] Morbo 0 points 3 points (+3|-0) ago 

Early on in my programming career I used to code around the user by trying to think of every scenario they could throw at my software and make sure I never let them mess up. It was a time consuming process but the users were happy because they could get around just fine and most any error possible was handled. Now that I am long in the tooth I write programs that steer my users so they can't get into trouble in the first place. The software flows much better and I don't have to think about what kind of trouble they can get into because I make sure they can only do what is proper. This has made me a very efficient project completer and my users don't complain about my software getting in their way. Instead they ask for more features since I made their job easier and they get more out of the software so they integrate it into their work more. It's a far cry from the mess these young and still wet behind the ears programmers produce with their buggy and convoluted frameworks and tool chains. I keep it simple, keep it real and school those young dipshits left and right because they get caught in implementation rather than making a good system. Mature programmers who took their licks and learned make great mentors but these kids think they know everything because they are up on all the latest fads in coding. They don't realize the art and science of writing software hasn't changed one bit at the fundamental level and frameworks only serve to "dumb-it-down" so their meager skills can keep up with programmers who actually know what's up. I love it when they finally get that "a-ha" moment and understand that you don't need a full framework to do something when five lines of simple code gives you the equivalent result with no overhead. If only more programmers could learn from the old grey beards and understand that we aren't getting better by building on more layers of crap. The old ways are still very much relevant and they will continue to be. Users are not the enemy. Frameworks and trendy fads are the enemy.

[–] roznak [S] 0 points 2 points (+2|-0) ago 

Now that I am long in the tooth I write programs that steer my users so they can't get into trouble in the first place.

Exactly!

Users are not the enemy. Frameworks and trendy fads are the enemy.

Frameworks never solves problems they causes problems in the long run.

[–] notenoughstuff 0 points 1 points (+1|-0) ago 

Out of curiosity: Which kind of applications and software do you work with? Front-end? Desktop applications? Mobile? Fullstack? It does not sound like embedded or back-end, though I could be wrong.

[–] Morbo 0 points 1 points (+1|-0) ago 

I mostly work on web and desktop with some mobile here and there. I'm also full stack end-to-end because my group doesn't really split up into distinct areas of work so we all do whatever is necessary on every part of the technology stack. I have an embedded development background but that was a long time ago on CPUs like the Z80 and MC6800 and I haven't touched that in about 2 decades.

[–] RevanProdigalKnight 0 points 1 points (+1|-0) ago  (edited ago)

Just the a few days ago one of my coworkers asked me to consider refactoring the following JavaScript code:

const pad = n => n < 10 ? `0${n}` : n;

const formatDate = date => `${date.getUTCFullYear()}-${pad(date.getUTCMonth() + 1)}-${pad(date.getUTCDate())} ${pad(date.getUTCHours())}:${pad(date.getUTCMinutes())}:${pad(date.getUTCSeconds())}`

It takes a date and formats it into UTC YYYY-MM-DD HH:mm:ss using two single-line functions. Simple, right?

His rationale was (paraphrased):

This doesn't look like it would be easy to maintain moving forwards. You should consider using Moment.js to format this instead.

My first reaction was "How is this not easy to maintain?", followed shortly by "Why add all of Moment.js for one date formatting operation?" and finally "No, this is a stupid suggestion."

Then I looked up the documentation on the particular Moment.js function he suggested that I use instead and so far as I can tell it doesn't let you customize the date format that it uses, so it wouldn't fit the need anyways.

[–] roznak [S] 0 points 0 points (+0|-0) ago  (edited ago)

Under deadlines, stress this wall of text in the one-line could contain a bug and it will take hours to find the bug that you could have used for productivity.

const pad = n => n < 10 ? `0${n}` : n;

const formatDate = date => `${date.getUTCFullYear()}-${pad(date.getUTCMonth() + 1)}-${pad(date.getUTCDate())} ${pad(date.getUTCHours())}:${pad(date.getUTCMinutes())}:${pad(date.getUTCMilliSeconds())}`

Now spot the bug in this above example.

[–] Morbo 0 points 0 points (+0|-0) ago 

I see no problem with the two lines of code here. They are efficient and get the job done. Aside from long line length there is nothing problematic about it. Moment.js would be a waste for such a small task and it sounds like it's not even up to the task anyway. He's an idiot.

[–] coopzy 0 points 0 points (+0|-0) ago 

[–] TeranNotTerran 0 points 0 points (+0|-0) ago 

I pretty rarely use any kind of a framework. If I do, it's very, very thin and serves a very specific purpose to avoid duplicate code.

I do see some terrible code from younger people, but also terrible code from grey beards who use short hand for variable names, don't have unit tests, and refuse to use libraries so they are reinventing the wheel over and over. They both mess up but usually in different ways.

[–] Niggertown 1 points 2 points (+3|-1) ago 

Then youll just attract retard users.

[–] Adminstrater 0 points 1 points (+1|-0) ago 

Soon, you'll learn all users are retards, and not necessarily on purpose.

[–] Wargasm 0 points 2 points (+2|-0) ago 

WHY WOULD YOUR PARENTS NAME YOU $OFFSET$PAYLOAD?

I DON'T UNDERSTAND!

[–] patriot_biz 1 points 1 points (+2|-1) ago 

Naw, good software is difficult to make, it should be difficult to use.

[–] J_Darnley 0 points 1 points (+1|-0) ago 

Tangentially related...

I do get paid to program but I don't get paid to deal with users too stupid to read whatever error message I give them. It tells you why it failed. You asked for impossible constraints. This is why I stopped volunteering my time to help users on some projects. They don't read.

Maybe you don't understand what it means because you lack knowledge in this domain. Okay but tell me what it says. Do not say "it doesn't work". "it doesn't work" is not an error message.

I hate users. Unless you're paying me I'm only writing software for myself.

[–] roznak [S] 1 points 0 points (+1|-1) ago 

I do get paid to program but I don't get paid to deal with users too stupid to read whatever error message I give them.

Unlike you, I actually make my program work and not cause errors.

[–] Vhaine 0 points 0 points (+0|-0) ago 

A dollar for every time some asshole called and said 'it's broke' and acted like I was a dick for asking them to read what was on the screen...

[–] WhiteMakesRight 0 points 0 points (+0|-0) ago  (edited ago)

Your job is whatever your job is. Software and CPUs are just tools. Don't get too impressed with yourself, just because you're slightly wiser than the average, 15 year old Node.js developer.

[–] roznak [S] 0 points 0 points (+0|-0) ago 

Bad developers sees the Software and CPU as just tools, the user is stupid. You get in a none-stop fight with your users that refuses to do it correctly.

Good developers uses these tools to elevate the code so that the users actually wants to use it. No actual interaction with your users is needed because it works intuitively.

Who do you think is the most productive developer? The one that keeps on fixing users issues or the one that gets uninterrupted development time to create even better code?

[–] WhiteMakesRight 0 points 0 points (+0|-0) ago  (edited ago)

Bad developers sees the Software and CPU as just tools, the user is stupid. You get in a none-stop fight with your users that refuses to do it correctly.

See, there's your mistake. You see incompetence all around you and think that being above the average level of incompetence somehow makes you a god among men. 90% of every industry is incompetent fucks and rank amateurs, at least. Don't become too into yourself just because you're not. John Carmack didn't make yet another, slightly better than average 2D side-scroller and call it a day. Your 1 dimensional thinking has all the signs of a naive, young programmer thinking he's hot shit.

[–] Adminstrater 0 points 0 points (+0|-0) ago 

Everyone always builds for expanding.

Just build a simple, functional site that allows additions of modules by programmers, if, and when the time comes.

Not every site needs a third party CMS.

[–] Vhaine 0 points 0 points (+0|-0) ago 

Then why does Windows10 even exist...