Live data from Hacker News

The self-hating web developer

joequery.me

81–90 of 214 posts

Re: The self-hating web developer

#81
post #2

I've definitely had these feelings too - sometimes still do (the feeling of struggling with a problem i assumed should be easy). I also tend to naturally spread out my knowledge a little too thin on various projects and not really make meaningful progress on any of them. Two things have helped for me - one is to have a useful project in mind for the thing you are learning, so you have a payoff at the end. The other i…

Understanding the Subject -- I think this better describes understanding the problem you're trying to solve. After that, solving it in any language, while not trivial, is still far easier.

Re: The self-hating web developer

#82

In intellectual pursuits like programming, it is easy to fall into the trap of thinking that only intellectually hard things are worthwhile. Which in turn leads us to think of an intellectual ladder with mathematics at the top. This causes us to disregard the creativity and effort required to produce useful things (such as websites) even when no intellectually hard problems need to be solved. I think this is a toxic…

And even toxic to mathematicians. There is value in applied mathematics, just as there is value in getting things done with php/html/cars/js.

In the long run it doesn't matter if you're not the next EWD or Euler in the long run.

Re: The self-hating web developer

#83
A web developer wears many different hats. These days you have to be a real polymath to make really beautiful and functional websites. I never enjoyed the limiting belief that web development is some symphony of JS+HTML+CSS in the browser. It's more than that, and it is multi disciplined. Elements of WebPerf, Browser Engine quirks, progressive enhancement, A11Y, Design, UX, build scripts, templates, design patterns, server backend, frontend, bothend, mobile/handheld, analytics, rendering engines, etc

The list could go on for some length.

Not to mention the various principles borrowed from 'real' software engineering canon, like D.R.Y, K.I.S.S, etc.

In terms of proficiency and confidence, you should look up the Dunning–Kruger effect

https://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect

And its ugly cousin:

https://en.wikipedia.org/wiki/Impostor_syndrome

Re: The self-hating web developer

#84
Also one of the question the OP has not answered, and that I've seen a lot of people asking themselves is

How one does leave web development.

I'm graduated from an engineering school, were most of my classmates were doing smallwebsites/wordpress plugins etc. on their freetime for the easy money (as anyway it's very rare, if not impossible, to find a freelance job as a student on embedded system)

To the point that when they're graduated, as they've accumulated experience in web development, they find a job in it. And later they get defined as a "php developer" , though we did learn about data structures etc.

Then HR will discard your resume when you apply for a embed system or other non-php related job, because you got nothing marked with it on your past experiences (even if you had worked on some arduino on your freetime).

So how one does the conversion ?

  * create/participate to open source projects in the field you're interested ?
  * try hard to find a job that involve both, so that internally you can try to make the transition ?
  * remove the PHP experiences from your CV so that you're just a "junior"?

Re: The self-hating web developer

#85
I'm constantly impressed by people who have true, in-depth knowledge of any space.

If you're world class at HTML / CSS, know the specs intimately, know the differences and quirks in rendering engines and can explain why IE8 renders a selector differently -- that's impressive. That's also very valuable.

That wouldn't be considered real programming by a lot of folks. Who cares.

I've found that going broad is fun, going deep is hard. If you find yourself seeking challenges, there's often little need to branch out. If you dig deeper, you'll run into highly technical, hard problems really quickly. You also gain expertise few people have.

Re: The self-hating web developer

#87
post #6

Yeah, modern web development is actually really fucking hard mainly because you have to know so many different things. To build an application from scratch, and do it well, you have to have deep knowledge of, let's see... * At least one server side language * Probably a server side framework * HTML * CSS * Maybe a preprocessor language like SASS or CoffeeScript * SQL * HTTP * Probably a SCM like Git * At least one se…

DNS, Javascript, JSON, TLS and certificates, client side frameworks. I always find it amazing that people recommend web programming to beginners. The amount of stuff you have to learn all at once as a programming beginner is really overwhelming when you are just writing a simple local program, never mind adding all the complexity of networking and deployment and server config and the half dozen web techs. I think a l…

