Avatar image for rorie
#1 Edited by Rorie (4123 posts) -

As the title says, this is now a job listing for a Senior Front-End Engineer. What does that mean?

We are looking for a Front-end Engineer who has worked on modern, responsive, complex, mixed-media sites. You will implement and maintain production-quality code and be responsible for ensuring that the front end code you develop is robust, well-architected, and easy to maintain. You should be proficient with client side debugging tools and be able to solve problems on a complex and ever-changing site.

This would entail working on GB, Comicvine, and GameSpot. All the other details are in the job post linked above. Good luck!

Staff
Avatar image for bburch87
#2 Posted by bburch87 (71 posts) -

Is this SF only? No opportunities in NY?

Avatar image for weapongod30
#3 Posted by weapongod30 (77 posts) -

I like Overwatch loot boxes, but I dislike Dota 2 hats. Am I still in the running?

Avatar image for physicalscience
#4 Posted by physicalscience (293 posts) -

Calling Js, PHP, or Ruby a language able to produce production quality code is one reason I sort of hate the internet

Avatar image for chunkygerbil
#5 Posted by ChunkyGerbil (73 posts) -

I was a senior once... in college, is that good enough?

Avatar image for sbarre
#6 Edited by sbarre (72 posts) -

Hooray, this complaint again.. Please tell us, oh programmer god, what sacred languages are in your holy pantheon...

Calling Js, PHP, or Ruby a language able to produce production quality code is one reason I sort of hate the internet

Avatar image for physicalscience
#7 Posted by physicalscience (293 posts) -

@sbarre said:

Hooray, this complaint again.. Please tell us, oh programmer god, what sacred languages are in your holy pantheon...

@physicalscience said:

Calling Js, PHP, or Ruby a language able to produce production quality code is one reason I sort of hate the internet

Okay well first lets talk about type safety...something I think would be pretty important to large projects. Look, JS was made in a week and it was meant for making websites look pretty. I know V8 made it sort of legit with nodeJs and all that but it is still garbage. PhP is again another garbage web scripting language that when ballooned out into a large project makes bringing on new people hard as fuck and management of legacy code a pain in the ass. Ruby, though, I mean come on there is a reason twitter had to do a huge overhaul.

Look I am no programmer snob, although I am ALLL ABOUT THAT SCALA, but certain languages are meant to serve a certain purpose and it is super annoying to deal with people trying to make JS the only language we use. Jesus Christ my friend over at IBM had to like jump mountains to convince people to at least convert to Typescript.

Avatar image for physicalscience
#8 Posted by physicalscience (293 posts) -

@sbarre said:

Hooray, this complaint again.. Please tell us, oh programmer god, what sacred languages are in your holy pantheon...

@physicalscience said:

Calling Js, PHP, or Ruby a language able to produce production quality code is one reason I sort of hate the internet

Okay well first lets talk about type safety...something I think would be pretty important to large projects. Look, JS was made in a week and it was meant for making websites look pretty. I know V8 made it sort of legit with nodeJs and all that but it is still garbage. PhP is again another garbage web scripting language that when ballooned out into a large project makes bringing on new people hard as fuck and management of legacy code a pain in the ass. Ruby, though, I mean come on there is a reason twitter had to do a huge overhaul.

Look I am no programmer snob, although I am ALLL ABOUT THAT SCALA, but certain languages are meant to serve a certain purpose and it is super annoying to deal with people trying to make JS the only language we use. Jesus Christ my friend over at IBM had to like jump mountains to convince people to at least convert to Typescript.

Okay also I have been thinking about this and I have another rant about JS. Last year I was working for a company and a buddy of mine got brought on to work on a project dealing with data visualization... all written in JS using nodeJS. The entire project was fucking tens of thousands of lines long and nearly unreadable. He started off writing some tests to get familiar with the project and found this object being passed around all over the place, which was initially a request object passed into some callback. He sees this thing everywhere and has no idea why so he prints out the entire contents of the object which turns out to be like a fuck ton of random shit because other devs on the project had just been putting random shit that they needed into the object and using it because they were lazy. It ended up making the code nearly untestable.

