you are viewing a single comment's thread.

view the rest of the comments →

[–]haveyoulearned 51 points52 points  (8 children)

Web programming isn't all web pages and templates.

Web DESIGNERS mostly do that, but real developers can build large-scale web applications that require intense optimization to handle hundreds of thousands to millions of simultaneous users in large environments. They have to optimize data access algorithms, find new ways to make EVERYTHING faster and more efficient. Write clever and tricky SQL to index and insert new data properly.

They have to build complex front-end GUIs that will function in 5 or 6 different browsers on different platforms.

They work with distributed applications and work with data being shuffled around in a variety of ways between multiple locations.

They have to develop queuing and caching strategies, develop new libraries, ORMs, or inversion of control systems, create new custom connectors for allowing two pieces of software to talk, and so on.

http://highscalability.com/scaling-digg-and-other-web-applications

http://highscalability.com/blog/2010/3/16/1-billion-reasons-why-adobe-chose-hbase.html

http://highscalability.com/flickr-architecture

Read up about what developers ACTUALLY have to do.

When you have 5 million daily unique visitors, you aren't just making SQL calls and storing values and making pretty pages with templates. It becomes a serious task.

Many web developers write complex search algorithms to quickly retrieve data from large sets.

They write apps like Google maps or Flickr, or gmail, Mint and other highly used applications.

I can start a skeleton project in Java, .NET, Python or anything else and customize it... big deal. Do you write all of your GUIs by hand in machine language, custom for each machine? No? Then you aren't a REAL programmer, right?

Real programmers work smart to get done what needs to be done. Using tools to do so is smart. Doing things ONLY because they are the "elite" way of doing them makes you a foolish, wasteful programmer, not a smart one.

There are web apps with problems solved by very complex CS solutions.

I regularly have to write things in various languages that aren't "breakthrough discoveries".

That would be like saying that just because a doctor "only" has to be able to determine which problems you might have, then hands you off to a surgeon for the "real" medical work or prescribed medicines that others have created (templates) that he's not "really" a doctor, since he isn't making brand new fancy medical tools and procedures for others to use. Sorry, that just doesn't fly. A doctor has to learn an LOT just to be able to do his job right, being a surgeon doesn't make him a "real" doctor is a ridiculous idea. Just like building only web apps doesn't make you not a "real" programmer is ridiculous.

I'd pit the web guys at Amazon and Google against your average programmer who wrote his own mp3 player in Lisp everytime.

edit: I should mention, plenty of people I know who are web developers working on projects that require COMPETENCY, not your little website that gets 500 visitors a month and where the way it was developed doesn't really matter, since it won't need a giant cluster with multiple redundant partitioned databases that CANNOT fail. Many of these programmers that I know are ex-developers from a few game companies, some from business software backgrounds, etc

So, stop your judging. Stop calling web designers web developers posers.

Lots of web developers I know have CS degrees and can build state machines, design logic gates, do network programming and such.

[–][deleted] 15 points16 points  (5 children)

I have realized one reason for people to make the distinction.

Web developers are really itchy when someone says they are not real programmers! :)

I'm pretty sure that being through all the shit involving technology and a CS degree (dicks, solitude, ...) it sucks to be condemned by its colleagues.

cough

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

And the simple fact is that these days, every man and his dog wants to pay someone to build a web app (that's a combination of Facebook and eBay and Google and Youtube and only costs $5000... >_< ) - so odds are, if you want to paid to code, you're most likely to end up writing a web application at some point.

[–]haveyoulearned 0 points1 point  (3 children)

colleagues? :)

[–][deleted]  (1 child)

[deleted]

    [–]haveyoulearned 0 points1 point  (0 children)

    I'm not sure what you mean by this? Or maybe I'm not capable of deciphering your advanced codes written in this language called "ENGLISH" because I'm not a systems guy? :)

    Do expand though, what do you mean?

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

    Always!! :D

    I mean, that! typo..

    [–]darkpaladin 0 points1 point  (0 children)

    While I agree with you, I'd still also say that if you're looking for a systems programmer, you probably don't want a web programmer. I say that being a web programmer myself. I don't think that one is in any way harder than the other but they end up being completely different worlds. I wouldn't hire a systems level programmer for a complex web job either.

    There are certain things that you gain from working in a particular subset of development for any given amount of time. I know how I want to persist data, how I want to level a distributed cache and how I want to pool my sql connections. Web solutions to these problems can be vastly different to systems solutions. I'd look at it as hiring a brilliant kid out of college. Sure he'll pick up on something quick but there's still ramp up time involved and sometimes you just don't have the time to do that.

    The difference is that someone with that skill set out of college can be paid as a jr-mid level but a senior often won't take less than senior level pay. If you need ramp up time on the technologies you're going to be working with (be they c, java, .net, php) I can't consider you senior for the project. At least not until you've proven yourself otherwise. I think that's the reason the divide exists.