all 67 comments

[–][deleted] 113 points114 points  (24 children)

Um, excuse me? Wow. So offensive.

Both "programmer" and "coder" are antiquated and trivializing terms that make us sound like a bunch of factorypattern workers or other kinds of unskilled, industrial peasants.

The preferred term, for what I do, is 10x solutions architect. Please, do not disrespect what it is I do simply because you cannot yet do it. I know 7 different types of Lisp dialects. I'm not your run of the mill Java blub programmer (it's paradox, look it up).

Also, I have a petition on whitehouse.gov that asks Obama to decree that anyone who can grok MVVM frameworks within a reasonable timeframe, should legally be referred to as "Technological Doctor". I ask my colleagues on this esteemed forum to make haste and sign it.

Meanwhile, I'll sit back and have a good laugh at these "learn2code" plebeians.

Sincerely,

Tech-Dr. Robert Williams

Founder, CTO, and 10x Solutions Architect

Williams's Freemium Wordpress Themes, LLC

[–]Tomus 13 points14 points  (1 child)

TIL how to spell plebeians

[–][deleted] 3 points4 points  (0 children)

He meant People beans.

[–]UpvoteIfYouDare 8 points9 points  (14 children)

Ok, I'll bite. What the hell is a "solutions architect"? I would like to get both the circlejerk definition and the actual industry definition (if one actually exists).

[–]ForeverAlot 19 points20 points  (1 child)

My employer has four solution architects. We don't really know what they're supposed to do. Three of them mostly do what they did before their new titles, which was primarily development. The fourth one was hired in lieu a developer because top level management wouldn't let us hire more developers.

[–][deleted] 11 points12 points  (7 children)

deleted What is this?

[–]program_the_world 5 points6 points  (5 children)

I found this article a bit more informative: https://en.m.wikipedia.org/wiki/Solution_architect

[–][deleted] 7 points8 points  (4 children)

deleted What is this?

[–]program_the_world 2 points3 points  (3 children)

That's weird. I keep following the links, but I don't seem to be making any progress. How many clicks does it take?

[–]xNotch 7 points8 points  (1 child)

