Is Becoming a Full Stack Developer Worth the Money? -

Merrick

kiwifarms.net
I have been contemplating this ever since I heard about a program that costs $18,000 in total for 10 months.

I would like to further my career into geology/geoscience/GIS, and they're asking me if I have experience with Python, as ArcGIS uses Python. But I also wouldn't be averse to a career as a programmer/developer.

Here's an article deriding the term "full stack developer." (archive)

The author argues that everyone is "full stack," but that everyone has different strengths in different areas.

In software development (especially web development), we hear the phrase, “full stack developer,” as in “I’m a full stack developer” or “we’re looking for a full stack developer.” Guess what? There is no such thing.

All developers are full stack.*

and…

No developers are full stack.**

The phrase “full stack” is really just a business buzzword, not an engineering designation. Real developers do not run around saying to each other, “are you full stack?… I’m full stack… how about you?… you full stack?…” The phrase “full stack” is just what developers say to pander to recruiters who usually have no idea what that means. It’s what recruiters say to appease managers but usually have no idea why they are saying it. It’s what managers say because of course no one wants a team of half-stack developers, that would be crazy. Ever see a team of half stacks? It’s awful.
So where did this phrase come from?

This unfortunate phrase evolved from a technical descriptor meaning the full set of primary technologies that comprise a complete technical solution. It typically means the database and operating system (aka the “back end”) up through and including the user interface (aka the “front end”). Between those two points, is the control and business logic. This end-to-end solution relies on many ancillary technologies such as the network, hardware, load balancers, firewalls, etc., but typically “the stack” refers only to the database, the operating system, and the languages needed to make a complete software solution (typically one or more back end languages and one or more front end). On the surface it seems logical that if “the stack” is the set of technologies needed to make an end-to-end solution then you would want an engineer who is a “full stack engineer.” In other words, you want one engineer that can complete an end-to-end solution. Seems logical. It’s not. It’s very wrong (with a couple notable exceptions explained below).
So, when you ask a developer, “are you full stack?”, what you are really asking is, “can you work with the database, the operating system, and two or more programming languages?” Of course they will say yes. However the question itself is completely meaningless. Being “full stack” is the very definition of software engineer/developer. There are no other kind of software engineers. None. If you are a technologist but not “full stack,” then you are not a software engineer. That is literally what software engineer means. There are many other professions that are both highly technical but not full stack and they have their own names. Database Administrators specialize in the database, they are not full stack, and that’s why we call them Database Administrators. System Administrators specialize in the operating system and servers, they are not full stack, which is why we call them System Administrators. Web Designers (as opposed to web developers) specialize in user interface design, but not complete web solutions, which is why we don’t call them software engineers. If you’re not “full stack,” then you are not a software engineer. It’s self defining.

Saying you want a “full stack” engineer is like saying you want a “full medical” doctor or a “full fire” fire fighter. You don’t say those things because its redundant. There are no “half medical” doctors. There are medical professionals that are not “full medical,” such as nurses, EMTs, and physician assistants. That’s why they have their own names, they aren’t doctors. The moment you say “doctor” it means you get “full medical.” Being a software engineer means you have a specific set of skills that are required to fully engage in that profession. By definition those skills are “the full stack.” When you ask a developer “are you full stack?” you are actually asking “are you a software engineer?” If you’re talking to a developer and you need to ask “are you full stack?” then you don’t really understand developers or the stack. Want to hire great software engineers? Do it right. The question of full stack is meaningless unless you also ask about your stack in particular, and if you do that, then you didn’t need to ask “are you full stack?” in the first place.

* The first reason there is no such thing as a full stack developer is that all developers are full stack. “Full stack” is a meaningless and redundant designation.
While every developer is full stack, it’s very important to realize every developer is better or worse at one area or another, and some have purposefully specialized in only one part of the stack. Back to the Doctor analogy, while every doctor is full medical, some specialize and are no longer appropriate for other medical purposes. Do you want a heart surgeon doing your brain surgery? I don’t think so.

