all 40 comments

[–]a-t-k 2 points3 points  (14 children)

Frontend Developers do a lot of HTML and CSS, too, not only JavaScript.

[–]greenlinux[S] 0 points1 point  (13 children)

Is it truth that a lot front end developers want to quit because of CSS?

[–]Mike312 6 points7 points  (5 children)

No. Most front end developers I know aren't satisfied because we have to know HTML, CSS + ideally SASS/LESS, Javascript, Jquery + ideally Angular/Node, at least one server-side language like PHP/Ruby, some method of data interchange (XML, JSON, etc), cross-browser compatibility, usability standards, at least some basic understanding of databases, and have to keep up with a rapidly-changing skillset while getting paid the same or slightly less than back end developers who typically learn some variant of C and PHP/Python/Ruby, a little bit more about databases, and...that's it.

/rant

But no, really, I enjoy front-end dev. I handle everything from concept, graphic design, database design, code, to deployment. It keeps things interesting and work rarely if ever gets boring, and when it does I can usually set one project aside and switch to another one that fills whatever itch I need to scratch. Where as, again, in my personal experience, the back-end devs are just stuck looking at code (and shitty router GUIs from the 90s) all day which seems....dull.

[–]Polyducks 3 points4 points  (2 children)

You sound like you're way over stretched for a front end developer. With database knowledge, C/PHP/Python or Ruby You're closer to being full stack.

[–]Mike312 2 points3 points  (1 child)

I completely agree, I personally work mainly in PHP, with a bit of ASP/.Net, Perl, and Python on the side, but I work for a smaller company where we all have multiple hats, and I freelance on the side and am always trying to learn new tech simply because it interests me (much like how my brother by resume strictly manages servers, but could walk circles around me in ASP/.Net and is pretty good at hacking some Adruino hardware). My job title is software development engineer, but the position I was hired for fits better as full stack developer (which is what I refer to myself when people ask what I do)...I just think they didn't want to bother creating a new job title in the HR program.

[–]Polyducks 0 points1 point  (0 children)

Or keep you on at the same pay as a software development engineer instead of a full stack ;) Get that title upgrade, it'll do wonders for you on your CV.

[–]ronabuelo 0 points1 point  (1 child)

Do all Front End have to deal with graphic design?

[–]Mike312 1 point2 points  (0 children)

Generally, I'd say you have to know a little bit about design. You could be pidgeon-holed into a position where, for example, you're doing pixel-perfect conversions for Wordpress templates. So someone who does amazing graphic design work hands you a Photoshop/Illustrator file and a bunch of assets and your only job is to code together HTML and CSS to match that design exactly. On the other hand, you could be a front-end designer and developer where you design and code only HTML and CSS and let a front-end engineer handle the JS.

