@cjkoepke
Software engineer specializing in headless WordPress.
Nothing here yet.
I am available for consulting and/or project work as it pertains to WordPress and headless installs on technologies like Gatsby and Next.
No blogs yet.
Generally, full-stack is referring to the technology stack of an application. So, if that stack consists of Node/React/MongoDB, a full-stack developer would be comfortable and proficient in building a feature in all areas of the stack it touched. A "web developer" could be assumed to be full-stack, but it's just as likely that they would not know any backend code, or frontend code. So full-stack is just more specific. That being said, it's definitely a buzzword and implies expert-level skills in each area — something I am pretty convinced is impossible.
This is how I understand it (not necessarily confident that I'm right): An object literal is useful when you only have one need for that object (or a single occurrence). A constructor function produces independent and isolated instances of that object literal. The new keyword is somewhat of a syntactical sugar that implements a constructor function under the hood (pretty sure, but could be wrong).
That entirely depends on the company you are applying to. Full-stack does not and cannot mean every language under the sun. Instead, full-stack will mean what the company you are applying for needs it to mean. Is their product a Node/React application with MongoDB? Then you'll need to learn those frameworks and JavaScript really well. Is their product built on PHP with a templating language for the frontend like Vue.js? Then learn that. Basically, find out what stack different companies use, choose the one you like, and become sufficient in it. Then you can market yourself as a full-stack developer in that particular arena. Because of the nuances of the term "full-stack", I've begun avoiding that title as a go-to choice — instead, I lean toward "software developer", which I think implies full-stack, but doesn't necessarily give the impression that I know everything. In the end, do your best, and pick a specialty.
I really like Dave 's response below, but I would add that in an indirect way, you should get very good and estimating your own time to learn . By that, I mean if you are going to have to learn a new technology to complete a project (and you know this from the start) add in the time it will take you to learn that technology in your final estimation.
I think, certainly, some companies want to jump on the bandwagon. This isn't surprising when a lot of developers also want to the jump on the newest, latest, greatest thing. That being said, at the rate the internet and programming evolve in general, it's probably better to be too "jumpy" than too "stagnant".
I think there's a subset of people would would appreciate a different interface. But you're right — a lot of people (if not most) would prefer what they know. Someone suggested on Twitter as well that it's probably not very practical yet unless you have a controlled environment. With no plugin standardization for backend pages, integrated them into a detached client like Calypso would be a massive undertaking and likely bug-prone.
People will tell you that coding is both hard and easy (just browse the answers to this question), but I think it's only fair to give credit to both answers. Programming is hard because it's different than normal life. Normal life is intuitive and emotional; programming is linear and logical. Because of this, you have to retrain your brain to think like a computer, and not as a human — the nuances of this are many, and only time, persistence, and experience will allow you to overcome the hurdles. Programming is easy , because it's simply logical. The answers to the hard questions are concrete, predictable, and quantifiable. With that in mind, the more you learn, study, and grow in the art of programming (a task in itself, but a doable one), the easier it becomes to solve problems. In short, programming is hard at first. But persistence will reward you with an increased ability to pick up new concepts faster and more accurately, thus making it "easy". Shameless plug: you can get more programming awesome-sauce at http://frontend.cafe.