Even without purposeful specialization in any one area or another, every developer is simply better at one area over another. For example, in my case I have a masters degree in computer science and I’ve worked in dozens of languages, operating systems, and databases over the years. If you ask me, “are you full stack?” and I say yes, what have you learned? Nothing. What you really need to know is that I have different capabilities at different points in the stack. I am decent on the database, my skills are solid. I don’t make any big mistakes, but I am certainly not making the database tables sing in perfect harmony. I’m above average with user interface and design, but I’m not a UI/UX desiner and I can’t compete with those who are specialists in that specific area. However in the back and middle of the stack, my control logic, business logic, and architectural skills are exceptional. While I am “full stack” just like any software engineer, I have an affinity for the back and middle of the stack, and for architecture. I started as a scientific and engineering programmer, doing the control logic for AI systems. Someone else did most the database work, someone else did most of the UI, and my primary job was building the AI engine that drove the software. I could have done the data layer and interface too, but the question is, in an enterprise scenario, should I work the full stack just because I can? No. Absolutely not. I can and do work at all levels, but that doesn’t mean I always should. We all can, but in practice day-to-day in an enterprise environment, we shouldn’t. We each work where we are best. That is, if you know what you are doing.
In a multi-developer dev shop, if you want the absolute best software product, you need to immediately stop believing and pandering to the myth of the full stack developer.

If you think you need “full stack” engineers because you want smart engineers who understand software end-to-end, then stop saying “full stack” and start saying “expert” and “experienced. “ Start asking the right questions. On the other hand, if you need full stack engineers because that is your development model, then you are simply doing it wrong. If you have a team of developers working the full stack in silos, doing everything from the database to the UI, then you are doing it wrong, wrong, wrong. Wrong.

Like most things in life, there are a couple of exceptions; 1) You are a start-up or so small you only have one or two developers, or 2) you literally have no choice because the project must be kept to one person for strong business reasons. In those cases, by all means, talk about the full stack because you have no choice and that is a viable strategy. There are a lot of developers out there that really can deliver in that regard (I like to think I’m one of them). But when you grow, then grow the right way and break the “full stack” lie.

When someone asks me if I’m full stack, my answer is, “I’m a software engineer.” If you don’t understand my meaning, then you probably don’t understand enough to properly ask me any pertinent questions about my skill set anyway.

Still not convinced? Look at it another way, the reason the assembly line revolutionized production is because we learned that although a craftsperson can do it all, they shouldn’t. If you want to build chairs, you don’t hire 5 craftspersons that are “full chair.” You don’t tell each of them to go out and chop down trees, then tell all of them bring the wood back and cut it, then tell all of them carve the wood, etc. What you do is send one out to harvest wood — your best wood harvester. One sets up a cutting station and processes it — your best cutter. One sets up a carving station and carves — your best carver. One sets up and assembly station — your best assembler. One sets up a finishing station — your best finisher. You specialize and you create a flow. You build synergy. Software is no different. At every point in your software production process you should have a place for your specialist in that area to engage, do their best work, and move on. If you tell me your software doesn’t lend itself to that model, then I’m going to question your architecture and your leadership. If you want to run your dev team like its the 1700s that’s your problem, but don’t be surprised when your 10 full stack “artisans” are schooled by three hard driving engineering specialists led by a someone who knows how to get work done in this century.

When you ask for a full stack engineer in an enterprise environment, you may as well say, “I want a jack-of -all trades and master of none.
I know what you’re thinking. You’re still thinking “but I really want full stack developers!” Despite everything I just said you still think that because for you “full stack” means someone equally and perfectly proficient at all points in the stack. Good luck with that. Not only is that impossible, after two decades of software development I can tell you that assuming I could even find that person, I don’t need them nor do I want them. Give me a database expert, a control logic expert, and an artist with the UI, and I will beat your “full stack” team in every way, on every level, every time. Every time.

** The second reason there is no such thing as a full stack developer is that no developer is full stack in practice in enterprise production. At least not if you’re doing it right. They can be. They just shouldn’t be.

If you’re a manager or recruiter asking for full stack developers for a fully staffed dev shop, then I put it to you that you either don’t know what a developer is, or you don’t know how to run a dev shop, or both.

If you’re an engineer saying you are (or are not) full stack; stop it. Of course you are full stack. You’re an engineer.