> The amount of stuff you have to learn all at once as a programming beginner is really overwhelming when you are just writing a simple local program, never mind adding all the complexity of networking and deployment and server config and the half dozen web techs.

You don't need to know more than HTML, CSS and PHP to "get started", and you can learn those one at a time, in that order - and once you know those 3 you can keep progressing, learning one thing at a time.

When I was younger and learning programming, I had an extremely hard time seeing what I could do with it. I was working with C and Python, which lends itself to simple command-line programs - but at the time I had no experience using command-line programs, so I had no idea what sort of thing I'd want them to do.

Things I had experience using, GUI programs and games, had a far higher barrier of entry and/or a much steeper learning curve. Now, I'd have a much easier time, I could separate the UI from the logic and write unit tests to have a sense of progression, but as a beginner, those things are out of reach.

The first really useful thing I wrote was an IRC bot in python, but even that was incredibly difficult. I had to work with sockets, threads, events, character sets... I don't even think I had a server to run it on, so I just ran it on my desktop machine that was on all the time anyway.

Compared to when I discovered PHP a few years later, it was immediately clear to me what I could do with it. I had experience using a lot of different websites, so there was a lot to draw inspiration from, and the barrier of entry was really low.

Re: The self-hating web developer

#88
post #20

There are few things in life more important than choosing one's peer group well. The Internet gives you many more options than we had available prior to the existence of it. Choose wisely and re-evaluate that choice periodically to see whether your peer group continues to represent your goals and values. Why? Your peer group literally gets arbitrary code execution on your brain. (It's a flaw in MonkeyBrainOS 1.01 whi…

May I quote your first two paragraphs? I have a few people starting out as programmers who really need that kind of language to get that point to them.

Re: The self-hating web developer

#89

The "language hate" in programming is truly cancerous. I know several people who started programming only to get twisted and turned around by experienced developers saying, "Don't learn PHP" then "Rails is a joke and doesn't scale well." I talk to them a week later, and they're trying to build a simple web app in functional Haskell, and their environment is all messed up because they are using a zsh configuration the…

Well, now you know one who started out writing machine code. And I'll tell you, don't learn PHP and Rails is a joke and doesn't scale well. But any noob switching to Haskell to do a simple web app is equally insane.

Rails may not scale well, but it's incredibly fast for pumping out CRUD apps. I've seen noobies in Rails move much faster than Node.js projects. Likewise I'm sure someone has seen the opposite.

I'm not here to tell you Rails is better than alternatives, but as programmers we need stop being so scathing in our opinions about other languages or frameworks.

Has it ever occurred to you that somebody may have started learning PHP, or Ruby/Rails, or Perl, or Java, simply because that was the only viable option available to them within the trajectories of their lives that would allow them to make a living? I know people learning Ruby who out of economic necessity had to switch to PHP to land a good paying job. This is particulary true in smaller cities where opportunities are far more scarce.

Switching to PHP is not a choice that I would personally want to make, but I do not judge or think less of programmers who end up doing this when they're first starting out because they have to.

Re: The self-hating web developer

#90
post #20

There are few things in life more important than choosing one's peer group well. The Internet gives you many more options than we had available prior to the existence of it. Choose wisely and re-evaluate that choice periodically to see whether your peer group continues to represent your goals and values. Why? Your peer group literally gets arbitrary code execution on your brain. (It's a flaw in MonkeyBrainOS 1.01 whi…

I wanted to say something like your comment is just 1st order making people feel bad about 0th order making people feel bad, but then I'd be 2nd order making you feel bad about 1st order making people feel bad about 0th order making people feel bad, so then I just thought about how I felt and it was bad. What a mess. Good points about the importance of choosing a good peer group, I totally agree. It's really hard whe…

Your first sentence would be more appropriate if parent's post was directed at this subgroup.
Post reply on HN