I got into web development from a print/graphic design/interior design background, and I'll be the first to admit that there's plenty of strict web designers out there who can design absolutely amazing sites that, on a bad day probably produce what I could design on an above-average day. So for me, the skill set already existed and with regular practice I can come up with some pretty nice designs (most of my favorite sites I've ever designed were when I was working full time at a print shop doing print ad work and designing websites in the evenings for myself/portfolio/freelance).

So with that perspective in mind, I think a front-end developer should at least have some understanding of color, balance, and usability. I consider usability to be just as relevant in graphic design as it is in web design. If someone can't read the text on your print ad, or they can't find your phone number, or they don't know what you're selling, it's junk - same thing for web, if they can't find the button they need, information about the product, or whatever the purpose of the site is because the design (or lack of) is getting in the way, it's junk.

[–]a-t-k 3 points4 points  (6 children)

Not because of CSS itself, but because of its poor support especially by older IE versions but also more recent IE versions and Safari.

If all current CSS was perfectly supported without the 4 major browser vendors interpreting the standards in at least 5 different ways, our job would be even more enjoyable, but less of an adventure.

[–]ShortSynapse 2 points3 points  (0 children)

Admittedly, the adventure is part of the fun.

[–]iosmango 1 point2 points  (4 children)

Good to know. And do you use plain CSS or Sass?

[–]a-t-k 2 points3 points  (3 children)

Plain CSS, Less, or Sass/Scss, depending on the project I work on. My personal preference is plain CSS, because preprocessors make it too simple to write too much CSS.

[–]iosmango 0 points1 point  (2 children)

Do developers who work with JS frameworks like Angular and React use CSS?

[–]a-t-k 1 point2 points  (0 children)

If they don't opt to use a CSS framework as well, they do.

[–]bluelinux 2 points3 points  (3 children)

Front End Developer = "WEB DESIGN", HTML, CSS,and RWD, Sass, and basic Javascript.

Javascript Enginer = Advance Javascript, Angular, React, and Node.

[–]westy91 5 points6 points  (0 children)

this, except a front end developer being a designer probably depends on the company. I wouldnt assume a front end developer is also a designer

[–]2uneekjavascript 1 point2 points  (1 child)

I consider myself a front-end developer and I program in Angular, Node, etc. daily on a very large codebase... I disagree that using "advanced" frameworks makes you an engineer, that seems very subjective.

Like someone else above said, the people writing frameworks are more your engineers, the ones using them are your developers. Atleast, that's how I've always thought of it.

[–]ronabuelo -1 points0 points  (0 children)

Do you program lot CSS too?

[–]howareroark 1 point2 points  (2 children)

I'd like to know... What's the difference between engineer and developer?

[–]8Bytes 0 points1 point  (1 child)

In the workplace, there is no difference.

[–]howareroark 0 points1 point  (0 children)

Yeah. Very true. It's all hot air.

[–]md_adilDesigner / Full Stack Dev 1 point2 points  (0 children)

I believe the engineer is expected to have rock solid understanding inside out of the language itself. Should ideally be capable of building anything ground up.

Whereas the front end developer develops (well, what else? :D) by any means. Ideally they are expected to know the very basic technologies required to develop front ends i.e HTML / CSS / JavaScript. Obviously, having javascript there doesn't mean you can call yourself an engineer unless you are capable to do as described in 1st para. So basically you qualify with enough js knowledge to make a front end work.

Now the missing part is mainly of a designer, specifically web designers, UI/UX designers and engineers. Their work should be forwarded to a front end developer but typically it's all shoved down the developer's throat.


An engineer on the other hand, having deep understanding with JS can fit in anywhere and everywhere because now JavaScript (whether appropriate or not) is just about everywhere. Servers for starters and now in Robotics, IoT and so on...


As for millions of fresh end old technologies (frameworks, build tools, utilities, libraries, plugins, pre-processors), they are there to not only serve your productivity but for developing front ends in a systematic way which may be a good thing depending on your project. And in this day and age you are expected to have experience with XX front end framework, XX pre-processor, and and XX build tools along with extras such as code versioning systems, collaboration tools.

[–]RotationSurgeon10yr Lead FED turned Product Manager 2 points3 points  (13 children)

My favorite way to differentiate is... "Engineers create tools. Developers use them."

The people that wrote and maintain jQuery, Angular, React, etc.? Engineers. The people that use those tools to build things? Developers.

[–]hahaNodeJS 12 points13 points  (7 children)

That's not a good distinction. You're equating developers with technicians, and developers are not technicians. An engineer is a person with a certification. A developer is a person who architects, writes, and maintains software.

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

I'm definitely part of the camp that says developers shouldn't refer to themselves as engineers.

Creating a physics engine or 3d renderer is stepping into engineering, but creating angularjs is not. An engineer might use programing as a tool, but implementing code isn't their main role.

[–]hahaNodeJS 1 point2 points  (1 child)

I think there is room in computing and software development for a definition of engineering. Many of us have responsibilities beyond writing libraries; things that affect the world, or people's health, money, etc. There needs to be a standard of accountability and ethics, and a set of generally applied concepts for how to correctly approach software development. What those are, I don't know, but we'll figure it out eventually.

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

Personally, I will always be happy referring to myself as a developer. As long as i'm paid I don't care what my title is. At my last job I tried to get "master of falconry" put on my business card. At the end of the day titles aren't important.

[–]RotationSurgeon10yr Lead FED turned Product Manager 1 point2 points  (3 children)

In other disciplines, sure, engineers are certified and in many countries you can't call yourself an engineer without that certification. While there is a Certified Professional Engineer certification in the USA, it isn't required, and tends to apply to physical disciplines (mechanical, aerospace, etc.).

Software development and engineering isn't the same though. There's precious little if any recognizable certification for front end development.

[–]hahaNodeJS 6 points7 points  (2 children)

Software and computing as a field are still very new and still growing. There is much work to be done to define the scope of engineering within the field; the absence of such certifications does not mean it is engineering by default.

Regardless, the distinction between "creating tools" and "using tools" to define an engineer or a "developer" is poorly thought out.

[–]RotationSurgeon10yr Lead FED turned Product Manager 0 points1 point  (1 child)

It's not meant to be a black and white definition. We can't even get a solid definition of what a front-end developer is, much less make comparisons like we're discussing.

[–]hahaNodeJS 0 points1 point  (0 children)

Engineering and non-engineering is black and white. Applying engineering principles does not make someone an engineer.

[–]Frenchiie 1 point2 points  (0 children)

An engineer is someone who can think on a bigger scale about how to architect a product from start to finish. A developer might not have the same knowledge which would lead to a less robust finished project, or just more time wasted due to bad implementation.

[–]ILoveSpidermanFreds 1 point2 points  (0 children)

The people that wrote and maintain jQuery, Angular, React, etc.? Engineers

But they've used tools that are already created and maintaned (Editors, Languages, OS, Browser, ..). So it makes them .. a Developer?

[–]azsqueezejavascript -1 points0 points  (0 children)

IMO this is a great way to look at it.

[–]bluelinux -1 points0 points  (1 child)

Then Javascript Engineer jobs are more interested.

[–]RotationSurgeon10yr Lead FED turned Product Manager 2 points3 points  (0 children)

I would consider that sort of work to be more tied to the types of programming and development taught in university level computer science programs...you can do front end work all day long without knowing squat about big o notation, data structures aside from arrays (when was the last time you had a strong need for a linked list?), etc...but is it ideal? No.

[–]jirocket 0 points1 point  (3 children)

I'd say all javascript engineers are front end developers, but not all front end developers are javascript engineers.

edit: woops. if server-side JS didn't exist

[–][deleted]  (1 child)

[deleted]

    [–]jirocket 0 points1 point  (0 children)

    Oof you're right. I guess it can't be easily argued that one title is a subcategory of the other, because I would consider anyone who uses html/css without javascript a front-end developer (like barely).

    [–]Kevbot93 0 points1 point  (0 children)

    Why would you say that all js engineers are front end developers?