Do you think it's worth the money to get an $18,000 education on full stack development, or is it not?
 

MediocreMilt

JUST
kiwifarms.net
Why would you shell out $18k for a "boot camp"?

At that point you're not that far off from the cost of a degree.

This smells like bullshit that an enterprising faculty member is laundering through the University of Wisconsin.

I'd avoid, especially since it sounds like your actual goal is to learn Python for scientific purposes, which you can do by spending $40 on a good book (and frankly even less, even without going YoHo).
 

DumbDude42

kiwifarms.net
Do you think it's worth the money to get an $18,000 education on full stack development, or is it not?
i dont know about that specific thing you posted but in general i'd be wary of things like this
'full stack' is just a general term that refers to your ability to design and code software systems in different languages and frameworks, as opposed to being a hyper specialized dev who only works within one specific niche forever. it has become a bit of a buzzword though, which is why i'm sceptical of anyone who uses it to advertise expensive products.
 

Car Won't Crank

My cars won't crank
kiwifarms.net
That looks scammy. If you want to learn the popular tools used in full stack type work, I recommend freecodecamp. Their guided curriculum is actually quite good and you learn the basics for free. I haven't completed it but I use the exercise/tutorials for whatever small project I want to tackle.
 

MediocreMilt

JUST
kiwifarms.net
'full stack' is just a general term that refers to your ability to design and code software systems in different languages and frameworks, as opposed to being a hyper specialized dev who only works within one specific niche forever.
Technically, "full stack" is supposed to mean that you're essentially a LAMP guy (or variations thereof), meaning you're comfortable maintaining the OS, maintaining the server software, running a database, and writing website code (Linux, Apache Http, MySQL and PHP(plus HTML, CSS, Js). or variations thereof like a Java-based stack, or a different DB, or on a windows server, or with ASP, etc etc etc on variations.

Which, point still stands, is vastly different work than using Python for science.
 

Coffee Shits

Did someone say "wattage"?
True & Honest Fan
kiwifarms.net
If you're seeking to become a web developer, don't, it's retards all the way down.

That said, if you don't have a grip on the "full stack" e.g. LAMP or MEAN, you're at a disadvantage when it comes to being hired. Boot camps are scams, you will learn the same or more by setting up your target stack from scratch and throwing it up on the public internet for $5/mo, and it will look better on your resume too.
 

Flabba_Wabba_Jabba_Noonga

Clothes are meant to be worn!
kiwifarms.net
There's two things my dad always told me:
1. Enjoy life to the fullest
2. Never become a web developer

Web development is so blindingly easy too. Most framework languages just abstract things to look like HTML again. JavaScript is so stupidly simple and rest is just aesthetic design. Web developers try to hype their industry up and make it seem harder than it is, but it really hasn't changed since the early 2000s. You don't need anything more than simple HTML and CSS (and PHP if you're doing interactive stuff I guess).
 
Last edited:

PuffyGroundCloud

Sparkling Water connoisseur - Yang-21
kiwifarms.net
I have been contemplating this ever since I heard about a program that costs $18,000 in total for 10 months.

I would like to further my career into geology/geoscience/GIS, and they're asking me if I have experience with Python, as ArcGIS uses Python. But I also wouldn't be averse to a career as a programmer/developer.

Here's an article deriding the term "full stack developer." (archive)

The author argues that everyone is "full stack," but that everyone has different strengths in different areas.

In software development (especially web development), we hear the phrase, “full stack developer,” as in “I’m a full stack developer” or “we’re looking for a full stack developer.” Guess what? There is no such thing.

All developers are full stack.*

and…

No developers are full stack.**

The phrase “full stack” is really just a business buzzword, not an engineering designation. Real developers do not run around saying to each other, “are you full stack?… I’m full stack… how about you?… you full stack?…” The phrase “full stack” is just what developers say to pander to recruiters who usually have no idea what that means. It’s what recruiters say to appease managers but usually have no idea why they are saying it. It’s what managers say because of course no one wants a team of half-stack developers, that would be crazy. Ever see a team of half stacks? It’s awful.
So where did this phrase come from?

This unfortunate phrase evolved from a technical descriptor meaning the full set of primary technologies that comprise a complete technical solution. It typically means the database and operating system (aka the “back end”) up through and including the user interface (aka the “front end”). Between those two points, is the control and business logic. This end-to-end solution relies on many ancillary technologies such as the network, hardware, load balancers, firewalls, etc., but typically “the stack” refers only to the database, the operating system, and the languages needed to make a complete software solution (typically one or more back end languages and one or more front end). On the surface it seems logical that if “the stack” is the set of technologies needed to make an end-to-end solution then you would want an engineer who is a “full stack engineer.” In other words, you want one engineer that can complete an end-to-end solution. Seems logical. It’s not. It’s very wrong (with a couple notable exceptions explained below).
So, when you ask a developer, “are you full stack?”, what you are really asking is, “can you work with the database, the operating system, and two or more programming languages?” Of course they will say yes. However the question itself is completely meaningless. Being “full stack” is the very definition of software engineer/developer. There are no other kind of software engineers. None. If you are a technologist but not “full stack,” then you are not a software engineer. That is literally what software engineer means. There are many other professions that are both highly technical but not full stack and they have their own names. Database Administrators specialize in the database, they are not full stack, and that’s why we call them Database Administrators. System Administrators specialize in the operating system and servers, they are not full stack, which is why we call them System Administrators. Web Designers (as opposed to web developers) specialize in user interface design, but not complete web solutions, which is why we don’t call them software engineers. If you’re not “full stack,” then you are not a software engineer. It’s self defining.

Saying you want a “full stack” engineer is like saying you want a “full medical” doctor or a “full fire” fire fighter. You don’t say those things because its redundant. There are no “half medical” doctors. There are medical professionals that are not “full medical,” such as nurses, EMTs, and physician assistants. That’s why they have their own names, they aren’t doctors. The moment you say “doctor” it means you get “full medical.” Being a software engineer means you have a specific set of skills that are required to fully engage in that profession. By definition those skills are “the full stack.” When you ask a developer “are you full stack?” you are actually asking “are you a software engineer?” If you’re talking to a developer and you need to ask “are you full stack?” then you don’t really understand developers or the stack. Want to hire great software engineers? Do it right. The question of full stack is meaningless unless you also ask about your stack in particular, and if you do that, then you didn’t need to ask “are you full stack?” in the first place.

* The first reason there is no such thing as a full stack developer is that all developers are full stack. “Full stack” is a meaningless and redundant designation.
While every developer is full stack, it’s very important to realize every developer is better or worse at one area or another, and some have purposefully specialized in only one part of the stack. Back to the Doctor analogy, while every doctor is full medical, some specialize and are no longer appropriate for other medical purposes. Do you want a heart surgeon doing your brain surgery? I don’t think so.

Even without purposeful specialization in any one area or another, every developer is simply better at one area over another. For example, in my case I have a masters degree in computer science and I’ve worked in dozens of languages, operating systems, and databases over the years. If you ask me, “are you full stack?” and I say yes, what have you learned? Nothing. What you really need to know is that I have different capabilities at different points in the stack. I am decent on the database, my skills are solid. I don’t make any big mistakes, but I am certainly not making the database tables sing in perfect harmony. I’m above average with user interface and design, but I’m not a UI/UX desiner and I can’t compete with those who are specialists in that specific area. However in the back and middle of the stack, my control logic, business logic, and architectural skills are exceptional. While I am “full stack” just like any software engineer, I have an affinity for the back and middle of the stack, and for architecture. I started as a scientific and engineering programmer, doing the control logic for AI systems. Someone else did most the database work, someone else did most of the UI, and my primary job was building the AI engine that drove the software. I could have done the data layer and interface too, but the question is, in an enterprise scenario, should I work the full stack just because I can? No. Absolutely not. I can and do work at all levels, but that doesn’t mean I always should. We all can, but in practice day-to-day in an enterprise environment, we shouldn’t. We each work where we are best. That is, if you know what you are doing.
In a multi-developer dev shop, if you want the absolute best software product, you need to immediately stop believing and pandering to the myth of the full stack developer.

If you think you need “full stack” engineers because you want smart engineers who understand software end-to-end, then stop saying “full stack” and start saying “expert” and “experienced. “ Start asking the right questions. On the other hand, if you need full stack engineers because that is your development model, then you are simply doing it wrong. If you have a team of developers working the full stack in silos, doing everything from the database to the UI, then you are doing it wrong, wrong, wrong. Wrong.

Like most things in life, there are a couple of exceptions; 1) You are a start-up or so small you only have one or two developers, or 2) you literally have no choice because the project must be kept to one person for strong business reasons. In those cases, by all means, talk about the full stack because you have no choice and that is a viable strategy. There are a lot of developers out there that really can deliver in that regard (I like to think I’m one of them). But when you grow, then grow the right way and break the “full stack” lie.

