Stories
Slash Boxes
Comments

SoylentNews is people

posted by takyon on Sunday July 26 2015, @11:55AM   Printer-friendly
from the pity dept.

Stumbled upon this blog entry:

One paragraph from the OP instantly stuck out to me.

I don't want to [be] a typical "code monkey". I want to go deep into low level, even to clear math when we talk about computer science, but at same time, I want to have a job in shorter period of time than let's say 3 years. I was switching so many times between Python, C++, Java and I'm nowhere. I know it's bad practise, it's worst, but I don't know, I'm just confused.

...

Web development has an extremely low barrier to entry in comparison to, say, systems programming. Setting up a Wordpress blog takes significantly less knowledge and effort than building an operating system.
As a consequence, being a web developer does not carry the same prestige as being a software engineer (whatever that is). God have mercy on your soul if HN or /r/programming learns you implemented some common functionality in NodeJS for fun. (Expect the words "web scale" to show up in the comment thread somewhere).
...
As I became more involved in online communities, the narrative became increasingly clear that my confidence and sense of accomplishment were unwarranted. PHP was a terrible language, and PHP developers were terrible programmers. JavaScript was a terrible language, and JS developers couldn't perform asymptotic analysis to save their life. Web developers don't have degrees and it shows in their code. Drupal/Wordpress developers are an absolute joke. Web developers never took a compilers course, so they don't understand just how easy their "jobs" are. Web developers are overpaid for how little they know. Web developers have everything handed to them. Web developers have never had to manage memory or make hard decisions. Web developers have no knowledge of data structures or algorithms. Web developers are not real programmers.

Armed with impulsive spending habits and a sense of urgency, I went to Amazon and purchased just about every programming book not related to web development I could find. Cryptographic protocol implementations in C, Embedded Systems development, Linux Kernel Development, etc. I wanted to learn things that real programmers knew. I wanted to learn the hard things. I bought an Arduino, started hanging out in ##c on freenode, began reading through implementations of the C standard library.
I never fully read any of those books. Most of them I never even started. I didn't do anything substantial with the arduino. I never made it passed analyzing "assert.h" in the C standard library (which I was planning on progressing through alphabetically.)
...
When you hate what you do, you stop caring about it. When you stop caring about something, you aren't going to bother learning more about it.
For a period of nearly 3 years, I was stuck in a terribly unproductive mental state. I hated web development, but I didn't know how to do anything else. Web development was all I knew. Bills needed to be paid, so CRUD apps needed to be made.

And thus arose my main cognitive dilemma: I hated web development because it was easy, but it was never actually easy to me. Instead of concluding "maybe web development is actually hard and those people don't know what they're talking about", I concluded that I must be a terrible programmer.