This is the main problem with JS, everything is an object with no type and once you have a team on a project it is super easy to make it super unmanageable and basically from the start it is untestable.

Another reason: Engineering 101 - the more code you have, the more likely its broken somewhere. Vanilla js is nothing and to get a project working you are most likely going to grab a million dependencies to get basic functionality. All those dependencies now better work 100% so your shit doesn't break. Too bad this happens though and fucking breaks everything

It really honestly is a language that has a good use case but for some reason has assholes trying to shove it all over the place where it just doesn't work.

Oh yea also it's a fucking single threaded asynchronous language so you know, fuck that. Anyone who has dealt with JS in a in depth way will shiver at the pyramid of hell, because at some point you are going to have callbacks on callbacks for so long you will have to scroll the page horizontal to see where it ends.

Avatar image for thehanna
#9 Posted by TheHanna (38 posts) -

@physicalscience: It sounds like you've had some bad experiences with Javascript. As a full stack web dev focusing on front end, I admit there are a lot of things that are bad about Javascript. That team passing around an object for everything? Sounds like they didn't quite know what they were doing. It's pretty easy to define constants/environment level variables in Node (especially since they're integrated the majority of the ES6 spec, and you can actually make them constants). Every language has dependencies, and unfortunately, JS tends to have a lot of smaller ones. It's getting better, but there is a lot of room for improvement. And the callback hell you're referring to? That's gone by the wayside now that we have promises, but it is just as easily mitigated by using a pattern that is appropriate to your application. Maybe an observer pattern would have worked better there?

There are excellent use cases for Javascript, even on the back end. Being asynchronous and single threaded can be good, especially if you need to keep things lightweight. All of these sound more like bad practices by programmers who weren't quite sure of what they were doing, rather than faults of the language itself.

You have to remember that Javascript has an extremely low bar of entry. It runs in any web browser, and you can do a "Hello World" in a single line. Compare that to Java or C++, where you need a compiler, or the SDK, and might even need to get comfortable with the command line. Granted, the bar of entry is getting lower with sites like TutorialsPoint and CodeAcademy doing the heavy lifting of compilation and offering some good, basic tutorials of what the languages can do. Javascript is still great at what it does at it's core: client side code on web sites and web applications.

If you really want to compile a binary for a web app, though, keep an eye on WASM. There are folks writing compilers for it already.

Avatar image for physicalscience
#10 Posted by physicalscience (293 posts) -

@thehanna said:

@physicalscience: It sounds like you've had some bad experiences with Javascript. As a full stack web dev focusing on front end, I admit there are a lot of things that are bad about Javascript. That team passing around an object for everything? Sounds like they didn't quite know what they were doing. It's pretty easy to define constants/environment level variables in Node (especially since they're integrated the majority of the ES6 spec, and you can actually make them constants). Every language has dependencies, and unfortunately, JS tends to have a lot of smaller ones. It's getting better, but there is a lot of room for improvement. And the callback hell you're referring to? That's gone by the wayside now that we have promises, but it is just as easily mitigated by using a pattern that is appropriate to your application. Maybe an observer pattern would have worked better there?

There are excellent use cases for Javascript, even on the back end. Being asynchronous and single threaded can be good, especially if you need to keep things lightweight. All of these sound more like bad practices by programmers who weren't quite sure of what they were doing, rather than faults of the language itself.

You have to remember that Javascript has an extremely low bar of entry. It runs in any web browser, and you can do a "Hello World" in a single line. Compare that to Java or C++, where you need a compiler, or the SDK, and might even need to get comfortable with the command line. Granted, the bar of entry is getting lower with sites like TutorialsPoint and CodeAcademy doing the heavy lifting of compilation and offering some good, basic tutorials of what the languages can do. Javascript is still great at what it does at it's core: client side code on web sites and web applications.

If you really want to compile a binary for a web app, though, keep an eye on WASM. There are folks writing compilers for it already.

