6 ms·
Well, sorry, but... it is. Maybe you find it interesting, that's subjective, but there's no real technical challenge in front end stuff. You're not solving hard
by EpicEng 10y ago
Well, sorry, but... it is. Maybe you find it interesting, that's subjective, but there's no real technical challenge in front end stuff. You're not solving hard engineering problems; you're pasting together libraries other people wrote on top of libraries other people wrote (and on it goes) and searching google to figure out why your opaque stack doesn't seem to be working.
Developing a good UI is difficult, no question about it, but not for technical reasons. Whether you resent that or not doesn't make it any less true.
>I wouldn't think there's any programming challenge that is inherently easier because it's on web as opposed to something else.
Not because it's on the web, because front end work doesn't require anything more than knowledge of your toolset and some design sense.
It's nearly all "hey, build a UI with some CRUD functionality which is essentially the same as the 100 you've built before, but for this special snowflake customer." Bleh.
- sotojuan 10y agoThere's engineering challenges in frontend but they only apply to Facebook-tier scale. There's also cooler stuff like data visualization, advanced animations/design and WebGL but those seem to be done by designers. For most of us, it truly is gluing X framework to Y backend over and over again.
- EpicEng 10y agoSure, but even then I wonder how much of that complexity (the scaling bit) is actually implemented by the front end devs. I would assume that it's handled on the back end, but of course a UI like FB, used by 1.7 billion people, can't be an easy thing to design.
- nostrademons 10y agoAt least at Google, "front end dev" extended down to the webserver tier, written in C++/Java. You were expected to make any changes necessary inside the webserver to complete your feature. That's part of what made hiring so hard: the number of devs who know Javascript and C++ and have their algorithms down cold is relatively low. I imagine it's fairly similar at Facebook.
- EpicEng 10y agoOf course, that's not the definition most 'front end devs' fall under.
- GuiA 10y agoHonestly when I see what my friends who design airplanes and particle accelerators are doing, I feel like we're all kind of fucking around in software engineering, frontend or not.
- EpicEng 10y agoI agree, most are.
- nickpsecurity 10y agoTry looking into or messing with actual engineering of software instead. You'll get similarly amazing things. Here's a few: http://www.anthonyhall.org/c_by_c_secure_system.pdf http://www.anthonyhall.org/c_by_c_secure_system.pdf http://www.methode-b.com/wp-content/uploads/sites/7/dl/thierry_lecomte/Formal_methods_in_safety_critical_railway_systems.pdf http://www.methode-b.com/wp-content/uploads/sites/7/dl/thier... https://ts.data61.csiro.au/publications/nictaabstracts/7371.pdf https://ts.data61.csiro.au/publications/nictaabstracts/7371.... http://ceur-ws.org/Vol-192/paper08.pdf http://ceur-ws.org/Vol-192/paper08.pdf
- kybernetyk 10y agoHeh, true. Compared to real engineers and scientists we're just a bunch of monkeys re-inventign the wheel every 10 years (with each iteration being worse than the prior one). But from time to time one of us monkeys gets lucky and changes the world. So I guess it's a risk/reward thing :)
- JSDave 10y agoOk, then backend folks just do API integrations and database guys just make tables, no real technical challenges anywhere. Anybody getting stuff done is pasting together libraries.
- RandomOpinion 10y ago>Ok, then backend folks just do API integrations and database guys just make tables, no real technical challenges anywhere. Anybody getting stuff done is pasting together libraries. The original poster said nothing about frontend vs. backend. Still, you're absolutely correct, backend work is mostly gluing together pre-built libraries and software too.
- deleted 10y ago[deleted]
- acaciapalm 10y agoOh don't even get me started on front end development. A few times I've actually had the opportunity to make some really brilliant JavaScript optimizations only to have any performance gain made totally irrelevant by business loading up the page with a ton of totally non-performant ads.
- thesmallestcat 10y agoThis hits home way too hard.
- shitgoose 10y ago"but there's no real technical challenge in front end stuff." oh boy, you are so wrong! as an old fart having spent a number of years building UIs, can tell you, this is hard! information layout, controls, flow - it can be tangled into a total CF, or it can be seamless. you are not pasting libs on top of libs - that is the job of a monkey, front or back end alike. normal devs start their day with talking to end users and listening to their pain. then they spend rest of the day trying to alleviate it. monkeys spend their days thinking how they can add to user's pain by pasting more layers of crap. engineering is an important part in back end, front end or in cleaning the toilets. it is not what you do, it is how you do it.
- EpicEng 10y agoYou're describing a task which is more frustrating than technically challenging. Nothing you described requires a high degree of intelligence or training, only time. Of course some are better than others at it, but that's true of anything. Think; designing the CV systems for self driving cars (since that's a hot topic at the moment) vs designing a UI which works seamlessly across browsers. One is a real, honest to God engineering challenge; the other is an exercise is patience and perseverance. There are many more people in this world who could pull off the latter than could the former. If you truly, honestly believe that UI dev work is technically difficult when measured against the rest of the engineering world then I can't imagine you've been solving hard problems throughout your career. UI layout is not "hard" and it's certainly not engineering, nor is 'cleaning toilets'. of course creating UI's comes with its own set of challenges, but I'm specifically talking about technical difficulty.
- shitgoose 10y agoby UI design I do not mean cross browser compatibility, but rather an understanding of the underlying data and operations on it, which involves familiarity with the business domain. this is hard. putting stuff on the screen is not hard. I am OK with tables and gifs. with all due respect your contempt for people who build UI (and clean the toilets) and misunderstanding or general principles of engineering are sad (pardon my microagression).
- randomdata 10y ago> You're not solving hard engineering problems What, in your mind, makes an engineering problem hard? I've certainly had to dig out CS algorithms and 'clever' applications thereof to reach desirable performance out of some custom widgets in front end projects. I don't know if that can considered hard – hindsight tends to make everything seem easy – but it is certainly beyond pasting in a library like you describe. I have to agree that you can create some very useful projects that do not deviate from a framework/library's documentation, or what have you. But we don't really know what the parent in particular is working on.
- EpicEng 10y ago>What, in your mind, makes an engineering problem hard? A problem which requires a high degree of creativity, intelligence, and technical ability, likely one which hasn't been solved before. You're right; it's a bit difficult (at least for me) to define, but we know it when we see it. Sending men to the moon was a hard engineering problem; implementing the UI for gmail was not. You speak of using 'CS algorithms' in your UI's. I assume you're talking about things like optimizing a search of a list by using a better data structure or sorting algorithm. C'mon. You didn't solve these problems, other people did, you just did a little research, and this is basic stuff most of us can pull off fairly easily. The vast majority of web development is not engineering. It is in fact just pasting together code other people wrote to solve a particular, relatively trivial problem.
- jhall1468 10y agoLol, you think you are spending 40 hours a week at the forefront of problem solving new challenges? Let's be real, for a moment. By your definition of a hard engineering problem, very few people are spending their time doing it. Virtually no one is doing it every day. Why pick on front end dev specifically? You think the average backend dev building installing flask is facing a lot of unsolved problems? You think the average game dev is rendering 3D models in some new, magical way?
- EpicEng 10y ago
- scandox 10y ago> there's no real technical challenge in front end stuff You're looking at this backwards. It isn't about the task. It's about the person who approaches the task. Someone "creative, intelligent and technically able" (to quote your later comment) will bring vision to any task. Like water they will find their level, find the new and shining thing they can bring to the arena in which they find themselves. These invidious distinctions contribute nothing to mutual understanding amongst computing professionals. All of whom need to work with each other to achieve great things. That includes the documentation people - shout out to them for their intelligence and creativity too.
- zebraflask 10y ago"[T]here's no real technical challenge in front end stuff" I have the distinct sense that you might not have done much of this. There might not be many esoteric algorithms to implement, but there is plenty - more than plenty - to do in terms of managing UI state and back end integration, especially if you have stakeholders who want to see a variety of complex UI manipulations happening in response to various business rules. Which can often be internally self-contradictory. In a DOM that delights in being uncooperative, pretty much . . . always. Frankly, it's enough to make using Java or a C variant for typical back end work look like a walk in the park.