When someone asks me if I’m full stack, my answer is, “I’m a software engineer.” If you don’t understand my meaning, then you probably don’t understand enough to properly ask me any pertinent questions about my skill set anyway.

Still not convinced? Look at it another way, the reason the assembly line revolutionized production is because we learned that although a craftsperson can do it all, they shouldn’t. If you want to build chairs, you don’t hire 5 craftspersons that are “full chair.” You don’t tell each of them to go out and chop down trees, then tell all of them bring the wood back and cut it, then tell all of them carve the wood, etc. What you do is send one out to harvest wood — your best wood harvester. One sets up a cutting station and processes it — your best cutter. One sets up a carving station and carves — your best carver. One sets up and assembly station — your best assembler. One sets up a finishing station — your best finisher. You specialize and you create a flow. You build synergy. Software is no different. At every point in your software production process you should have a place for your specialist in that area to engage, do their best work, and move on. If you tell me your software doesn’t lend itself to that model, then I’m going to question your architecture and your leadership. If you want to run your dev team like its the 1700s that’s your problem, but don’t be surprised when your 10 full stack “artisans” are schooled by three hard driving engineering specialists led by a someone who knows how to get work done in this century.

When you ask for a full stack engineer in an enterprise environment, you may as well say, “I want a jack-of -all trades and master of none.
I know what you’re thinking. You’re still thinking “but I really want full stack developers!” Despite everything I just said you still think that because for you “full stack” means someone equally and perfectly proficient at all points in the stack. Good luck with that. Not only is that impossible, after two decades of software development I can tell you that assuming I could even find that person, I don’t need them nor do I want them. Give me a database expert, a control logic expert, and an artist with the UI, and I will beat your “full stack” team in every way, on every level, every time. Every time.