I have been very excited for web assembly and I hope in the next decade or so it goes somewhere. My main issue is exactly what you have talked about. It's people who are my bosses trying to shove JS in places that make it a nightmare that have probably soured me on the language. When my buddy came into the visual data job and looked at their project, they weren't even using anything for dependency management. He set up gulp on his pull and my boss that was overseeing the project literally got upset about that. So I guess you could say I am anti-js from bad experiences lol.

Avatar image for sbarre
#11 Edited by sbarre (72 posts) -

@physicalscience said:
@sbarre said:

Hooray, this complaint again.. Please tell us, oh programmer god, what sacred languages are in your holy pantheon...

@physicalscience said:

Calling Js, PHP, or Ruby a language able to produce production quality code is one reason I sort of hate the internet

Okay well first lets talk about type safety...something I think would be pretty important to large projects. Look, JS was made in a week and it was meant for making websites look pretty. I know V8 made it sort of legit with nodeJs and all that but it is still garbage. PhP is again another garbage web scripting language that when ballooned out into a large project makes bringing on new people hard as fuck and management of legacy code a pain in the ass. Ruby, though, I mean come on there is a reason twitter had to do a huge overhaul.

Look I am no programmer snob, although I am ALLL ABOUT THAT SCALA, but certain languages are meant to serve a certain purpose and it is super annoying to deal with people trying to make JS the only language we use. Jesus Christ my friend over at IBM had to like jump mountains to convince people to at least convert to Typescript.

Okay also I have been thinking about this and I have another rant about JS. Last year I was working for a company and a buddy of mine got brought on to work on a project dealing with data visualization... all written in JS using nodeJS. The entire project was fucking tens of thousands of lines long and nearly unreadable. He started off writing some tests to get familiar with the project and found this object being passed around all over the place, which was initially a request object passed into some callback. He sees this thing everywhere and has no idea why so he prints out the entire contents of the object which turns out to be like a fuck ton of random shit because other devs on the project had just been putting random shit that they needed into the object and using it because they were lazy. It ended up making the code nearly untestable.

This is the main problem with JS, everything is an object with no type and once you have a team on a project it is super easy to make it super unmanageable and basically from the start it is untestable.

Another reason: Engineering 101 - the more code you have, the more likely its broken somewhere. Vanilla js is nothing and to get a project working you are most likely going to grab a million dependencies to get basic functionality. All those dependencies now better work 100% so your shit doesn't break. Too bad this happens though and fucking breaks everything

It really honestly is a language that has a good use case but for some reason has assholes trying to shove it all over the place where it just doesn't work.

Oh yea also it's a fucking single threaded asynchronous language so you know, fuck that. Anyone who has dealt with JS in a in depth way will shiver at the pyramid of hell, because at some point you are going to have callbacks on callbacks for so long you will have to scroll the page horizontal to see where it ends.

I can't help but notice that all you did was complain about Javascript (and I have no argument with any of your gripes), but you didn't actually tell us all what your magical best solution for building production-quality web applications is..

Once you spend enough time in the working world, you'll hear the saying "if you want to help, don't tell me about the problems, give me solutions".. ;-)

Avatar image for physicalscience
#12 Edited by physicalscience (293 posts) -

@sbarre said:
@physicalscience said:
@physicalscience said:
@sbarre said:

Hooray, this complaint again.. Please tell us, oh programmer god, what sacred languages are in your holy pantheon...

@physicalscience said:

Calling Js, PHP, or Ruby a language able to produce production quality code is one reason I sort of hate the internet

Okay well first lets talk about type safety...something I think would be pretty important to large projects. Look, JS was made in a week and it was meant for making websites look pretty. I know V8 made it sort of legit with nodeJs and all that but it is still garbage. PhP is again another garbage web scripting language that when ballooned out into a large project makes bringing on new people hard as fuck and management of legacy code a pain in the ass. Ruby, though, I mean come on there is a reason twitter had to do a huge overhaul.

Look I am no programmer snob, although I am ALLL ABOUT THAT SCALA, but certain languages are meant to serve a certain purpose and it is super annoying to deal with people trying to make JS the only language we use. Jesus Christ my friend over at IBM had to like jump mountains to convince people to at least convert to Typescript.

