0:00
Let's have a candid chat about becoming a full stack developer because it's something I get asked about all the time
0:05
Which suggests that a lot of folks really don't know what it means and what's involved
0:09
And it doesn't help that a lot of job openings ask for full stack experience and a lot of coding boot camps are selling full
0:14
Stack programs. Let's start with clearing up some of the misunderstandings around front-end, back-end and full stack development
0:20
And then we're gonna go into why you shouldn't try to become a full stack developer as someone who is trying to get into the industry
0:26
So what exactly is front-end development? Well, the front end is the user interface or UI for websites web applications native mobile applications
0:36
Like those on your iOS or Android device Hybrid applications and some front-end developers even focus on creating HTML based emails for marketing campaigns at the core
0:45
They work with HTML as the markup language CSS as the style sheet language and the main programming language is going to be JavaScript
0:53
Now depending on the complexity of the project the front end is going to be integrated with a lot of different third-party
0:58
Libraries and frameworks to handle the different parts of the application. There are tons of them out there
1:03
You got react, angular, next.js, lodash, axios, Redux, RxJS And there's CSS processors and a lot of other stuff not to mention custom in-house
1:14
component libraries and style libraries the front end then communicates with the back end to send and receive data through methods like
1:21
HTTP requests and web sockets So then what exactly is back-end development
1:25
The back-end receives data updates from the front-end UI and then updates the database and for other types of requests the back-end returns data
1:33
for the UI to display but the back-end also has a really important role to play in all this because you see
1:39
Actual users of an application have access to the front-end code in the browser
1:43
And so we have to treat it like it's always vulnerable and always going to get compromised
1:48
The back-end developers will create specific ways to send and receive data which act as gates to protect the database from being compromised or corrupted
1:55
whether that's intentionally or accidentally and a lot of times data is coming in from all over the place and it needs to be collected and processed into a
2:03
Consistent structure and cache so that the back-end service doesn't have to keep doing the same stuff over and over again
2:09
You see all of this processing costs money So back-end developers have to manage these interactions to be fast enough to provide a really good experience
2:17
For the end-user but also to be cost efficient with its transactions back-end developers often have to work across multiple
2:24
programming languages and then their APIs are usually going to be split into micro services where one could be written in Java another in
2:32
Scala another in JavaScript with Node.js or some other programming language And then back-end devs might have to integrate with a bunch of different databases
2:41
Read information from data pipelines and send data through other systems This system of interactions could be really complex and in some companies
2:49
there's so much going on in the back-end that there are gonna be software engineers who are dedicated to just
2:54
databases or to managing the pipelines and Others focus solely on building the micro services all of this needs to be secure and protect the data now
3:04
Let's talk about full stack development a full stack developer does everything that a front-end and back-end
3:09
developer does and much more which means knowing multiple tools for bundling code and deploying the
3:15
applications because this is handled differently on the front end and on the back end keep in mind that a lot of job listings for
3:21
Full stack developers are going to be a little bit misleading and we're gonna dive into that more in just a second
3:26
But most true full stack jobs are going to be at smaller companies on tighter budgets
3:31
These companies want to get as much out of each person as possible So in addition to doing the stuff we just talked about a full stack developer is probably going to do a lot of DevOps stuff
3:39
Like managing infrastructure and that's something that's usually going to be handled by somebody else at a larger company
3:44
If we'll say developers going to be more involved with planning with talking to customers and it's going to be on call for anything that
3:50
Happens with the application from one end to the other but that's why everybody wants them, right? Well, not exactly
3:56
So let's get into why you shouldn't become a full stack developer when you're starting out first
4:00
Most job listings cast a wide net of requirements that often don't actually match the specific needs of a particular team
4:07
For example the job listing for my current position targeted full stack with the focus on front end and what the team really wanted was
4:15
Front end experience. In fact, 98% of what I have done at Adobe is on the front end now
4:21
Most everyone I've worked with is also specialized on one side or the other and occasionally crosses over
4:26
We could do full stack development if needed But we play to our strengths because that is going to be much more efficient outside of those smaller companies
4:33
This separation by a specialization is very common And if you're not actually specialized and good enough at that area of need
4:41
Then there's a good chance that you aren't even going to get the job offer And this could be one of the downsides of doing a boot camp that teaches full stack breadth without
4:49
Spending enough time really deep diving into the front end or into the back end when compared to self-taught devs who are going to
4:55
Usually be focused on learning one side or the other and learning it Second back-end devs are the guardians of the data
5:01
Which often is the company's most valuable asset and a lot of companies are going to be really reluctant to hire a new
5:09
Back-end developer because it's super easy to mess up the database Mess ups can really cost the company a lot of money and can completely destroy the reputation
5:17
So it's gonna be harder to convince them that you're competent enough to do the job and because you're doing full stack work
5:24
Which includes back-end you're gonna inherit a lot of those concerns Third if the company is legitimately looking for and needing a full stack developer
5:31
They probably need someone with experience who can actually handle the entire process without much supervision and hand-holding
5:37
If you're new to software development You just don't have that experience that comes from years of making mistakes that have taught you how to architect things without
5:45
Walking your project into a corner down the road You'll eventually get there but that experience is not something that you have but it's something that the company needs right now
5:54
There's just so much to know and you probably don't even fully know Everything it is that you're supposed to know and so they're not gonna be super interested in you unless they are new to tech
6:03
And aren't even sure what they need themselves or maybe they're cheapskates who are willing to take whatever they can get at the cheapest salary
6:11
Possible fourth a specialist who becomes really good at some niche of software development
6:15
Usually makes more money than a generalist because companies that it can afford to really pay
6:19
Well want someone who is really good at something now money is not everything and some people really enjoy being full stack
6:26
Developers and there is nothing wrong with that. And if that is your goal, that is great
6:30
I still think you're better off becoming a t-shaped developer and that means going deep in one area and then go broad
6:37
Enough to become full stack so the path that I recommend is becoming good at front-end development just so that you can get your foot into the industry and
6:44
Then in a year or two, you can start expanding your skill set to include the back end
6:49
Even if you later decide to stick with either just the back end or the front end
6:53
Having that breadth across that domain and that full stack experience is going to be really helpful
6:58
And if I were starting over these are the things that I would do to become a software developer
7:02
So you should watch this video next late