** The second reason there is no such thing as a full stack developer is that no developer is full stack in practice in enterprise production. At least not if you’re doing it right. They can be. They just shouldn’t be.

If you’re a manager or recruiter asking for full stack developers for a fully staffed dev shop, then I put it to you that you either don’t know what a developer is, or you don’t know how to run a dev shop, or both.

If you’re an engineer saying you are (or are not) full stack; stop it. Of course you are full stack. You’re an engineer.

Do you think it's worth the money to get an $18,000 education on full stack development, or is it not?
Just take a class in Community College or try for Audit class in university.
Or take UCLA extension, at least the certificate is legit
 

ErrForceOnez

kiwifarms.net
I've seen people get hired straight out of bootcamp into actual 'engineering' roles, but those people usually had some other kind of science degree and ended up hating working in the field of their degree. You also don't necessarily need frontend skills to work as an 'engineer', but you either have to be talented or settle for shitty unit test type work (which I have heard is fucking miserable).
 

Flabba_Wabba_Jabba_Noonga

Clothes are meant to be worn!
kiwifarms.net
I've seen people get hired straight out of bootcamp into actual 'engineering' roles, but those people usually had some other kind of science degree and ended up hating working in the field of their degree. You also don't necessarily need frontend skills to work as an 'engineer', but you either have to be talented or settle for shitty unit test type work (which I have heard is fucking miserable).
You don't need front-end skills in general. You can literally learn front-end tools and development in a week. It's so blindingly simple it's laughable that people actually think that being a front-end developer qualifies themselves to be a 'software developer'.
 

ErrForceOnez