Okay also I have been thinking about this and I have another rant about JS. Last year I was working for a company and a buddy of mine got brought on to work on a project dealing with data visualization... all written in JS using nodeJS. The entire project was fucking tens of thousands of lines long and nearly unreadable. He started off writing some tests to get familiar with the project and found this object being passed around all over the place, which was initially a request object passed into some callback. He sees this thing everywhere and has no idea why so he prints out the entire contents of the object which turns out to be like a fuck ton of random shit because other devs on the project had just been putting random shit that they needed into the object and using it because they were lazy. It ended up making the code nearly untestable.

This is the main problem with JS, everything is an object with no type and once you have a team on a project it is super easy to make it super unmanageable and basically from the start it is untestable.

Another reason: Engineering 101 - the more code you have, the more likely its broken somewhere. Vanilla js is nothing and to get a project working you are most likely going to grab a million dependencies to get basic functionality. All those dependencies now better work 100% so your shit doesn't break. Too bad this happens though and fucking breaks everything

It really honestly is a language that has a good use case but for some reason has assholes trying to shove it all over the place where it just doesn't work.

Oh yea also it's a fucking single threaded asynchronous language so you know, fuck that. Anyone who has dealt with JS in a in depth way will shiver at the pyramid of hell, because at some point you are going to have callbacks on callbacks for so long you will have to scroll the page horizontal to see where it ends.

I can't help but notice that all you did was complain about Javascript (and I have no argument with any of your gripes), but you didn't actually tell us all what your magical best solution for building production-quality web applications is..

Once you spend enough time in the working world, you'll hear the saying "if you want to help, don't tell me about the problems, give me solutions".. ;-)

Well Typescript is certainly a step in the right direction even though you could say it's just a band-aid over JS and maybe Groovy on Grails to replace what Ruby is probably being used for. PHP is what it is but there are certainly web frameworks that don't use php. Scala Play is a pretty awesome thing. spark java is amazing as well.

I like what you said at the end because I have encountered that situation a lot with JS. ie: my boss tells me the project has to be in JS and just make it work, which ends up resulting in some hacked together project that is unmanageable. But you are right, and I think those guys working on web assembly might have a good solution for the overall problem that exists.

I think I might just have PTSD from my time working at CACI lol

Avatar image for cmurdock
#14 Posted by cmurdock (2 posts) -

When JS MVC frameworks started coming out I was initially somewhat excited to start writing a lot of code in a language with first class functions. 1 year after maintaining a project in EmberJS I started really missing type safety. Refactoring is such a pain in JS and the tools are so limited compared to the Java world I'm used to.

Avatar image for porjos
#15 Posted by porjos (281 posts) -

What an extremely interesting conversation above...

Avatar image for salamijack
#17 Posted by salamijack (1 posts) -

@physicalscience: Bad engineers are bad engineers, regardless of language features. Just because it's possible to abuse a language doesn't mean it unsuitable for production use. Please get out of your holier-than-thou programming echochamber and recognize that there are different tools for different situations.

Avatar image for physicalscience
#18 Posted by physicalscience (293 posts) -

@physicalscience: Bad engineers are bad engineers, regardless of language features. Just because it's possible to abuse a language doesn't mean it unsuitable for production use. Please get out of your holier-than-thou programming echochamber and recognize that there are different tools for different situations.

When a tool like the js stack has so many severe drawbacks (no type safety, harsh maintainability and testability, single thread, and dependencies that deprecate every other day just to name a few) I am not sure how I am acting "holier-than-thou" about it. I always felt that people who's solution to every problem is the MEAN stack come off as very holier-than-thou, "Oh well if you were a GOOD engineer then you wouldn't need type safety".

Avatar image for wcarle
#19 Posted by wcarle (280 posts) -

Hey guys, some serious discussion going on in here about our stack. I'm really happy with what we have built here, regardless of languages. We're looking for the kind of engineers that can look beyond the tools, you can build cool shit with any language, and we're in the business of building cool shit! We care less about what languages you know, and more about the creativity and passion you can bring to these sites that we all love. If that sounds like you hit us up for the job I'd be happy to have you on my team!

Staff