Question to SN fellows: have you had moments like this (doesn't matter if in relation with Web development or not)? Have you crossed over them? If true, how?


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 2, Interesting) by Anonymous Coward on Sunday July 26 2015, @01:21PM

    by Anonymous Coward on Sunday July 26 2015, @01:21PM (#213821)

    I've been programming for over 35 years. I've programmed in over 25 languages in my career, from different assembly languages, to very platform/situation specific languages, to even the often disrespected PHP & JS. And you know what? I did my job no matter what language it was, and whether or not I knew the language before starting on the project or job. And I did it well.

    This "Web developers are not real programmers" and "they don't understand just how easy their 'jobs' are" sounds a lot like sour grapes to me. This individual doesn't want to do web programming and that's fine. They are free to make their own decisions. But wanting to be a low level, OS type programmer requires the skill (which I guess we're supposed to assume this individual has?) and the opportunity. There are a tiny fraction of OS programmer jobs when compared to web programming jobs. In fact due to the explosion of web related jobs those derided PHP & JS programmers probably outnumber all other programming opportunities combined.

    At the moment I'm doing a lot of web & web server related programming. My clients love the fact that I can do everything, from the project management, system design, the server & front end programming, the database design & management, the server admin, the <you name it>. And I do it all very well, and very quickly. I write everything from scratch - no frameworks here - and I produce. The lack of meetings required to get the project manager, system designer, head programmer, DB admin, etc together saves so much time and saves the client a lot of money. And when I bid a project I make sure that I am very well compensated for all my talents and the quality & productivity I provide.

    And before I'm accused of "well compensated is all relative, so you must be a 3rd world programmer", I'm born, raised and reside in the US. My rates are not cheep by most standards ($125 - $175 p/h based on the client, the job and the urgency of the request), I work 60 - 80 hours a week and I have enough of a backlog of client "wish list" projects that I could stay busy for months without taking on additional work. All as a lowly "web programmer".

    If this individual is unhappy with their job/opportunities/future then they only have themselves to blame. If they don't want to "stoop" down to the level of a web programmer that is their prerogative. If you don't like your opportunities, make your own.

    Starting Score:    0  points
    Moderation   +2  
       Interesting=2, Total=2
    Extra 'Interesting' Modifier   0  

    Total Score:   2  
  • (Score: 2) by c0lo on Sunday July 26 2015, @01:33PM

    by c0lo (156) Subscriber Badge on Sunday July 26 2015, @01:33PM (#213826) Journal

    This "Web developers are not real programmers" and "they don't understand just how easy their 'jobs' are" sounds a lot like sour grapes to me.

    I think you got it wrong: it is not he was thinking, it was what he was hearing/reading on HN, r /r/programming or other online forums. So much that he started to believe that what's he was doing was crap until he could do it no more; and he can't do something else either for the fear of yet another failure.

    --
    https://www.youtube.com/watch?v=aoFiw2jMy-0 https://soylentnews.org/~MichaelDavidCrawford
    • (Score: 3, Insightful) by tonyPick on Sunday July 26 2015, @02:33PM

      by tonyPick (1237) on Sunday July 26 2015, @02:33PM (#213852) Homepage Journal

      Yeah - the line is:

      The consensus on programming forums is that web developers are the lowest tier of software developers. Web development is easy, it's not real programming, it's just CRUD frameworks and APIs doing all the real work for you

      And I have to say (as a lower level/embedded developer in the day job): That consensus is complete and utter crap. Just because the frameworks exist to build on, it doesn't make the things built on them somehow "not programming" or automatically trivial. It's like saying that hardware design is easy, because somebody else made the capacitors.

      Anytime anyone suggests to you that web development is easy remember to ask "So, why have you have decided not to do this 'easy work' better than everyone currently doing it, and in the process pick up a salary which will allow you to retire in a couple of years?"

      • (Score: 1, Informative) by Anonymous Coward on Sunday July 26 2015, @03:10PM

        by Anonymous Coward on Sunday July 26 2015, @03:10PM (#213870)

        "So, why have you have decided not to do this 'easy work' better than everyone currently doing it, and in the process pick up a salary which will allow you to retire in a couple of years?"

        Because I have self respect.

        Web development has pushed past the coder ream anyway. With a web page being 1MB or more, most of it ad and tracking info, it is consuming resources that are best used else where. Now they are pushing this same bloat to smart phones as APP, simple toy interfaces that a simpe web based process could handle. Instead they are eating your power and network access to get more information about you.

      • (Score: 3, Insightful) by VLM on Sunday July 26 2015, @03:18PM

        by VLM (445) on Sunday July 26 2015, @03:18PM (#213872)

        why have you have decided not to do this 'easy work' better than everyone currently doing it

        Its like a union shop where being good is defined as following groupthink about graphics art and UI design as closely as possible. Meanwhile every idiot who can make a blog post thinks all you do is open notepad and put in the blink tag and surely they could do it their way (aka "better") in about five minutes, despite it not being true. When you told the users you were making them a better carriage, they thought you were making a mechanical horse instead of a model T and the complaints are starting to roll in. Meanwhile "everyone's a critic" means some kid read an article in wired and insists you change everything to light blue color scheme while hijacking the scroll bar and he must be right because he's a trendy college kid, I mean look at his fedora of might. Also the business requirements changed the week before release and now we need to replace one dropdown with an entire IRS 1040 long form, but we already did training for the internal users, so you can't change anything.

        Note that I'm not claiming its a lowly skill or level, but I am explaining why its an ungodly unholy pain in the ass. Every time I get "stuck" with front end stuff, what agony, those guys earn every penny and then some. Probably making fun of them is some kind of compensation thing for people who want to do that hideous stuff but know they don't have the intestinal fortitude to tolerate it so they lash out. "Ha ha you can add 2+2 and I can't so you're a nerd" but rewritten for an IT script.

  • (Score: 2) by TheRaven on Monday July 27 2015, @10:51AM

    by TheRaven (270) on Monday July 27 2015, @10:51AM (#214220) Journal

    This "Web developers are not real programmers" and "they don't understand just how easy their 'jobs' are" sounds a lot like sour grapes to me.

    It sounds pretty accurate to me, but it's a reflection of the programmer and not the tools. JavaScript is a very powerful language (prototype-based OO, first-class closures, rich support for variadic functions), but it also has a few syntactic and semantic oddities (semicolon insertion and the semantics of the + operator, for example). Unlike PHP, it's not a particularly badly designed language, it's just one with a few quirks. You can write really good code that does interesting things in JavaScript.

    You can also write total crap in JavaScript. The difference between writing total crap in JavaScript and writing total crap in C is that the C code will likely segfault, whereas the JavaScript code will likely work for a large subset of the input. This means that it's much easier to call yourself a web developer and ship stuff that kind-of works than it is to call yourself a systems programmer and ship stuff that kind-of works.

    --
    sudo mod me up