kiwifarms.net
You don't need front-end skills in general. You can literally learn front-end tools and development in a week. It's so blindingly simple it's laughable that people actually think that being a front-end developer qualifies themselves to be a 'software developer'.
yea I agree with that sentiment, I was trying to avoid outright saying that but its true, there is a reason there are so many female/minority 'web developers'. The people I have worked with that never touch front end stuff (or only do it out of necessity) are way better engineers in general.
 

proteus4994

True & Honest Fan
kiwifarms.net
I’m a “full stack developer” but my front-end knowledge is shit. I’m much more comfortable in the backend. Front end is basically “try various CSS combinations until you find the one that works”
 

General Tug Boat

∆x∆y>=h/4π
kiwifarms.net
Full stack development is maintaining front to the backend in regards of executing web applications. You can do this by setting up your own virtual server and starting to compile websites. Literally would cost 10 bucks a month to maintain. 18k is retarded for that, you can literally learn right now just by doing some tutorials, and making your own projects. Coding requires actually sitting down and coding. Full stack development is great and there is good work in it. Though I would enroll in some community college courses and go to a real school at that point, because there is a lot of content.
 

Govt. Shitposting Machine

Please compliment my avatar it's my selfie
kiwifarms.net
At least try free courses like FreeCodeCamp or Odin Project before paying for it to see if you'll enjoy it. Though if you just need Python edX has free courses just for that.
Of course you can always do the crackhead option of just playing it by ear and looking up shit as needed.
You don't need front-end skills in general. You can literally learn front-end tools and development in a week. It's so blindingly simple it's laughable that people actually think that being a front-end developer qualifies themselves to be a 'software developer'.
They're basically just graphic designers but with keyboard slapping. Of course there's skill to it, but just call it like it is instead of larping as an epic developer programmer haxxor.
 

Nobue

kiwifarms.net
I've seen people get hired straight out of bootcamp into actual 'engineering' roles, but those people usually had some other kind of science degree and ended up hating working in the field of their degree. You also don't necessarily need frontend skills to work as an 'engineer', but you either have to be talented or settle for shitty unit test type work (which I have heard is fucking miserable).
Unit testing is alright, but it's gay as hell.
 

Flabba_Wabba_Jabba_Noonga

Clothes are meant to be worn!
kiwifarms.net
At least try free courses like FreeCodeCamp or Odin Project before paying for it to see if you'll enjoy it. Though if you just need Python edX has free courses just for that.
Of course you can always do the crackhead option of just playing it by ear and looking up shit as needed.

They're basically just graphic designers but with keyboard slapping. Of course there's skill to it, but just call it like it is instead of larping as an epic developer programmer haxxor.
I in no way indicated that my programming level is any better than anyones. I'm just saying that front-end development is very easy once you understand the basics of JavaScript and TypeScript. Web developers are not software engineers.
 

Shoggoth

kiwifarms.net
Boot camps are a scam. It would be preferable and cheaper to find a mentor / teacher and learn via apprenticeship. There's a lot you can learn yourself, too.
Start by answering this question: can you code your way out of a paper bag?
If the answer is yes, then start with Automate The Boring Stuff With Python to get going and some Unix tutorials because we live in a cursed timeline.
If the answer is no then depending on how academically inclined you are, learn the bare basics, give SICP a look if you're a turbo nerd, if no then others can recommend a path, then go back to 1.
Being a developer is not for everyone. Especially because it's insanity inducing. Consider specializing as a petroleum engineer instead.
 

Jones McCann

“O brave new world that has such people in it.”
kiwifarms.net
I would avoid it. If you want to learn and get a certificate, go to college. If you want to learn to code, do it on your computer. You learn to program by programming, you cant get that from a book or a teacher. You should obviously get guidance through people or online but the part that matters is putting time into writing code. It's like riding a bike, theres no other way besides riding it. You can read about riding a bike forever but you wont actually learn to execute the things you know until you do it yourself.
 

Similar threads

Why you shuold use Urbit, and so should your mom
Replies
76
Views
6K
Batshit crazy fan translator who is obsessed with Falcom games and hating XSEED Games
Replies
36
Views
11K
Top