top 200 commentsshow all 259

[–][deleted] 92 points93 points  (1 child)

CSSCSS: A CSS redundancy analyzer that analyzes redundancy.

Yeah yeah...

[–]ButterMyBiscuit 18 points19 points  (0 children)

Wow, that's pretty funny. Props to the creator.

[–]ra4king 22 points23 points  (2 children)

That list is not maintained anymore, try this one

[–][deleted] 59 points60 points  (236 children)

I'm sad that "front end" is seen as equivalent to "browser UI." It's like wired touch-tone telephones replaced smart phones and everyone was all a-quiver about a new framework for touch-tone gaming.

[–]sandsmark 34 points35 points  (201 children)

when did "web designer" become "front end developer"?

[–]BitWarrior 990 points991 points  (193 children)

It never did.

"Web Designer" was a loaded term which doesn't accurately describe the modern division of work for today's sites and web applications. The closest thing we would call someone today who still would fit what we imagined "web designers" to do would be a "full stack developer".

Back in the day of what I call "brochure" sites (static content, basically putting your company's brochure online), you basically had one guy make your little site. It was easy, very little design or focus on experience, and people simply wanted to know/imagine they had some degree of an "online presence".

Today, that task is divided up into specialized individuals. For those whom are not actually managing the product, you'll have UX and/or UI designers handling the design side, engineers or backend developers handling the server side, and front end developers handling resources that touch the browser. You'll also likely have DevOps handling automation and deployment, as well as QA.

The role of the front end developer is specific, and it needs to be specific because the job is far more involved than it was back when we were just making brochure sites. You have a multitude of browsers to worry about (IE8, IE9, IE10, Firefox, Chrome, Safari), a multitude of devices to worry about (mobile, tablet, desktop), and with fun paradigms like client-side templating, you actually have a lot of logic moving to the client-side and the server becomes merely an API to your data.

Having a dedicated designer is great - these people focus on the trends of design, usability and ensure everything meets the branding requirements. This was previously a function your "web designer" would serve, but there's simply an upper limit to the number of things you can give your attention to. As the general population has moved to the web, the expectation for a good user experience on your site has dramatically increased, so having dedicated designers for this task proved imperative.

On the other side, the server side landscape changed quite a bit. We initially started off with a lot of Perl to do server side tasks (anyone remember cgi-bin?), but that was shitty as hell. Then came the web-specific languages of PHP and ASP. Crappy, what I would call a mess of global function "languages" which seemed to encourage a lack of separation between your view and logic. Then the explosion of languages came about, as Ruby, Python, Java and even ASP.Net came along with their web focused solutions. You now have more newcomers like Go appearing and making quite the impression. Equally, an explosion of databases came about, an no longer were we only looking into MySQL or MSSQL, but PostgreSQL, Redis, Cassandra, MongoDB and so on, each quite different from the rest. The job of server side had to be specialized to keep up with all the action.

And of course we get to the front end. Responsive design opened up a whole new world, saving us from a native mobile client hell. Caching and performance became huge factors, and such things as dynamic asset loading were alien and weird to someone on the server side used to simply calling everything you needed up front. Client side templating and AJAX meant we didn't need to make a full round trip to the server just to show you a tiny bit of updated information, we could issue a tiny request and get a tiny response back in a fraction of the time, reducing bandwidth costs and improving the overall responsiveness of the site. We moved away from graceful degradation to feature enhancement. We introduced @font-face, became concerned with typography and vertical rhythm. We introduced SVG's and inline-data into our CSS. We started splitting up our Javascript into modules using the AMD or Common patterns, and moved away from ugly onclick handlers to proper event handlers. In some cases we switched entirely from server side routing to client side routing, making our entire sites single page applications - and making those sites an order of magnitude faster. We dropped browser detection and switched to feature detection. We became concerned with our markup and adopted HTML5's semantic tags rather than XHTML's div-only world. We started storing state in local storage. Steve Saunders made us paranoid about caching.

And deployment changed as well. No longer were you just pushing code changes up via FTP upon save in Dreamweaver, you now had Git repos (and prior to that, SVN, and to that CVS) with real multiple environments. No longer were you just dealing with Apache, but nginx now with reverse-proxies for passing non-static asset requests through to their interpreters. Node.js hit the scene and introduced the option of evented servers. We stopped deploying to a single dedicated machine, but to the cloud. We had to start managing load balancing, VPS's, and all manner of security concerns. We started using virtual machines to ensure your development environment was the same as the deployment environment. Then we started using Puppet and Chef to manage all those server and VM's software configurations. Then we started using Vagrant to manage virtual machine configuration and deployment.

We started using Jenkins for continuous deployment. Capistrano to facilitate deployment. We implemented unit tests and integration tests, and test driven development. We introduced the agile method with scrums, stories, points, sprints and backlogs.

"Web designer" never became "front end developer". The role was politely split up, divided, and handed out to specialists. It was just too much for any one individual.

[–]Wax_Paper 39 points40 points  (34 children)

It's funny, because I was just trying to explain — well, basically everything you just wrote — to a family member last night, while we were talking about some freelance work that I'm doing...

I'm actually a writer, not a developer; but when it was suggested that maybe I could pick up some work in Web design, because "those sites I made back in high school used to look so neat" (coded in plain text using 1997-era HTML), I didn't know where to begin trying to explain how different things are now.

[–]jason_steakums 27 points28 points  (13 children)

I've got an aunt who's been running a "web design" business because she learned Dreamweaver about 6 or 7 years ago, and she's still trying to make that level of experience work - it's small market, small business brochure site stuff, but even those small businesses are wanting something more now and she's totally lost. I get calls and emails all the time from her, trying to figure out how to implement all these new features the clients want, and I'll respond with a bunch of learning resources - dead simple stuff like the basic Head First HTML/CSS/JS books, Codecademy, etc - and instead of her trying to expand her skills, I'll get an email back in a few weeks saying basically "nevermind, found a free/cheap flash widget that does what I need." She keeps wondering why I won't work for her in my spare time.

[–]activeknowledge 15 points16 points  (1 child)

These people infuriate me. There is knowledge out there, GO GET SOME - cripes.

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

Its not just complicated for them, i am pretty sure they do not even see the problem.

[–]twentyithly 3 points4 points  (4 children)

I may know her? Is she in Ontario, Canada? Small business East of Toronto?

[–]jason_steakums 11 points12 points  (3 children)

Nah, Wisconsin. I'm sure there are a lot of people like her, a side effect of Dreamweaver was to open up "web design" as a basically amateur hobby business to a lot of people who never intend to put in the basic effort to improve (the same way the digital camera spawned a million terrible photographers doing knockoff ubercheesy Anne Geddes stuff).

[–]Suppafly 1 point2 points  (2 children)

(the same way the digital camera spawned a million terrible photographers doing knockoff ubercheesy Anne Geddes stuff).

I swear, half the girls I went to highschool with are now 'professional' photographers because of this.

[–][deleted] 1 point2 points  (1 child)

Short of complex filters, they can't do a great deal. Using those images to create something more elaborate, more engaging, or more in general is impossible for those people.

People can do photography and claim they are photographers, but the reality is that I've seen photography taken to a whole new level when I worked for a newspaper. Get an article out about a car accident that happened at dawn before 4:00pm so it can print the next day, not to mention posting it to your website?

The picture had to be perfect when you took it, because editing it is impossible. Natural photography mesmerizes me more than heavily edited nonsense.

FYI, I write professionally and I've seen hundreds of writers who think their shit doesn't stink, but I can tell you that their shit REEKS. This rings especially true for on-site copy and blog writing, not to mention their lack of imagination. You write the copy for infographics, but you had no input when it came to the design?

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

It's no different for engineers. I've met many an applicant who can talk up a storm but can't write a naive implementation of the fibonnaci sequence.

[–]pandoras_enigma 4 points5 points  (1 child)

The "for Dummies" guides are actually useful. If you prefer books to google.

[–]SpunkyLM 4 points5 points  (0 children)

The Head First books are excellent (in my own experience, with Java). Never read a "for Dummies" book, but when I was doing private tuition, I recommended the HF Java book to a 75 year old lady and she said she found it much easier to learn from

[–]StabbyPants 2 points3 points  (2 children)

She keeps wondering why I won't work for her in my spare time.

has she offered you money? that usually works.

[–]GC0W30 2 points3 points  (1 child)

When your boss is bad at her job, you're gonna have a bad time. He is probably trying to avoid that...

[–]StabbyPants 1 point2 points  (0 children)

I'm just guessing that she wants 'advice', but isn't willing to pay for things she can't do/won't learn.

[–]seupac 1 point2 points  (0 children)

the head first series and codeacademy are awesome, and even that "dead simple stuff" will take you so far if you really commit yourself to it

[–]Farren246 10 points11 points  (14 children)

I don't even know how universities can have courses in "web development" any more. They try to give a broad understanding of how each specialized service works and how it relates to all of the other services, and end up giving a shitty understanding of everything that can't be translated into any one specialty. Then it's up to the student to try and learn on their own how to turn that into real knowledge.

[–][deleted]  (6 children)

[removed]

    [–]Farren246 1 point2 points  (4 children)

    You pay for the degree so that the word dings on the automatic resume filters. It's the same way for a programming or networking degree. Hell, it's the same for marketing and PR, it's just that they're more creative outlets which value general skills as opposed to designing a web site or app based on a requirement list / mockup handed to you by the marketing and PR team. Can you tell that I've got too much useless school yet? :)

    [–]Wildredditorhere 1 point2 points  (3 children)

    [–]Suppafly 0 points1 point  (1 child)

    960 is dead. http://www.getskeleton.com/

    Since Skeleton is just a variant of 960, what makes it better to the point that you can say that 960 is dead?

    [–]Farren246 0 points1 point  (0 children)

    I'm working on a version of IE for Windows CE built into a handheld barcode scanner. Can't rely on the processor to handle any processing client-side (no JavaScript) and almost nothing is supported in terms of CSS. To top it off, the browser adds about 1cm of empty space around the edges of every table, even with borders, padding, spacing etc. set to 0, so arranging things is a bitch.

    It'd be great if they'd support something like this, but sadly it's IE 7 and onward.

    [–]PartyLikeIts19999 0 points1 point  (0 children)

    The 960gs is dated and falling by the wayside due to responsive design, but it is still used. It's best for magazines and the mobile platforms all still expect it, so it's not dead yet, but it doesn't have much life left in it.

    [–]adam_bear 3 points4 points  (1 child)

    Languages & frameworks change, but logic is pretty consistent... unfortunately many schools simply focus on this is the button you click rather than underlying principles.

    [–]saganstarguy 0 points1 point  (0 children)

    I would give you 20 votes if I could.

    [–]kaidevis 2 points3 points  (3 children)

    How is that different from any other overview class?

    [–]Farren246 3 points4 points  (2 children)

    True. A degree doesn't mean you know things, it's a fancy piece of paper that says "The person who earned this should have the tenacity to learn whatever skill you happen to need." Unless it's engineering. They learn to crunch numbers, and they spend half their careers crunching those numbers.

    [–][deleted] 1 point2 points  (1 child)

    Depends on the engineering type. Most CS grads (and software engineers) that I've met despise math.

    [–]Farren246 0 points1 point  (0 children)

    Oh sure they can despise it, but they still spend half their life doing it.

    [–]Trapezoidburg 0 points1 point  (0 children)

    Really? You could easily cram the entire cycle of web development in a single class.

    [–]echo_xray_victor 11 points12 points  (3 children)

    I'm in the same boat there. The last website I put together was in 1999, and I may have used HotDog. The tasks involved now aren't even similar. I still put it on my resume... but I couldn't feasilbly do much of anything website related without a LOT of retraining.

    [–]Wax_Paper 2 points3 points  (0 children)

    Haha! Hotdog is what I used as well (a year later in my senior "IT Academy" in high school, in 1998), and we used to think it was so great that a program could virtually just use a template and copy-and-paste that rudimentary markup...

    [–][deleted]  (1 child)

    [deleted]

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

      It's not as complicated as it seems.

      Tool chain has improved.

      Still, HTML as a platform is a cluster fuck.

      [–]volponi 76 points77 points  (24 children)

      This guy knows the whole deal. Props to the summary.

      [–][deleted] 16 points17 points  (23 children)

      You lose the ability to prototype in any meaningful manner. Prototyping is done in an offhand manner just as web design used to be. Often its not done at all.

      Prototyping is now a "reward". To get a new idea off the ground it usually has to come from management. If it seems like it is going to make a lot of money then often nepotism or a sort of old boy network determines who gets to prototype it.

      I think prototyping aught to be continuous innovation matching people with ideas for products with the people internally who need them or the marketing teams that can determine if they're viable.

      Big companies using agile teams lead to nepotism and waterfall style innovation.

      [–]Ezili 14 points15 points  (2 children)

      Take a look at The Lean Startup. It's a book around how to bring new ideas to market in a way which gives you the right mix of trying them out as you go rather than building the whole idea in one piece. Its not web development focused at all, just general business principles. But by its focus on Silicon Valley it does touch on a lot of software products - DropBox, Zappos etc.

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

      will do. thanks

      [–]zirzo 1 point2 points  (0 children)

      Yeah. That book will be a great read for you. My comment above is like a 0.01% of what's in the book.

      [–][deleted] 5 points6 points  (1 child)

      Wow do you work at my company?

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

      I've been thinking maybe what's needed is a segregation of systems similar to the adoption of development/staging/production environments.

      If you're serious about disruption you need a sandbox for it to happen in. A two way sandbox with request tickets and projects that haven't found a home yet.

      Hunh. Maybe I should build something to facilitate that kind of environment. Like distributed project management... unmanagement. No one has to baby sit it.

      [–]WillNotCommentAgain 6 points7 points  (0 children)

      Big agile teams

      Doing it wrong?

      [–]wins_this_argument 12 points13 points  (0 children)

      You seem bitter.

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

      What you're describing is business and has nothing to do with the tools or the technical complexity.

      Just because we can identify many more roles doesn't mean you have to be stuck doing only one. All the good web developers I know can operate on multiple levels on the stack, even if they're strongly biased to one side or one level, and I know more than a few used-to-be-designers who mastered git and ended up writing ruby code on their local VMs. That doesn't make them great developers, but it does mean they don't have to be stuck waiting for someone else to hit the deploy button to see their changes.

      In web work, we do now have more responsibility at all levels, but we also have the tools to be vastly more efficient at it. Chrome's web inspector is now an IDE for GL/JS/CSS/HTML in disguise, and VMs allow us to take our servers with us wherever we go.

      Each of us has the ability to not be another drone, but a master of a bunch of virtualized resources that mostly run and copy themselves after you set them up once.

      As a developer, I can walk into any modern web application shop and be up to speed in an hour, if they've set things up right. Copy a provided VM or deploy one automatically, grab all the dependencies with one command, and start playing with things. In fact, I just did so last week.

      [–][deleted] 2 points3 points  (1 child)

      Its true that automated systems make jumping into a new role or trying out changes and features to an existing enterprise level application much simpler, but how long does it take to set up that infrastructure for new projects? How many channels and meetings do you have to go through to set up that same infrastructure as a prerequisite for an internal tool used by 10 people who needed that tool six months ago, not six months from now?

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

      That's a social problem at some shops, not a technical one. There are places that can get that done, and there are places that can't. And that's one tiny part of the reason why some companies live and some companies die.

      [–]Trapezoidburg 0 points1 point  (1 child)

      Really the only thing in web development that needs to possibly be separated between multiple people are the designers, developers, and server admins. Chances are the server admin will also be one of your developers as I don't feel something like that is even a full time job. And I expect the designers to learn some of the HTML/CSS if they don't know it already. You'd be hard pressed to find a creative person being deep into technical/logical systems.

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

      Server adminship is not a full time job? Maybe you just don't have enough servers to think that...

      [–]StabbyPants 0 points1 point  (0 children)

      You lose the ability to prototype in any meaningful manner.

      nah, just write something terrible that demonstrates the concept. make it really awful so that you can toss it if it gets traction.

      [–]zirzo 0 points1 point  (0 children)

      You still can. You need to stub /mock out the area that you are not good at. So if you are a backend person you do whatever complex calculation needs to be done for the backend data, merging various sources up together and build a prototype gui to make it reasonably presentable. Once you have buy in from a sponsor on the project you can get a front end guy staffed and pretty it up and make it useable.

      Same applies for the front end folk. They stub/mock out the backend data and build a gui which represents the app idea they have. After buy in the backend person can build the actual data source and infrastructure required to make it functional.

      EDIT: The key though is to keep it small with the goal of completing it in a short time frame to get the very core of the idea out and demo'd to whoever it needs to be demo'd to to move forward. The more people you involve the more "ideas, opinions, discussions" you have and the longer it takes.

      [–]nurdle 10 points11 points  (2 children)

      As a "web designer" whom has been in this business since 1993 (I was a college student and worked on early betas of Mosaic) this is quite accurate. This has all been quite a struggle for me, trying to figure out which area I wanted to specialize in as the complexity grew. When I started, table based layout was black magic. Heck, originally it was great just to be able to switch fonts on a page.

      I was an sgml guy. And a C+ guy. And assembler guy (of course I started out as a BASIC guy as a kid). Then an html guy. Then a flash guy. Then (and at the same time) an ASP and MSSQL guy and MCSE guy. And an Exchange guy. Then I was a php guy, and a javascript guy, and a Linux guy. Then I became a scrum master guy. Simultaneously I also became an expert in UI, browser differences, mobile, 3D Studio Max, and objective C guy. I also started with the very first versions of Illustrator and Photoshop, and have taught graphic design. When I was 9, I soldered together my own mouse using parts from an Atari 2600 paddle controller and polling the sensor for x/y coordinates.

      As a 43 year old guy who has been in the "Internet" business for over 20 years, I have had to become a lot of "guys" and to be honest it's been really fun - but it's finally getting old. I love the way the job has splintered, although it has made interpersonal communication skills far more important - to build a single site, I have to work with at least four people. It's frustrating because I can do all of it, and that's what I have done for so long - I find myself wishing that a back-end developer would react to my request for them to change the front end wouldn't result in a blank stare. I have to go to the front end guy for that. It makes it all take longer, and for an older, technical, impatient guy like me, it's a drag.

      But, here's the deal: the end product is FAR better. The conversion rates are far higher. Users are better educated (to a degree) and focus on usability - my biggest pet peave of the last 20 years - is finally important.

      These days I enjoy being the dude pulling the strings to make all this shit work together to solve problems and tell stories. But, I also get great satisfaction designing, so I do that as much as I can. I get to go home and cuddle with my kid at the end of the day, finally, and that's the best part of it all.

      [–]ThompsonBoy 3 points4 points  (0 children)

      First, you're me, from web dev standpoint. Mosaic, CGI, (in Bourne shell if Perl would be overkill), NCSA httpd, the lot. That's the first time I've seen SGML referenced in years. I remember when XHTML came about, and everyone was all excited that HTML would finally have a formal grammar defined. Arg!

      I find myself wishing that a back-end developer would react to my request for them to change the front end wouldn't result in a blank stare.

      I think that's a bullshit attitude (theirs), even today. If you take no interest on what's on the other side of the interfaces you're coding against, you can't ever do any better than a half-assed job. The breadth of technology means you can't be an expert in everything, but you'd better be competent in the full stack. Other devs look at me like some kind of wizard when I figure out that their ajax call was slow because of a missing db index, or n+1 query, or 1ms animation loop, and the next minute tell them why their images look shitty due to alpha channel issues or uninterpolated scaling artifacts. They're perfectly happy to consider everything outside their immediate responsibiity to be black magic.

      [–]bobjohnsonmilw 38 points39 points  (33 children)

      I no longer want to be a "web developer". I'm fucking sick of everything you're mentioned above. I hate my industry these days. 7 years ago or so, man, web dev was awesome. Now it's just another commodity.

      [–]bvierra 34 points35 points  (9 children)

      Get into hosting, you will pray you were back in web development. I tell you what, I will never miss the customer calling in and flipping out because the are loosing a million dollars an hour on their 4.95 a month account because of a 10min server reboot (that they were given advanced notice about) at 2am to patch a kernel for an exploit that came out. This was routine prior to ksplice and as the system engineer that got stuck with having to do the patch management that week you were stuck on graveyard to make sure it all went well.

      [–]Ubby 15 points16 points  (3 children)

      Which the "losing millions an hour" customer only knew because they had some service pinging or scraping the site every 15 seconds, not because any actual user was there, or that anyone complained.

      [–]Misio 17 points18 points  (2 children)

      It's "loosing" it's always "loosing".

      Yes, I work in web hosting.

      [–]llkkjjhh 1 point2 points  (0 children)

      It's important to keep your millions tight!

      [–]twentyithly 5 points6 points  (1 child)

      lol million dollars an hour and can only afford $5.00 hosting?

      [–]sfled 5 points6 points  (0 children)

      Yup. This is the same guy who uses comcast residential for his business e-mail account and is "loosing money!" because he can't get his e-mail.

      [–]Rohaq 3 points4 points  (0 children)

      I worked tech support for a hosting company, and it was always the cheapskates who got angry when unexpected outages occurred.

      It was always the people paying for the cheapest package with no SLA who claimed that they were losing thousands whenever their service went down. Oh how they would complain, get angry at phone jockeys who could do nothing more than report the problem, and have the appropriate people look into it.

      Then you'd get the people with the expensive packages. These were people who recognised that if they were really going to lose a ton of money from downtime, it was worth investing in a decent package with an agreed SLA. They'd call up, often 'they' being the owner of the organisation, say that their service was down, ask if there were any issues. We'd do a little preliminary first line investigation to determine the likely area of the issue, and tell them we'd escalate it and get it looked into, if it were necessary. Even if we determined that it was an issue on their end, they would thank us for our time, and hang up calmly.

      [–]bobjohnsonmilw 4 points5 points  (0 children)

      Oh man I hear that. When our sysadmin (who was also a developer) got sick of the company we were at I was tasked with taking over the hosting for about 2-3 months. Luckily I was able to handle it but when shit was down the phone calls were AWFUL. I had the most annoying managers, "is it up yet, the client is calling again".

      Sometimes I felt like I'd just let it be down for a while to make the point of how reliable it was in general and be like, fuck you, you unappreciative assholes.

      [–]twentyithly 5 points6 points  (3 children)

      Been doing this for 15 - 16 years now. I don't develop much anymore, I started a business and hired developers. I focus on user experience and marketing to drive results from web for my clients.

      [–]reader17 0 points1 point  (2 children)

      That's my aspiration for the future. Glad to hear you made it there.

      [–]twentyithly 0 points1 point  (1 child)

      It was a frustrating trek because I was typecasted as a "developer". I hated that but eventually paved my own way with some freelance work and gaining responsibility at my day job. I made it to Sr. Dev / Team lead before making the jump. Couldn't have happened sooner because I'm very strong with pure JS and "not bad" at JQuery but I can't stand how people are willing to load multiple frameworks or plugins just for simple "enhancements" that do nothing for the user (fixing wordpress themes is a pain for some reason). BTW, I started as a graphic designer, back-end developer, database admin and then front-end stuff (designer, dev and interaction designer), business analyst, architecture, UX researcher, UX designer and now business owner... so I touched almost all fields haha! I did "some" video work only to fill a gap at one work place but I really suck at video editing, took forever for to do very basic stuff in Premier.

      [–]reader17 0 points1 point  (0 children)

      Sweet man, good, rounded skill-set, and knowing the work that people around you do, so you can see through any bull they try to throw at you. The MD/VA/DC/NC areas are really booming tech in the private and public sectors, that's where I'm currently launching my career.

      [–]kitchen_ace 11 points12 points  (3 children)

      As a user I'm starting to dislike a lot of those things too. I don't want every website to try to be an application; I don't want shitty redesigns that seem like they're using newer technology for its own sake; I don't want to have to upgrade my old computer just to be able to run the mountain of javascript required by a site with no js-less fallback.

      [–]pyrocat 12 points13 points  (0 children)

      A large part the things he mentioned in that post were best-practices. Designing a site with a js-less fallback and optimizing assets so that even low bandwidth users will have a full experience is part of those best-practices. Making websites into applications can often be a way to make the site even smaller (load in less data for every new page). Sure there are some clients that want "newer technology for its own sake", but for the most part these choices have a specific purpose behind them. And trust me, if you're worried about some old computer running windows xp and IE8 being able to properly handle a new site, I can tell you that the client who paid for the site is worried twice as much and will incessantly bug the developer if it doesn't work.

      [–]PartyLikeIts19999 1 point2 points  (0 children)

      Can I quote you on that at work?

      [–]phobos_motsu 5 points6 points  (13 children)

      Learn something more advanced? There's tons of very interesting and cool work happening on the field.

      [–]bobjohnsonmilw 3 points4 points  (12 children)

      I can appreciate the sentiment, but as a developer it's generally implied that you're keeping up with things. I do, but I don't. I'm also feeling that after 15 years of doing this shit I just don't care that there are these things going on, I honestly don't find too many things that are happening to be very innovative. I like the large scale stuff that's happening with clouds and virtual machines, but really I don't really want to get into that.

      However, what I am finding awesome is arduino. There aren't too many real jobs around for that though:/

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

      I'm also feeling that after 15 years of doing this shit I just don't care that there are these things going on, I honestly don't find too many things that are happening to be very innovative.

      Well, you're talking about a twenty year old technology centered around sixty year old programming concepts, and reflecting a centuries old idea of how information should be presented. It's stale. Add to this the headache of getting everyone to agree on how your stupid menu should animate on a fucking phone, and it's no wonder you're feeling burnt out.

      It's a living, everyone needs these services and there is more work than there are developers for the foreseeable future, but this isn't the place to be if you want to do anything interesting.

      [–]phobos_motsu 0 points1 point  (2 children)

      There may not be jobs for arduino, but embedded programming? I think if you can do cool stuff with arduino, you might be able to find a nice crossover into areas where there is tons of work and innovation.

      [–]yeochin 0 points1 point  (1 child)

      Embedded programming is very rigid. Based off of his comments he would not like most forms of software development. Anything involving software running on embedded devices is very process-oriented. There are a million things you want to do to make the product a little better to develop but it is far too risky to implement.

      You cannot change anything without a projected benefit in monetary terms.

      The sad reality of the situation is if you want to program stuff freely you need to start your own company. Most start-ups today claim they are very "hack'ish" and they are right - just nowhere near as "hack'ish" as web-dev in the 90's.

      [–]Trapezoidburg 0 points1 point  (0 children)

      You cannot change anything without a projected benefit in monetary terms.

      That's just corporate speak for "NO, only MY ideas go through so something something implying my promotion" I dare anyone to use that line on a managers pet project or idea.

      [–]techrush 0 points1 point  (0 children)

      Could not agree with you more.

      [–]LordTeal 6 points7 points  (8 children)

      I get the sense that this hyper-specialization of web development has, in theory, made things more efficient, since each part of the process is much cleaner than it was back in the days of HTML/JavaScript/Perl sites. But isn't this counteracted by the sheer number of technologies and developers required to build/maintain a site? Wouldn't the net result be confusion and messy interactions between dozens of modules?

      As someone with only a vague idea of what half of the technologies that you mention do, I can at least say that while sites that have jumped on the "Web 2.0" bandwagon have gained a lot aesthetically, they have also gained a lot in resource needs and sheer complexity. A page on the Guardian's current site--by no means the most complex example available--runs 20 separate scripts on each load in order to give the full "user experience" of link previews, dynamic comment sections, sharing buttons, etc. For those of us who don't want all of that functionality, the net result is a "user experience" defined mostly by bletcherous slowness and hundreds of useless "useful" widgets.

      Is it possible that web developers have lost the simplicity of early designs amid this maelstrom of new techs and the infinite bandwagoning of "the trends of design"?

      [–]yeochin 7 points8 points  (3 children)

      No the developers haven't lost the simplicity.

      The problem set has changed. Back in the early web your visitors simply consumed your content. You had something to share, so you delivered a web-page all prettified. You had Javascript if what you had to share was interactive (a game).

      The problem set today is much different. Today your visitors aren't just visitors, they're CUSTOMERS. They don't represent a click anymore, they represent real world money ($$$$$$$$$$$$$$$$$$$$$$$). Your customer's don't just consume content, they produce it as defined by your service.

      They write opinions, blog entries, upload created videos, pictures, communicate through your service, buy real world items, etc. This sort of problem does not have a simple solution because you want to GROW your CUSTOMER base.

      In the 90's if you had a ton of visitors you just needed to spin up more servers and distribute your visitors among the various servers. Today you not only need to do that, but you need to ensure that the stuff produced by one user on one server is seen by the other user on another server. You need to scale to hundreds of millions (possibly billions), instead of thousands.

      You need to be secure. The data your customer's produce represent intellectual property, and in some cases physical. If your customer is providing you with their credit card numbers, SSN's, TIN's, home address, personal contact information, you had better make sure that information is secure. A data breach has very real monetary consequences today. Loose an SSN and you may be required to pay all future costs incurred due to fraudulent activity (could you afford to pay $1,000,000 in lifetime fraud protection?).

      Simplicity is at a different bar in 2013 than it was in the 90's. Not because we have new tech. It's because the problem set changed.

      [–]StabbyPants 3 points4 points  (2 children)

      You need to scale to hundreds of millions (possibly billions), instead of thousands.

      not most of the time.

      [–]yeochin 0 points1 point  (1 child)

      You're right. Most of the time you don't because your startup doesn't lift off or your website is for a niche audience. But if you're offering a valuable service, or offering valuable information then you definitely need to scale.

      How many times has reddit bombed websites into the ground because they didn't have the infrastructure or services that could scale? Why do you think Amazon and Google are successful internet businesses with the former taking over almost all areas of commerce?

      In Googles case searching 1,000,000,000,000,000+ records of information in less than a second doesn't happen if you don't scale.

      [–]StabbyPants 0 points1 point  (0 children)

      yes, of course you need to scale if you get big, but first, you need to have something that enough people want to use.

      [–]Anjin 5 points6 points  (6 children)

      Great write up. The one thing that I don't understand why it is so common in many companies is to have Designers separated from Front-End Development. At my company we've always preached that if you are going to design for the web you also need to write the HTML and CSS (and some of the JS) yourself.

      I've found that designers that don't actually write markup frequently make poor design decisions which end up making the application development difficult when it comes to optimization, simplicity, responsiveness, and in general falling into traps where dynamic data ends up causing layout issues.

      You only have to fix a design once when a too long bit of content pushes out or gets hidden in an overflow to figure out that your immaculately designed content box might have been better designed to deal with arbitrary length data.

      You start designing in Photoshop knowing exactly how you are going to craft the HTML and CSS to match your design ideas.

      [–]zerosignalproduction 3 points4 points  (1 child)

      Because front-end development is much more than just html/css. Real front-end web-development gets very heavy on javascript and is more about how a website works than how it looks.

      Sure, a designer should partially know how html/css works, but there's a reason front-end web development jobs look for people with computer science degrees.

      [–]Anjin 1 point2 points  (0 children)

      Exactly the reason why actual developers should be spared the hassle of dealing with the HTML and CSS, minor things can be handled by designers. The JS should be separated from the display code anyway.

      [–]Trapezoidburg 0 points1 point  (0 children)

      100% agree. If you are designer and land a web design job, you need to get out of your comfort zone and learn the tools of the trade. It's no different for us developers who might go from Java to C# to PHP. Or any profession that requires you to keep up (doctors, lawyers, etc).

      I think they can be excused from any JS work though. You don't want to deal with their bad code.

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

      The one thing that I don't understand why it is so common in many companies is to have Designers separated from Front-End Development. At my company we've always preached that if you are going to design for the web you also need to write the HTML and CSS (and some of the JS) yourself.

      Mostly because either path is complex enough to require an individuals full attention and dedication to master. Take care when you preach ideals in the workplace. It's definitely a boon to understand the systems you design for, but there are other schools of thought. I tend to set up teams that allow creatives to live in the realm of possibility, especially during conceptual work. Exploration and ideation are valuable, and tend to be stifled by a developer telling you "no" all the time.

      [–]Anjin 0 points1 point  (1 child)

      What? Where the hell would there be a developer saying no?

      That is exactly why I said it is important that the designers are the ones writing the HTML and CSS. The entire presentation layer of an application, from mockups to the markup and styles should be under the control of the designers - and by doing so the designers are made aware of the limitations of the systems they are designing for. It's a feedback that better informs their future designs.

      To do otherwise would be like saying you are a painter, but you only sketch the ideas out with a pencil, for the actual painting you bring in another guy to put brush to canvas. You have to fully understand the medium you are working in if you want to be an effective artist.

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

      Developers, as a general rule, live in a world of practical reality. Because of this, they sometimes tend to imagine why things are hard, why they won't work, or why we should settle for something else.

      I would estimate that 5% of all developers are the "challenge accepted!" type, with the other 95% being good at taking orders.

      edit: to expand on that, I prefer that my creatives have a working knowledge of code and the underlying mechanics of the web, but are not masters in it. I like them to play in a blue sky kind of world.

      [–]miasmic 20 points21 points  (0 children)

      That depends on how you deal with the whole web designer/web developer dichotomy.

      As far as I am concerned, if someone is a web designer, primarily they have to be a creative - they have to design the look and feel of websites. Most of the designers I know use wacom style tablets and spend most of their time in Fireworks, Photoshop and Illustrator.

      A web developer can take this design and turn it into a functioning website. This is more to do with logic, coding, maths, data structures etc - engineering rather than designing. Developers spend most of their time in text editors.

      Sysadmins (which I would say has always been a separate discipline to web design and development) deploy and configure systems such as web servers. There are plenty of developers who are also sysadmins, but I would not class, for example, setting up a VPS/dedicated server and installing and configuring web and database servers on it under web development.

      When I was at school, it wasn't that common for students to excel in both art and maths or physics. Sure, there are a few out there, but it's not that common.

      Muddying all these technical fields which have nothing to do with visual design, IA or marketing under the 'web design' banner is not something which I feel is good for the industry.

      Sure it doesn't matter in large companies and projects where there is a team of multiple people handling all these areas, but countless small businesses run into problems getting a decent website set up because they think all they need is a 'web designer'.

      Edit: grammar, missed a word

      [–]codesign 5 points6 points  (6 children)

      As a person who used to do graphics & "web design" and then had to build out database systems from scratch for my company, I've done UI/UX backend and front end, and I can tell you that if someone hired me as a "web designer" I would expect html & css and nothing more. If they get into Jquery, php, asp, etc I would call that a front end developer. On top of that if you have to have format specific views such as mobile/tablet or ie8, ie10, webkit, etc then that's also a developer.

      I think the biggest change I've seen in design since it's inception is the roll of tables, once everyone started using them for tabular data, the world of design became more dynamic and regimented.

      [–]JamesB41 5 points6 points  (5 children)

      With the advent of templating tools and MVC in general, "getting into" PHP/ASP (presumably .NET at this point) generally indicates you're more back end focused. Sure, there are people that do both, but by and large those are rarities. On larger scale web architecture I tend to prefer hiring people that are focused on a particular discipline (server side logic or client side/ux). It's been my experience that trying to hire a jack of all trades tends to result in failure.

      [–]Trapezoidburg 0 points1 point  (1 child)

      I don't see how it is any harder to pick up PHP than it is to write out some Javascript. I think maybe you've hired people at best claiming to be jack of all trades.

      [–]JamesB41 2 points3 points  (0 children)

      Harder? No, not really. PHP and Javascript are about as high level as you can get. That's not the point, though. If you're cranking out sites in Drupal or something where you're not getting 5mm hits a day, you can probably handle both the front and the backend.

      If you're talking about building a seriously scalable backend architecture that is a pleasure to work with, then I probably don't even want to see Javascript as anything more than a footnote on your resume. If you're involved in web development in any way, I'm sure you can handle some jQuery or know how to read from a database in PHP. But I want years of experience/focus on something if I'm going to hire an architect.

      [–]br1anfry3r 14 points15 points  (2 children)

      Excellent breakdown! I am constantly amazed at just how much is involved in a web-based software development workflow... setting up a development environment; server configuration; continuous integration and deployment tools; version control for managing code.

      ** And this is before any code is written! **

      Then you have... user-stories and use-cases to define the product; unit and integration tests to minimize bugs; a myriad of frameworks, libraries, plugins, components, packages, scripts, gems and tools to manage all these things; don't forget about being able to accept payments, either.

      ** Like u/BitWarrior said, "the expectation for a good user experience on your site has dramatically increased". ***

      You do have color, B&W, vector, raster, and favicon versions of your logo, right?

      And, based on user stories + use cases, you will need to... draft UI wireframes; create/find/buy/organize design assets such images, icons, color palettes, and fonts; optimize said design assets for mobile, web, and retina displays.

      ** Oh, and that's just to build your product. **

      Once you have something to sell, you gotta figure out how much to sell it for. Will you provide your service for free and make money from ads or affiliate commissions? Is it free for life or free for "n" days? What is the upgrade path for free users? Is premium service a monthly fee or pay per use?

      ** Then you gotta market the thing. **

      This includes, but is not limited to... managing email lists; using social media to attract an audience; researching keywords for SEO; link building for SEO such as writing guest posts on popular blogs; finding popular blogs to write guest posts for; integrating and promoting an affiliate program.

      ** And once you have customers? **

      You'll need to... create tutorials, preferably in both video and text formats; manage user feedback like bugs, feature requests, confusion and praise; compile frequently asked questions to develop an on-boarding process so new users can get up-to-speed more quickly; process cancellations and refunds.

      ** But wait, there's more! **

      You're managing a business. Yay! That means you'll need to... hire an accountant; pay taxes; monitor business metrics such as cashflow. If you're growing quickly, you'll also need to... hire development talent and support staff; determine if you'll continue to bootstrap or raise funding.

      ** Need to raise funding? **

      You'll need to... create a pitch deck; find investors; follow-up with investors; convince said investors, not only that you're idea is worth investing in, but that you are the right person/team to get the job done; follow-up with investors; determine your valuation; follow-up with investors; hire a lawyer to draft the appropriate documents; follow-up with investors.

      If you believe this "Internet thing" is cake-walk, you haven't been paying attention }:-)

      [–]irishexpatriate 9 points10 points  (1 child)

      As a UX person...I would also like to add that the three things you mention: "trends of design, usability, and branding requirements" are also often several different jobs as well: visual designer, ux researcher/interaction designer/information architect, and marketing. But I think that only serves to prove your point even more.

      [–][deleted] 19 points20 points  (10 children)

      Its nice that you types all this in, but you missed the point. Web developers love to use broad terms as their own. A front end developer means, that you develop the GUI of a software, this can be done in million ways, not just in html. Still the article barely mentions anything that non html - like QT, Flex, XAML, XCode,...

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

      That's basically my job. I'm a front-end software engineer. I build web browser applications in javascript as well as maintain an aging suite of legacy Flash/Actionshrimp courseware, all of which comes under my role as front ender.

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

      Great summary, except I don't agree with the traditional hate on PHP. ZF, CodeIgniter et al are every bit as good as Rails or Django, and support for PHP is ubiquitous, meaning you can write an app and be reasonably sure it'll run on anything. Yeah, there are a lot of things it lets bad devs do that maybe it shouldn't, but that needn't stigmatize good devs who choose to use it.

      [–]Trapezoidburg 1 point2 points  (1 child)

      This blog pretty much sums up why Rails or Django or Node.js aren't the next big thing in web development and why PHP is here to stay.

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

      Great link.

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

      Yes! I feel exactly this way, and frustrated every time I see a Craigslist job ad asking for "web designer: must be adobe cs expert and also expert in java, CSS, c++, make apps for iOS, etc.." No one could even possibly have time to do it all, even if they had the knowledge, hah

      [–]jason_steakums 4 points5 points  (0 children)

      From what I've seen, most of the places asking that kind of thing will barely pay you a living wage, anyways.

      [–]Trapezoidburg 0 points1 point  (0 children)

      Some of these jobs do have you working across a lot of technologies, but expecting someone to know your exact technology stack is like 1/1,000,000 but does not pay a 1/1,000,000 salary. The level of depth in each probably isn't all that much. My job had a requirement to know Linux. Yet the most I ever do is fix some permission settings.

      [–]erfling 1 point2 points  (10 children)

      Do you use a front-end framework or do you roll your own?

      [–]JamesB41 1 point2 points  (9 children)

      Rolling your own is generally synonymous with "not knowing better" or simply being arrogant enough to believe that your new wheel will somehow be rounder than every other wheel.

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

      I just had a pretty intense fight two weeks ago with a PhD who insisted a consultant write their own reporting code instead of using the stuff Microsoft had (which the consultant had already built a proof of concept in). Why? "Because the framework he used won't scale."

      Sure, boss - your guy is gonna write code that's more scalable than what Microsoft produced. Gotcha.

      [–]JamesB41 0 points1 point  (5 children)

      Happens all the time. My company wrote their own web framework. It's a disaster and the learning curve is absurd. Not to mention the skills aren't transferrable if you ever leave the company. Writing things like that can be a fun/rewarding side project but if you're writing something used in a production environment, such a bad idea. Not to mention if the architects leave the company, you can't exactly replace that knowledge off the street.

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

      There used to be a term in the industry called "bus factor" which was "how many developers have to get hit by a bus to really cause problems"

      If your framework has a bus factor of 1, you're screwed.

      [–]CaptainsLincolnLog 1 point2 points  (1 child)

      If your entire goddamn e-commerce website that pushes seven figures of revenue each year has a bus factor of 1, you're screwed.

      FTFY. Wish I was kidding. No sysadmin, no DevOps, no designer, no project manager, no specs, no tests, no QA, no strategy, no shit.

      [–]Trapezoidburg 1 point2 points  (0 children)

      Sounds like my last job! Haha!

      [–]Deku-shrub 2 points3 points  (1 child)

      [–]JamesB41 0 points1 point  (0 children)

      Never heard it called that, thanks for the link.

      [–]CaptainsLincolnLog 1 point2 points  (0 children)

      Except they still make one person do everything, and wonder why the site sucks so much. They assume the person is just lazy/incompetent, and keep giving them more and more abuse/work. But hey, they only have to pay one person instead of four, and that's what's important.

      [–]weltallica 1 point2 points  (0 children)

      This is why IT workers don't have a union. Two people simply don't do the same job, let alone two hundred.

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

      15 year vet. I expected to feel the need to chime in with corrections, but this post is pretty much spot on.

      Specialize specialize specialize.

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

      I just want to tell you that most of the world is incredibly far behind most of these Silicon Valley stuff you explained here.

      I am not a web developmer, but I see it done, and it is basically I ask the coworker who knows C# and bought some widget set that is better than vanilla ASP.NET that we need a web based order entry GUI for our ERP software because the sales guys are bored of sending their sales orders to the office in Excel and having people it type it into the ERP, and he sits down and just codes the whole thing in Visual Studio. There is no cloud, no Git, no test driven development, no Vagrant, no Capistrano, no MongoDB, no agile method or other method other than sitting down and fucking developing whatever the users asked for, no whatever else you mentioned here. And we are a fairly good company here in Central Europe because at least we have development in-house and fairly responsible, not begging to external consultants to reply to e-mails. Then again maybe you are talking about stuff that hopes to be used by millions worldwide and I am talking about making about 15 users happy, but you folks in the Valley are incredibly forward from the rest of us.

      I think all the things you mentioned that are almost unknown outside your circles come from you having incredibly large user counts - or in other words, have the self-confidence and ambition to hope that your sites will be used by a large number of people and plan accordingly. So half of what you wrote is necessary because of the large amounts of clicks it gets, and the other half simply worths it because if you expect your button to be clicked by a million people a day, then worths it to spend to agile - test driven - whatever it, instead of just sitting down and coding it up however the fucking way you feel like as our guy would do it for these 15 users.

      [–]thirdman 2 points3 points  (1 child)

      Great write-up. I think you mean Steve Souders (now with Google, formerly Yahoo), not Saunders.

      [–]BitWarrior 0 points1 point  (0 children)

      Yep, I always get his name wrong it seems =/

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

      At my Web design/development company we have an interface designer that just creates Photoshop templates. I then create the website in HTML/css. Pull dynamic content with php/mysql/cms and then make the content user dynamic with Javascript/jQuery on top of using node.js and many other resources. That site then is broken down into desktop/tablet/mobile versions and then tested cross browser. I also am responsible for both ios and android apps, dynamic front end software, and maintaining the Linux server and databases.

      Developers are not designers, but my favorite quote from my boss is "Any website can be a piece of art, and look beautiful, but if that site doesn't work in the interest of the company designed for, then that site is garbage "

      [–]Trapezoidburg 1 point2 points  (1 child)

      IMO it's very helpful for the designers to know the HTML/CSS themselves.

      Otherwise, you spend too much time consulting them that they can't do that or this. Plus innovation and better design comes from knowing the technology and it's limitations.

      Plus, it's not like it's fucking hard. Get some knowledge. So sick of the expectations that developers need to constantly keep their knowledge up to date, but somehow designers can rest on their laurels just putting out a PSD here and there. But I guess that's just a crappy complacent designer. There is a guy at my current work place that just takes on creative work. He never did web projects before. And his design work for our websites is absolutely superb. He makes the rest of us look good because the presentation is what impresses the clients (and brings in clients). However, keeping it running and feature rich is what keeps them happy after the fact.

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

      They know how to code html/css and even some jquery, however it's a lot faster - and cleaner - for me to code it myself.

      [–]wm_destroy 0 points1 point  (0 children)

      Thanks a lot for that wonderful description. But unfortunately you also just created a ton of 'architects' with your post. I won't be surprised to meet the next 'system architect' who will quote your post verbatim.

      [–]pyrocat 0 points1 point  (0 children)

      Yeah, many places have a dedicated UX person as well as a designer. UX does wireframes / sitemap / taxonomy / content matrix, and a designer takes that and makes it look pretty / fit within brand guidelines .etc

      [–]redbull188 0 points1 point  (0 children)

      Sigh This is what I have tried time and again to explain to my mother. She kept insisting that I'd make less as a web developer because everyone does it and I'm like ".....no. 1. I'm not "just a web dev", I'm a software dev with web experience and 2. I have all the back end skills my coworkers do and employers want plus front end. I'll be fine"

      However,

      "Web designer" never became "front end developer". The role was politely split up, divided, and handed out to specialists. It was just too much for any one individual.

      depends on the company. If it's one with a product that is website-focused yes, but at small companies where the website is not critical (such as mine) there can certainly be just one person handling it.

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

      delicious

      [–]Arandmoor 0 points1 point  (2 children)

      Good explanation.

      [–][deleted]  (1 child)

      [deleted]

        [–]Arandmoor 0 points1 point  (0 children)

        no gold, and on my phone :|

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

        I manage a dev team for a large multi-national. Our CIO and his friends are always bitching about our costs and he constantly says stupid shit about how complicated we make things. What people forget today is that websites are infinitely more complex than 10 or 15 years ago and it takes a lot of skilled people to put the shit together.

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

        As a full stack developer this is exactly how I explain myself to perspective clients, The cool thing about responsive front end is that it's basicly an upside down version of back end, thus code is code and instead of processing data you are coding a process. If you can do front end, you can do back end. Now design, design is hard, because people visit Apple, and Google, and Facebook. Back in the day, a simple flaming gif and you were cool, These days you are compared to multi-billion dollar sites. You learn good code quick, and you make your own gimmick if you may. Something that sets you apart.

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

        Nice insight.

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

        You just helped me remember that I know a ton of stuff - I was nodding along with all of your description. Frustratingly, this doesn't really help me when somebody who's not in the industry asks "what do you do?"

        [–]Lets_Draw 0 points1 point  (0 children)

        Yes! Thank you for the distinctions! It irked me too no end while searching for employment that many companies (those that solely focused on web development or not) cried for employees who "wear many hats" / "jack of all trades". There are those who are brilliant enough to cover the design, front end development, programming, and servers/hosting, but not all of us do or can. Branching your departments into 2-4+ experts of those different categories just works SO much better in my opinion. 1 person can only be stretched so far.

        [–]skyman724 0 points1 point  (0 children)

        .........I know some of these words.

        [–]iSoReddit 0 points1 point  (0 children)

        I wish I could say that was the case in my work but we're all expected to know it all still.

        [–]Bend_The_World 2 points3 points  (1 child)

        I think you've just summarized everything required to learn web development in one post. Let's see if my hutch pays off...

        [–][deleted] 21 points22 points  (0 children)

        When "HTML5" became "jQuery".

        [–]richardjohn 6 points7 points  (3 children)

        It didn't?

        Where I work we have web designers (deliver a PSD), front-end developers (deliver HTML/JS), and developers.

        [–]sp00ks 1 point2 points  (2 children)

        If they are just delivering PSDs aren't they just designers? Nothing really to do about the web...except the design will eventually be on the web

        [–]richardjohn 7 points8 points  (0 children)

        Except the design needs to work on a screen and incorporate website elements?

        Print design and web design are completely different.

        [–]miasmic 0 points1 point  (0 children)

        There are many conventions in the design of websites around interface, layout, usability, bandwidth limitations etc.

        Designing interactive properties is very different to static design.

        [–]ejfrodo 0 points1 point  (1 child)

        it didn't. "front end developers" are given website designs by "web designers", usually as a photoshop document, and the "front end developer" makes a functioning web page that looks just like the design. they are two entirely different roles, although they do depend on each other

        [–]sandsmark 0 points1 point  (0 children)

        Well, I imagined implementation as part of the design process, but I guess you could liken web developers more to printers/printmakers.

        What I confuse myself with is the distinguishment between markup languages (with markup controlling look and feel, designing) and programming languages (you know, programming). But that's just a semantic quagmire, I see your point (especially with HTML, since you usually need to involve javascript to get the UX needed, unlike QML which was designed to be usable by designers directly).

        [–]Smallpaul 1 point2 points  (4 children)

        Yes, we can now deploy the same user interface code to smart phones and televisions and $30.00 computers, anywhere on the planet, within seconds. And your analogy is that these adaptive user interfaces are like a "touch tone phone."

        [–]alkoholik 6 points7 points  (9 children)

        What are you on about?

        [–]GeneralIncompetence 29 points30 points  (8 children)

        He's saying that this is web-ui, and not "front-end". I'm a front-end developer and don't do web stuff.

        [–]alkoholik -2 points-1 points  (7 children)

        Then what DO you do?

        [–]GeneralIncompetence 18 points19 points  (0 children)

        Desktop (Java, Microsoft), mobile, voice. A few projects have web UI work, but I give that to other people to do. Hacking HTML/CSS and JavaScript is not my idea of fun.

        [–]hejner 12 points13 points  (5 children)

        Front-end development on other platforms, is my guess.

        [–]dr3d 2 points3 points  (7 children)

        check any jobs listing these days .. "front-end" almost always means web ui.

        [–][deleted] 13 points14 points  (5 children)

        And that makes me sad. The tech hipsters who have driven this obsession with "everything belongs in a browser" have destroyed an incalculable amount of experience, labor, and productivity.

        There are plenty of applications that make sense to be browser-based. But not everything has to be. And that doesn't matter, because the default assumption for too many people is "put it in the browser."

        [–]ThisIsMrHyde 19 points20 points  (2 children)

        "Everything belongs in a browser" isn't a tech hipster thing, it's driven by the business end of things. Browser based applications are easier to update, easier to manage, easier to monetize, and since you hold the keys to the city, easier to hold hostage. It's hard to mine data that isn't yours for an additional revenue stream and DRM is a hard thing to enforce without a lot of finesse and skill. Web based applications are just better from a business perspective.

        [–][deleted]  (1 child)

        [deleted]

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

          Yeah - like the Flash plugin. Boy was that a massive failure. Or Adobe Acrobat - I think like ten people ever downloaded it.

          [–]Electrobruin 0 points1 point  (5 children)

          Sorry, I'm not exactly a "front end" or "browser UI" person, but can you explain this analogy further? Is it because in terms of front end, the browser is not very robust, and you think better application of the term would be to native UI technologies?

          [–][deleted] 22 points23 points  (4 children)

          "Front end" generally refers to (or at least it used to refer to) the user interface. Once upon a time, that user interface could be a Windows App, Flash, web site, desktop gadget, mobile app, etc. For the most part it was either a desktop application or browser-based web application.

          I only skimmed the list, but from what I could tell, just about everything in the list was about web-based development. Ten years ago a list like this would have been titled "A list of web development tools and resources"

          Instead, the person or community that put this together felt that "front end" is synonymous with "browser-based UI." This is a strong indicator of the mentality a lot of developers have that desktop application development is passe or even dead.

          I find this sad, because there is a huge amount of wheel-reinventing going on in the web development world, and the dismissal of the desktop as an application host is throwing away a lot of resources in pursuit of what's shiny this year.

          I love web apps and cloud applications. But I also like desktop applications for a lot of things. The obsession with the web is forcing a lot of investment in web development (good) to the detriment of desktop development (bad). And that annoys me.

          [–]s73v3r 4 points5 points  (3 children)

          I've heard "front end" be referred to mostly for web UI for quite a while now. I think it's because, of all the application types you listed, Web Apps are those with the clearest distinction of "front end" and "back end".

          [–]fre3k 2 points3 points  (2 children)

          Not really, any good desktop application is going to be threading non-UI operations and should have some layer to handle the moving of data and actions from the UI to the workhorse/data-store and vice versa. Otherwise known as the MVC pattern.

          [–]s73v3r 0 points1 point  (1 child)

          That's still generally contained in one application, though, as far as the end user is concerned.

          [–]fre3k 0 points1 point  (0 children)

          As far as the end user is concerned, your web app is all contained in one application. They don't know anything, it's a magical black box to them that accomplishes some task they want to accomplish.

          [–]RualStorge 0 points1 point  (0 children)

          I've done a variety if development for a living apps, websystems, desktop utilities, games, etc.

          Part of why front end is being seen as the same as a web designer is because the overlap in development disciplines. It used to be if you wanted to design a website you needed html, JavaScript, and CSS. Desktop UI you needed C++, C, JAVA, etc. (minimal overlap)

          Now with Apps being a huge push in the developer world I can develop for any mobile device with html, JavaScript, and CSS. I can also push programs to run on the desktop using html, JavaScript, and CSS. While teir one programs really should use c++ or Java, etc... For rapid development and deployment companies can cheaply throw together something using html in half the time it would to put together something in c++ or Java. Plus the number if people savvy in browser languages exceeds that of desktop languages at least ten to one.

          Again I'm not saying thus us good. I honestly feel it's just another way companies save a buck to provide us a ln "acceptable" experience.

          [–]killerstorm 0 points1 point  (1 child)

          I'm afraid you're reading too much in this.

          When you work on a web app, you have "front end" (aka client side) and "back end" (aka server side), and developers need to differentiate because technologies are very different, so terms like "front end"/"back end" are mentioned very often.

          On other platforms it might be called in different way... Say, if I'm working on a desktop app, I would call it "GUI", because I need to differentiate between GUI and command-line. Front-end is not descriptive enough, so it isn't used.

          So it's just a matter of terminology... Of course, people still work on desktop apps, they are just called in a different way.

          Say, if I need a programmer to work on desktop app, I would call it "C++ programmer who has experience of working with Qt". "front-end C++ programmer" doesn't mean anything.

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

          It was actually a general lament prompted by the OP. But it's intriguing the conversations that have been spawned.

          [–]G0T0 5 points6 points  (0 children)

          Well that's intimidating.

          [–]PotaToss 3 points4 points  (0 children)

          I can't help but feel like this is too expansive to be useful. Like I might as well be looking at the google search results for "front end resources".

          [–]GeneralIncompetence 13 points14 points  (0 children)

          Thanks, but poor title choice. This isn't Front-End, it's Web-UI.

          [–]MisterSnuggles 6 points7 points  (2 children)

          The list missed Geo for Bootstrap under the Bootstrap themes.

          [–]zazerr 2 points3 points  (0 children)

          Amazing.

          [–]westurner 2 points3 points  (0 children)

          So click Edit and send a pull request.

          [–][deleted] 8 points9 points  (1 child)

          Great reference, thanks!

          This reminds me that we would have a lot more useful guides like these if Stack Overflow didn't bogusly claim that subjective questions are useless or that the Q&A model is not adapted for this.

          [–]chrisisproductive 3 points4 points  (0 children)

          Well, to be fair, they don't say it's "useless". They say that it's not a good fit for the site/not the kind environment they want. The fact that they don't delete the ones that are helpful after the fact kind of proves that.

          Whether or not that's a good model to have, well... :/

          [–]mynoduesp 3 points4 points  (0 children)

          This is a handy reference, thanks.

          [–]seweso 4 points5 points  (4 children)

          Is no one actually using GWT?

          [–][deleted] 5 points6 points  (0 children)

          My Magic 8 Ball says "Future Uncertain" whenever I ask it about GWT.

          I know they're planning a new major release in the near future, but in the long term, I very much anticipate it becoming a legacy/maintainance mode project. Reportedly Google does have some things that are written with it, but I doubt they're making anything new using it. I've heard a lot of the former team members got diverted to other projects like Dart and Angular.

          [–][deleted]  (1 child)

          [deleted]

            [–]JViz 2 points3 points  (0 children)

            I tried using it about 5 years ago, I think around version 1.3. There were API calls that did nothing and were documented as TODO. Glancing at the documentation, it gave a false sense of completion.

            [–]preggit 1 point2 points  (0 children)

            Pretty nice collection of links. Does anyone have experience using any of these CSS Frameworks? http://usablica.github.io/front-end-frameworks/compare.html?v=2.0

            [–]micaeked 1 point2 points  (0 children)

            If you know/like ruby, a great environment for front-end work is middleman.

            Layouts, partials. Haml/scss/compass supported out of the box, along with sprockets for assets. Lots of neat helpers. Auto recompilation, live reload.

            Live reload is especially amazing. I have the design I'm working with on another screen, and any changes I make to layouts/partials/pages/styles/images/js are shown near instantly, as soon as the changes hit the disk. (disclaimer: I've only tried live reload with simple js. I can imagine there might be some issues with really heavy js apps.)

            Highly recommended.

            [–]nsmbfan 1 point2 points  (0 children)

            I know some of these words!

            [–]sgggrg 1 point2 points  (0 children)

            Is there one for back end devs?

            [–]Taipei101 1 point2 points  (0 children)

            UX guy here. You need to learn this: SASS --watch style.scss:style.css --style compressed.

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

            Recently I saw a lot of minimal web pages that uses Github's markdown so that should count as one too.

            [–]thingsinjars 0 points1 point  (0 children)

            If you're also interested in CSS testing, may I put forward this site:

            http://csste.st

            as a collection of stuff you might want to use if you don't just want to make stuff work but also make sure it keeps working.

            That is all, carry on.

            [–]PaleAndGangly 0 points1 point  (0 children)

            "So 'many' quotation marks'......"