The Rise and Fall of the Full Stack Developer
techcrunch.com
techcrunch.com
Of course nobody has done every language and framework. But plenty of people could do any language or framework.
I think there's a certain stage you get to as a dev where you can more or less pick up anything. This goes especially for things like OO languages. The reason it works is that you're rarely in the far reaches of your new language/framework. There are certain things that are common in OO, and if you swap languages, the learning curve isn't that steep, and you'll mostly be doing things that have an analogy in what you already know.
That is - treating mobile apps as something simple. They are not. Mobile apps of Android and iOS are full stack native client apps.
Building mobile apps is far closer to building your classic Windows desktop applications than an UI for a Web Application and it shows on the astronomic costs of the mobile apps - compared to Web Apps.
I guess that is because user interfaces tend to seem simple and the devices which run these applications are small and seem simple.
TL;DR: Mobile Developers are Full Stack Developers in their own right and the person writing the article should know better.
Having highly specialized engineers for each technology in a project might be nice save two things: 1. small companies and startups may not being able to afford the minimum upfront resources needed to do this and 2. overlap of expertise in a team is essential to a cohesive effort and a solid product (I have worked in places where people all specialized and did not stray from their neat little box; the results were never pretty).
I also have a tough time taking the author seriously on this subject when their GitHub account is 5+ years old with no activity [1] — no repos, no commits, not even a starred project.
I think this trend will accelerate as web applications are increasingly broken into loosely coupled services, with a rich client tying them together in the browser.
It's almost misleading these days for a designer with HTML and CSS knowledge to say they can do front-end development. If you can't navigate your way around a client side MVC framework, I don't think there's much you can contribute.
If you want to use machine-learning effectively anyway, you need to have a bunch of other technologies, like crawling & unstructured data extraction, or custom log processing & millions of users, or some other way to get the raw data that your machine-learning algorithms can process. Without data, machine-learning is useless. But that's a problem for an established company, not a startup, and established companies have long wanted specialists anyway.
With such replacements the article looks fairly reasonable - larger scale demands newer technologies, proliferation of client platforms demands more suppor for them, and growth in computing power and science makes users expect some smarts they did not demand a decade ago.
If and when your service catches on, then all the article's points become valid. But then you'll have resources available to hire specialists - and the full stack developers you hired in the early phase become full-stack integrators managing teams of specialists, assuming they have the ability & inclination to grow with the company. You're going to have to rewrite your code and throw out your early technology choices anyway: you might as well take advantage of the full stack developers you can find to get to the point where you can afford the specialists.
That said, the complexity of web development seems to be expanding geometrically.
This says it for me. There's a ton of work for enterprise app developers out there, without the slightest need to address the iOS or Android ecosystems. Deliver your goods via the browser already. Yes, it is insanely complicated, but it works. And I know a bunch of full-stack developers, fwiw.
This is in contrast to someone doing one aspect of the division of labor, who knows his division, but doesn't understand the full stack of automobile development. "I just make sheet metal into body parts. Engines and electrical systems are magic to me."
Not all code production houses need full-stack expertise, because they actually can operate in their niche without it thanks to our system of finance and contracts. Most don't, in fact. But big operations (a la a major automobile company) had just better be sure they have engineers who understand automobile production from design to showroom (reverting to the analogy).
I stopped reading when they substituted a relational database for MongoDB. Nevermind that they both solve completely different problems.
This post must have been written by an incompetent business analyst who feels all warm and fuzzy when he parrots the most popular buzzwords of the month. This kind of shit makes our jobs harder because managers see this stuff and decide that "our next project will be built on MongoDB and Amazon Cloud... it's bad ass rock star tech!"
This whole article is ridiculous.
Well, either that, or full-stack doesn't mean what the author thinks it does :)
What does mobile app dev have to do with a full web stack for example :)
While the author's definition might be too expansive, I can answer that one: Design your APIs to support mobile clients that sync, for which you'll need an experienced mobile architect, or your mobile clients will be stuck not taking advantage of local storage for better performance and resiliency in situations with unreliable connectivity.
If you treat mobile as an add-on, it will bite you in the ass.
If I was looking for positions I put that on my resume.
- ASP.NET WebAPI : web server
- Xamarin : iOS, Android
- Azure : cloud
- Akka.NET : actor model
- XAML/WPF : enterprise LOB, Windows Phone
I also don't think Scala is part of "the full stack". Worth knowing? Sure. Powerful? Yeah, it's quite a large step up from Java. You'll want to know it to use Spark, and it's a great "gateway drug" for Haskell. But I don't think it's on the list of things that a person needs to know to call himself a "full stack web developer".
Anyway, someone needs to write a terrible language that isn't so bad that no one uses it. Take all the worst features of C++ and Java, bolt on some enterprise crap, make your shitty ORM a first-class citizen, and then sell the shit out of it. (It can't be unusable like Brainfuck, but it can be worse than Java and still sellable to the enterprise.) It'll be a nine-figure effort, but I'll spot the first $200. Here's the one rule: this shitty language has to be named FullStack. Then we can be done with this shitty buzzword because "Full Stack Developer" will mean something else. Bonus points if it's attached to a "hip" but broken database system called Big Data.