29 comments

[ 2.8 ms ] story [ 74.7 ms ] thread
I remember John Washam's original blog post that followed his preparations for taking a Google SW interview. At the time, I felt he way over-prepared and wasted time on things that weren't directly relevant to the actual interview.

Looking at his new study plan, it looks like he's learned from his original undertaking and created an exhaustive list of things to know for a FAANG interview. I do think he skipped over the behavioral interview preparations which can be extremely important for certain companies.

Web developers are software engineers.
Depends in what country they reside, for the designation at least.
IDK why you are being down voted, its true in the US at least. The Bureau of Labor Statistics has the following Standard Occupational Codes:

- 15-1251 Computer Programmers

- 15-1252 Software Developers

- 15-1253 Software Quality Assurance Analysts and Testers

- 15-1254 Web Developers

- 15-1255 Web and Digital Interface Designers

I wonder what the difference between Computer Programmers and Software Developers is. And are web apps not software?
I was curious about that too.

Quoted from the Bureau of Labor Statistics:

5-1251 Computer Programmers

Create, modify, and test the code and scripts that allow computer applications to run. Work from specifications drawn up by software and web developers or other individuals. May develop and write computer programs to store, locate, and retrieve specific documents, data, and information.

Illustrative examples: Applications Programmer , Computer Language Coder , IT Programmer , Systems Programme

15-1252 Software Developers

Research, design, and develop computer and network software or specialized utility programs. Analyze user needs and develop software solutions, applying principles and techniques of computer science, engineering, and mathematical analysis. Update software or enhance existing software capabilities. May work with computer hardware engineers to integrate hardware and software systems, and develop specifications and performance requirements. May maintain databases within an application area, working individually or coordinating database development as part of a team.

Illustrative examples: Computer Applications Engineer , Computer Systems Engineer , Mobile Applications Developer , Software Applications Architect , Software Engineer , Systems Software Developer

15-1254 Web Developers

Develop and implement websites, web applications, application databases, and interactive web interfaces. Evaluate code to ensure that it is properly structured, meets industry standards, and is compatible with browsers and devices. Optimize website performance, scalability, and server-side code and processes. May develop website infrastructure and integrate websites with other computer applications. Excludes "Special Effects Artists and Animators" (27-1014).

Illustrative examples: Intranet Developer , Web Applications Developer , Web Architect

(Source: https://www.bls.gov/soc/2018/major_groups.htm)

Instead of seeking wisdom in this arbitrary tome, I'd instead look at it as if it's an append-only CSS file where nobody ever goes back to rethink the taxonomy which I guarantee more closely reflects the reality of it.

It's like thinking there's actually difference between "Coder", "Computer Programmer", and "Software Developer" just because developers kept penciling in those roles into a form. Anyone with experience in the industry knows that any of those could have the exact same job.

Thank you, BLS, for finally settling the ages old question of whether a software developer actually programs a computer or not.
Yes but by definition restricted to the web.
- Create Desktop apps with NodeJS-- Look at Electron

- Create iPhone & Android Phone apps with React Native framework

- Create robots/IoT projects with frameworks like Cylon.js, Johnny-Five, etc.

Sure, you can't use JS to program some stuff (integrated circuits, cisco networking gear, etc.), but there's a lot more you can do with it than web programming.

(comment deleted)
Given there are plenty of browser, mobile, desktop, and even embedded disciplines that utilize URIs to transmit resources I think that's a very broad term. Or did you have another definition for web?
At my company, this was not true until a new CTO stepped in. That was nice because it instantly increased my salary by about 20% with no change in work.
There’s a lot of interesting posts with facts and the like for me it’s just: “I’ve tried to do web development and failed every time. The barrier to entry is too damn high. Babel, webpack, blah blah blah, then frameworks, and then good UI design and then efficient API consumption...”
Funny. Today's web devs are not your daddy's webmasters.
I'm not sure what your comment means.
Wonderful blend of gatekeeping and clickbait in the title. :)
What do you mean by gatekeeping? It is a slightly clickbaity title I admit, although it's not dishonest.
I started as a "web developer" without any credentials and have transitioned to "software engineer" without any credentials, though now I'm actually not 100% sure how I did that.

Mostly I just obsessed over functional programming for a long time, and then took the first job I could find doing Haskell (at NYU), then doing an Erlang chat server at a startup, and then doing F# at Jet.com. I guess people assume that only engineers and academics want to do functional languages.

I started as a mobile dev, transitioned to backend, and somewhere between then and now, I've become an engineer. My skillset never really changed and the only cert I have is unrelated to code. I feel like it's just title creep. When I was a kid building websites "web dev" was the cool title. Now it's "something something engineer."
I mean, in fairness to me (and possibly you, I don't know), I do a lot more algorithmic stuff now than when I first started. I actually have to think about time-complexity in what I do, in addition to knowing the best kind of concurrency algorithms for a certain task.

I haven't done any web dev in awhile, and my understanding is that this has changed, but when I was doing it, you could get away without worrying a lot about performance or theory.

I graduated as a software engineer and now I'm a web developer…
My dear friend, Web Developers are indeed software engineers. In fact, a Software Development Engineer is essentially Developer for short.

All software engineers have some sort of specialization or another; there is nothing preventing a web developer from writing software in another discipline.

A very large portion of developers at FANG companies are web developers; the web is a big part of software these days. FANG companies do not have a monopoly on defining what software engineering is.

Even if you are currently in a FANG company, you must take some time to prepare before you go to an interview for another FANG company. The reason is simple, you don't really get a lot of algorithm/data structure practice in most day jobs; leetcode is your friend.

And please, can we stop this incessant gatekeeping? It does not help. There are a lot of amazing software engineers working at non-FANG companies doing great work, building great things.

> And please, can we stop this incessant gatekeeping? It does not help. There are a lot of amazing software engineers working at non-FANG companies doing great work, building great things.

Sure, but not making north of $200k in non-management, non-super-specialized-and-rare positions. Except ("mostly", I must add, because this is an Internet comment) at places that interview similarly.

[EDIT] While we're at it—dear all you folks hiring in the low to mid-100 range for remote positions: your competition, for me, includes local places that don't have a weeks-long five-stage hazing interview process that take 4-8 hours total time, or more. They have maybe two hours of relatively low-stress phone calls and in-person conversations and make a decision in a day or three. And offer the same money you do. They shit or get off the effing pot, because they know if they don't they'll miss me. Your slow-ass high-time-commitment "oh we'll do two hours of pair coding online then fly you out and have you do a half-day of whiteboarding" processes are why it's "hard to find developers", assuming the money you're offering is right. You are not Google. Your money is not Google money. Your competition includes shops that have cashflow and contracts and need—need—developers with half a clue right now and can't afford to dick around, and they pay the same that you do. Knock it off. I'd rather work for you guys but you make it a real pain in the ass.

You can get >$200k in non-FANG. I know of at least one company in Austin, the position is partial remote, you can work 3 days from home if you want to.
I completely agree with your sentiment in the [EDIT] part. My theory always was that remote shops can do more `hazing` because they have people who want to freely move/travel/go full digital nomad lining up for them. Would be interesting to know if this is the case.
I need more upvotes. You nailed all the reasons why after 20+ years I'm trying to move out of tech.
I'm confused by the title, a web developer is just a particular type of software engineer.