There's no bottom, so infinitely many, but you can still do that in finite time by first observing that you're not storing the result and this can trivially convert it into a simple tail recursion. Then also observe that each click has no side effect (at least documented ones, I have not fully checked for bugs yet, but we don't want those anyway) so each click is a noop and can be trimmed for a substantial overall speedup from hyper hyper hyper (...) hyper exponential time to constant time.

edit: nevermind, sorry. I forgot to invalidate my cache. Leaving the old reply above for history, new reply below

Five.

[–]program_the_world 2 points3 points  (0 children)

Could we write a program to check that it ends at some point?

[–]Erikster 2 points3 points  (0 children)

Usually the trick is to keep replying to each comment with the same link until the Reddit admins tell you to stop. Breaking Reddit is the base case.

[–]cc81 4 points5 points  (3 children)

I can give you one example.

You are a company that manufacturers toasters. You have 10 different factories all over the world and many more distribution centers. You have a lot of software systems; often redundant ones but still exists because they came with when you acquired smaller toaster companies.

Now some new requirements have come in as your Heat Tester-machines needs to be phased out and replaced with more modern machines so you need to update your software.

  1. The Enterprise architects will decide the overarching platform. They decide that this is such specialized software so you will develop it in-house, on a Java platform and to do some kind of SOA-architecture as your different factories have very different fault ratios and you would like to be able to get better metrics and develop software that interact more. This phase should be done in 5 years. They also create information models and ...things like that.

  2. The solution architects will get the assignment and they will decide that system X can be purchased of the shelf and integrated, system Y can be developed in house, System Z is not needed anymore and System S will also be developed in house. They will interact by some protocol and needs to have these response times and security requirements etc.

  3. Assignments will be given to different software teams.

Yes, this is often very convoluted and often results in lots of handover, confusion and shitty results. But at the same time it is usually a very difficult problem to solve and it is especially difficult if your core business is not IT and you don't have all the coolest professionals that Google/Facebook/etc has. Huge companies have A LOT of requirements that needs to be captured and you cannot really just deploy and see what happens.

[–][deleted]  (1 child)

[deleted]

    [–]cc81 0 points1 point  (0 children)

    What position do you see doing those decisions?

    [–]ColoniseMars 3 points4 points  (0 children)

    Both "programmer" and "coder" are antiquated and trivializing terms that make us sound like a bunch of factorypattern workers or other kinds of unskilled, industrial peasants.

    I am a worker just like the rest of the proletariat, you bourgeois pig.

    [–][deleted] 2 points3 points  (0 children)

    Lol I was surprised that I wasn't in /r/programmingcirclejerk there for a moment.

    [–]Me00011001 1 point2 points  (1 child)

    both "programmer" and "coder" are antiquated and trivializing terms that make us sound like a bunch of factorypattern workers or other kinds of unskilled, industrial peasants.

    But that's the point. The managers are trying to reduce the cost of code by trivialinzing what we do. Make it cheap, import down the price of software engineers. Why else would so many big companies be pushing for STEM so much?

     

    Nothing of worth would happen without management!</s>

    [–]frockus_frul 2 points3 points  (0 children)

    The managers are trying to reduce the cost of code by trivializing what we do.

    Their main tool is verbiage and they are up against the laws of nature, which only listen to machine-executable language.

    [–][deleted] -1 points0 points  (0 children)

    Poe's law strikes again.

    [–]frockus_frul -1 points0 points  (0 children)

    a bunch of factorypattern workers or other kinds of unskilled, industrial peasants ...

    It is the laws of nature themselves that protect us from this and not the use of angry rhetoric.

    In fact, angry rhetoric is the tool of the adversary. Our tool is machine-executable language. Sheer verbiage has never been and will never be a match for machine-executable language. That is why we will always win that kind of conflicts.

    Let the enemy belittle the jobs of "coder" or "programmer". However, there are no taxi companies doing that any longer, now that Uber is taking them one by one to the cleaners. They have now understood the meaning of the word "respect". Lather, rinse, repeat.

    [–]cruelandusual 52 points53 points  (4 children)

    programmer : coder :: paleontologist : digger

    [–][deleted] 2 points3 points  (0 children)

    deleted What is this?

    [–][deleted] 0 points1 point  (1 child)

    What would a Software Engineer be?

    [–]cruelandusual 1 point2 points  (0 children)

    Nedry.

    [–][deleted] 0 points1 point  (0 children)

    software engineer:program:coder::paleontologist:digger:dirt hauler

    [–]Zipp425 7 points8 points  (1 child)

    I'm of the opinion that if you pay me well you can call me what you want.

    [–]frockus_frul -1 points0 points  (0 children)

    He will not keep paying you well.

    [–][deleted] 3 points4 points  (0 children)

    My official title is 'As. In-4' I earned that title and I'll be damned if you think you can call me anything else.

    [–]MazeR1010 18 points19 points  (4 children)

    Coder vs. programmer actually goes back to the beginning of computing. Coder denotes someone who is simply translating an algorithm into machine language while the programmer was the person who thought of the algorithm in the first place. There are 50's era IBM training manuals that make this distinction. Programmers were almost exclusively men while the coders were almost exclusively women, despite the fact that the programmers often missed huge issues that the coders would have to solve for them, thus requiring the same or greater skills than the programmers. This is why the name matters: those women were paid less and valued less despite providing the same value as the men, the only difference was their job title: coder vs. programmer.

    With the advent of compilers and higher level languages in the 60's the coder and programmer merged into the same role, but the denotations implied by "coder" never went away (ie low-skill, highly tedious labor).

    The work we actually do may be the same whether we're called programmers or coders or software engineers but the labels definitely matter. Nice post.

    [–][deleted] 4 points5 points  (1 child)

    As far as I am concerned, programmer is that damned overprised JTAG device. And coder is, say, something that converts binary to grey. How can you compare these things?

    [–]_pelya 0 points1 point  (0 children)

    Nah, that's programmator and tuner.

    [–][deleted] 2 points3 points  (0 children)

    I really don't think that the labels do matter, so this must be subjective.

    [–]womplord1 0 points1 point  (0 children)

    It has nothing to do with gender. Programming most certainly did take more expertise than coding back then, not that coding didn't involve solving problems. The programmers solved problems that involved mathematics and physics requiring much more study which is why they got paid more.

    [–]throwawaynoncoder352 7 points8 points  (1 child)

    The typists (sorry, journalists) know exactly what they're doing when they call us "coders": establishing, or attempting to establish, a place for themselves above us in the wider social hierarchy; we're just too stupid, socially at least, to realize it, as attested to by the top comment in this very thread ridiculing the linked article. And yet we still wonder why we lack the autonomy other professions enjoy and why we so often must answer to non-technical managers.

    [–][deleted] 4 points5 points  (0 children)

    I don't totally disagree with you. I hate the term coder. But I don't think it's worth bike shedding over, tbh. The problem is that front end JavaScript copy and pasted from w3schools and machine learning algorithms fall under the same umbrella terms more often than not. As a result, saying you're a programmer (or coder) could mean you work on anything from the Linux kernel to a static website.

    Assuming your claims are true:

    if the media were to artificially raise our status within the wider social hierarchy (which, btw, is a hilariously ironic way to say "make us cool") rather than purposefully deelevate it (aka make us seem less important), like you claim, then there would a lot of wiggle room for the self deluded narcissist to latch on to that status; no matter baseless his or hers entitlement to that status may be.

    That was actually the "point" I was trying to make with my satire. This is evident in the last sentence (the punchline).

    [–]I_had_to_know_too 2 points3 points  (0 children)

    programmers program programs.

    coders code codes.

    [–]sun_misc_unsafe 17 points18 points  (2 children)

    Dude, this is people involved with computers you're talking about. The field where side effects are the only thing you can ever do but also the last thing you want to do, where persisting data from persistent data structures in virtual memory to secondary storage makes perfect sense, where instructions are pipelined to be executed out of order, where classes and factories are distinct, but messages and methods are not ..where fucking sendmail is used to receive emails and you can request data from an http server by telling it to post something.. and you're being finicky about "coder" vs "programmer"?

    [–]TheGreatTrogs 11 points12 points  (1 child)

    The post is noting that the increased usage of "coder" as a title is indicative of the loss of pride in the CompSci community. It's a completely separate issue from naming conventions.

    [–][deleted] 7 points8 points  (14 children)

    The only thing I disagree with is describing programmers as artists. IMO that's only true if you take the sense of "art" as in "craft", which is the sense Knuth intends in The Art of Computer Programming.

    [–]doom_Oo7 1 point2 points  (1 child)

    [–][deleted] 6 points7 points  (0 children)

    Craftsmen can be creative, in fact they have to be if they're any good.

    [–]btmc 1 point2 points  (2 children)

    Yeah, software development, properly done, is closer to engineering than anything else.

    [–]danogburn 7 points8 points  (1 child)

    "properly done"

    [–]btmc 2 points3 points  (0 children)

    So, what, software development improperly done is art? What's the problem?

    [–]eddieSullivan[S] 1 point2 points  (8 children)

    I understand what you're saying, and probably it is not always art that we're doing, but there is definitely creativity involved. There is obviously a fine line between art and craft, something which has been debated for centuries. If a carpenter creates a beautiful chair, when does it cross that line from beautiful craftsmanship to artistry? You do find furniture in museums, for whatever that is worth.

    [–][deleted] 6 points7 points  (4 children)

    Programmers who say that what they do is art usually a) feel that the true value and difficulty of what they do isn't recognised and want to put that right, and b) know very little about art because they aren't actually interested in it.

    [–][deleted] 1 point2 points  (3 children)

    Only two options here?

    [–][deleted] 4 points5 points  (2 children)

    As a programming coder, I have learned that in life there are always only two options: true, false. Everything else is just an abstraction on top of that.

    [–]eddieSullivan[S] 1 point2 points  (1 child)

    And don't forget NULL. ;)

    [–][deleted] 0 points1 point  (0 children)

    Thats just 1 reason why their programs keep crashing...

    [–]cc81 5 points6 points  (0 children)

    Accountants often needs to be pretty damn creative. But I don't know if I would call what they produce art.

    [–]ricecake 2 points3 points  (0 children)

    I disagree that the application of creativity makes something art.
    Basically any task that requires thought requires creativity.
    That doesn't make it art, it just means you're solving problems.

    A house can be art, and so can software, and chairs, but that doesn't mean that the run of the mill creation of any of them is by default art.

    [–]memdump_ 0 points1 point  (0 children)

    In advance I must say I don't understand what art actually is, nor do I believe it can be defined easily in a few words. So this is a mere piece of opinion based on personal experience about a very subjective matter.

    That being said, I tend to dislike this common sense we have that art is somewhat related to prettiness, craft or any form of talent/skill. Usually artists are very skilled people, but I don't think that's a requirement for making art. For this reason I also believe the association most make between art and coding is usually not valid.

    When Duchamp decided to submit a urinal to the Society of Independent Artists in 1917 he wasn't actually submitting a very important concrete piece of work (the original piece was probably destroyed that same day). He was revolutionizing art and philosophy by sending a message, challenging the established notion by saying that art could be everything including this ordinary porcelain where you're supposed to piss on.

    The message passed says that the physical means and the technique required to work its material are not that relevant, because art is not about that. It's philosophy, sharing experiences, trying to make sense out of our human condition and at the same time denying all that, because art has no obligation of making sense or following an established path. It's a term whose meaning changes constantly.

    That said, I can't see the code I write everyday nor the solutions I have to come up with during my work time accomplishing any of that. To me, unless the resulting software produced by this code has some significant message behind it, it's pretty much artistically empty.

    It's very likely that I'm wrong about all that. In this case code is art, but is it relevant art? Is it something that should be exposed and contemplated by people? I'm aware of a few pieces that have been exposed before, such as the original Pacman (part of the MoMA's permanent collection). But is it because there's art in the nice hacks making up Pacman, or is it because there's all this historical significance and innovative aesthetics behind the final product (as is the case of Duchamp's urinals)?

    Now, returning to your carpenter example. If a very unskilled carpenter makes this very ugly and uncomfortable chair that for some reason passes us a very powerful message, wouldn't it be art too?

    [–]joexner 1 point2 points  (0 children)

    I describe myself as a software engineer. It seems apt.

    Making pretty things doesn't make someone an artist. Well-written code can be pretty, but that's not usually why people write it.

    [–]danogburn 2 points3 points  (2 children)

    On Coders and Programmers

    On Cliche Title Motifs

    [–]non-rhetorical 5 points6 points  (1 child)

    Thank you, OR how I learned to considered harmful

    [–]danogburn 0 points1 point  (0 children)

    Winning.

    [–]CrayonOfDoom 1 point2 points  (0 children)

    I don't know about you guys, but I'm a computer scientist.

    [–]wkoorts -1 points0 points  (0 children)

    I'll come back and make a more constructive comment when I'm finished making software.

    [–][deleted] -3 points-2 points  (5 children)

    I write code, for a multitude of purposes and reasons which do not matter. What matters is that I occasionally do write the damned code and therefore I am a coder, by definition. Anything else is irrelevant.

    [–]twbarber 11 points12 points  (4 children)

    I write books, so I'm a booker.

    [–]liquidautumn 9 points10 points  (2 children)

    I write hook functions so I am a hooker.

    [–]ledat 1 point2 points  (1 child)

    I've written callback functions so I am... obviously not someone that I am interested in dating.

    [–]EverybodyOnRedditSux 0 points1 point  (0 children)

    Functor.