Backend, Frontend or DevOps? How to Decide!

Tech With Tim
24 Apr 202416:54

Summary

TLDRThe video script emphasizes the importance of specialization in the field of software development to secure a job and advance one's career. It advises against the common mistake of jumping between topics without gaining a deep understanding. The script outlines three primary specializations: front end, back end, and DevOps, each with its own set of responsibilities, required skills, and potential salary. Front end development is considered the easiest to break into due to its visual nature and demand, while back end requires a strong grasp of server-side programming and databases. DevOps, the most challenging, involves both development and operations and is in high demand with a higher salary. The speaker suggests trying out each field briefly to determine personal interest and aptitude before committing to a specialization. The video also mentions the importance of mastering a field for higher earnings and briefly touches on other areas like game development and full stack development, recommending starting with one of the three main areas before branching out.

Takeaways

  • πŸš€ **Specialization is Key**: After learning programming fundamentals, focus on specializing in one area to qualify for jobs.
  • 🌐 **Frontend Focus**: Frontend development involves building user interfaces, working closely with designers, and is often the easiest field to break into due to its visual nature.
  • πŸ› οΈ **Backend Basics**: Backend development is centered around data, security, and infrastructure, requiring a strong understanding of server-side programming and databases.
  • πŸ€– **DevOps Dynamics**: DevOps aims to unify development and operations through automation, continuous deployment, and monitoring, but it's the most challenging to enter due to the need for broad expertise.
  • πŸ’° **Compensation Considerations**: While there's a salary range, focusing on mastering a field of interest is more important than choosing a role based solely on pay.
  • πŸ” **Ease of Entry**: Frontend is generally considered the easiest to enter, followed by backend, with DevOps being the most difficult due to its complexity and experience requirements.
  • πŸ“ˆ **Demand and Supply**: There's high demand for all three specializations, but fewer qualified candidates for backend and especially DevOps roles, which can give job seekers an advantage.
  • 🌟 **Personal Interest and Aptitude**: Your personality and interests play a significant role in determining which specialization might be easiest for you to master.
  • πŸ“š **Learning Curve**: The tech stack for frontend is often simpler to learn, while backend and DevOps require a deeper understanding of complex systems and protocols.
  • πŸ”— **Role Responsibilities**: Each role has distinct responsibilities, with frontend focusing on user experience, backend on data and security, and DevOps on automation and infrastructure management.
  • πŸ”§ **Tech Stack and Tools**: The required tech stack varies by role, with frontend developers needing skills in HTML, CSS, JavaScript, and frameworks, backend in server-side languages and databases, and DevOps in automation, cloud services, and security.

Q & A

  • What is the common mistake that aspiring developers often make that could be holding them back from landing a job?

    -The common mistake is jumping from topic to topic and field to field without really understanding what they need to focus on, which makes it difficult to specialize and qualify for specific jobs.

  • What are the three most popular specializations in the field of software development?

    -The three most popular specializations are front end, back end, and DevOps.

  • What does a front end developer typically do?

    -A front end developer is responsible for building user interfaces, working with designers, and bringing a user experience to life through styling, layouts, and ensuring the look and feel of an application or product.

  • What are the core responsibilities of a back end developer?

    -A back end developer is responsible for working with data and security, writing code that is hidden from the user but critical to the infrastructure of an organization or product, working with databases, authentication, performance, and designing and implementing scalable systems.

  • What is DevOps and what does a DevOps engineer typically do?

    -DevOps is about unifying development and operations to make the product lifecycle faster by building automations, doing continuous deployment and testing, monitoring, and logging. A DevOps engineer is responsible for all operations needed to bring a product into the hands of users.

  • Which of the three specializations is considered the easiest to break into?

    -Front end development is typically considered the easiest field to break into due to the simplicity of the tech stack and the visual nature of the work.

  • Why might there be less competition for back end developer roles compared to front end roles?

    -There might be less competition for back end roles because the topics are typically harder to master, such as server-side programming languages, database systems, and building scalable systems, which means there are fewer qualified candidates for these positions.

  • Why is DevOps considered the most difficult specialization to break into?

    -DevOps is considered the most difficult to break into because it requires a strong understanding of both development and operations, including building automations, continuous integration, continuous deployment, monitoring, cloud services, and security.

  • What is the average salary for front end, back end, and DevOps engineers in the United States?

    -The average salary for a front end engineer is $107,000, for a back end engineer it's $116,000, and for a DevOps engineer it's estimated at $138,000.

  • What is the advice for someone who is unsure which specialization to choose?

    -The advice is to try each of the specializations by spending a few days building a small project in each field, and then choosing the one that interests them the most and which they feel confident committing to for the long run.

  • What are some of the key technologies and languages a front end developer should know?

    -A front end developer should know HTML, CSS, JavaScript, and likely TypeScript. They should also be familiar with different frameworks such as React, Vue, or Angular.

  • What are some of the key technologies and languages a back end developer should know?

    -A back end developer should know server-side programming languages like Python, Java, or PHP, and frameworks such as Django, Flask, or Ruby on Rails. They should also be familiar with SQL and NoSQL databases, web server technologies, API development, and cloud services like AWS or Azure.

  • What are some of the key technologies and languages a DevOps engineer should know?

    -A DevOps engineer should know about continuous integration and deployment tools like Jenkins, GitLab, and GitHub Actions, infrastructure as code tools like Terraform, containerization technologies like Docker and Kubernetes, cloud platforms like AWS, Google Cloud, or Azure, scripting languages like Python or bash, and networking and security fundamentals.

Outlines

00:00

πŸš€ Choosing a Specialization in Software Development

The paragraph emphasizes the common mistake of jumping between topics without specialization, which can hinder job prospects. It introduces the importance of focusing on one of three popular specializations: front end, back end, or DevOps. The video aims to clarify the differences between these fields to help viewers make an informed decision about their career path. Front end development involves building user interfaces and focuses on the look and feel of applications. Back end development is centered around data and security, requiring work with databases and scalable systems. DevOps unifies development and operations through automation and continuous deployment. The paragraph also mentions JetBrains' TeamCity Pipelines as a tool for CI/CD, which is beneficial for all specializations.

05:00

πŸ€” The Demand and Difficulty of Specializations

This paragraph discusses the ease of entering different specializations and the demand for each role. Front end development is considered the easiest to break into due to its visual nature and simpler tech stack, although it is highly competitive. Back end development is more challenging due to the complexity of server-side programming and database management, but there's less competition and a strong demand for skilled professionals. DevOps is the most difficult specialization to enter because it requires expertise in both development and operations, including automation, CI/CD, monitoring, and security. Despite being harder to master, DevOps roles are in high demand and can command higher salaries.

10:00

πŸ’° Salaries and Career Growth in Specializations

The paragraph provides an overview of the average salaries for front end, back end, and DevOps engineers in the United States. Front end engineers have an average salary of $107,000, back end engineers earn around $116,000, and DevOps engineers have an estimated average of $138,000. It is noted that while DevOps roles tend to pay more, they are not typically entry-level positions and require experience. The speaker advises not to choose a specialization solely based on salary but to consider personal interest and the ability to excel in the field. As experience grows, individuals in any of these roles can earn substantial salaries.

15:01

πŸ› οΈ Technical Stack and Responsibilities for Each Role

This paragraph delves into the specific responsibilities and required technical skills for front end, back end, and DevOps roles. Front end developers are responsible for user interfaces, user experience, and performance, needing skills in HTML, CSS, JavaScript, TypeScript, and frameworks like React or Angular. Back end developers work on server-side development, APIs, databases, application integration, and security, requiring knowledge in various backend languages and frameworks, SQL and NoSQL databases, and cloud services. DevOps engineers handle CI/CD, infrastructure as code, monitoring, logging, performance tuning, security, and cloud server management, necessitating familiarity with tools like Jenkins, GitLab, Terraform, Kubernetes, Docker, and scripting languages like Python or bash.

🎯 Selecting the Right Specialization for You

The final paragraph advises on how to choose the right specialization. It stresses the importance of personal interest and confidence in the chosen field. For those unsure, the recommendation is to try each field with small projects and tutorials to determine which is the most engaging and feasible for long-term commitment. The speaker warns against the mistake of investing time in a field that one eventually dislikes, which can set back one's career. They also mention the availability of a software development course for those interested in any of the three fields, allowing them to pick a specialization after exploring the options.

Mindmap

Keywords

πŸ’‘Developer Specialization

Developer specialization refers to the process of focusing on a particular area within software development to gain expertise. In the context of the video, it emphasizes the importance of choosing between front end, back end, or DevOps after learning the fundamentals of programming. It is crucial for becoming qualified for specific job roles and standing out in the competitive job market.

πŸ’‘Front End Development

Front end development is the process of building the user interface and the user experience of an application. It involves creating the visual aspects and interactive elements that users engage with directly. The video mentions that front end developers work with designers and are responsible for styling, layouts, and the overall look and feel of a product. It is considered the easiest field to break into due to its visual nature and the simplicity of the tech stack required.

πŸ’‘Back End Development

Back end development involves working with the server-side of applications, focusing on data, security, and the infrastructure that supports the application. Back end developers write code that is hidden from the user but is critical for the functioning of the system. The video explains that this role involves working with databases, authentication, performance, and implementing scalable systems. It is slightly more challenging to break into than front end development due to the complexity of the required knowledge.

πŸ’‘DevOps

DevOps is a practice that combines software development (Dev) and IT operations (Ops) to streamline the process of building, testing, and deploying software. The video outlines that a DevOps engineer is responsible for unifying development and operations through automations, continuous deployment, testing, monitoring, and logging. It is considered the most difficult field to enter because it requires a strong understanding of both development and operations, including building automations and working in critical production environments.

πŸ’‘Continuous Integration/Continuous Deployment (CI/CD)

CI/CD is a software development practice where code changes are automatically integrated into a shared repository and then deployed to production through automated stages. The video discusses the challenges of setting up CI/CD pipelines and how tools like JetBrains' TeamCity Pipelines can simplify this process with self-tuning pipelines and a visual pipeline editor, which is particularly beneficial for developers who are not only coding but also managing deployment processes.

πŸ’‘Tech Stack

A tech stack refers to the combination of technologies and programming languages used to build and run an application. The video explains that different specializations within software development require knowledge of specific tech stacks. For instance, front end developers need to know HTML, CSS, JavaScript, and possibly TypeScript, along with frameworks like React or Angular. Back end developers might work with languages like Python, Java, or PHP, and DevOps engineers require familiarity with tools for automation, cloud services, and security.

πŸ’‘User Experience (UX)

User experience (UX) is the overall experience a user has when interacting with a product or service. In the context of the video, front end developers play a critical role in optimizing UX by ensuring that the interface is intuitive, accessible, and visually appealing. The video highlights that UX involves fine-tuning aspects such as button responsiveness, hover effects, and the tactile feel of interactive elements.

πŸ’‘Databases

Databases are structured sets of data stored in a computer system. They are a core component of back end development, as they manage and organize the data that applications use. The video mentions that back end developers work with databases, including both SQL (Structured Query Language) and NoSQL (non-relational) databases, which are essential for building and maintaining the infrastructure of applications.

πŸ’‘Cloud Services

Cloud services refer to the on-demand delivery of computing resources, including servers, storage, databases, and software, over the internet. The video discusses the role of cloud services in both back end and DevOps roles, where engineers work with platforms like AWS, Azure, and Google Cloud to manage and deploy applications. Cloud services are critical for scalability, reliability, and the overall performance of applications.

πŸ’‘Security

Security in the context of software development involves protecting systems and data from unauthorized access, breaches, and threats. The video emphasizes the importance of security in both back end and DevOps roles, where developers are responsible for implementing measures to safeguard the integrity and confidentiality of an application's data and infrastructure.

πŸ’‘Full Stack Development

Full stack development is the practice of developing both the front end and back end of an application. The video suggests that before one can become a proficient full stack developer, they should specialize in either front end or back end development first. This approach allows developers to gain a deep understanding of one area before expanding their skills to encompass the entire application stack.

Highlights

The most common mistake beginners make is jumping from topic to topic without focusing on a specialization.

After learning programming fundamentals, it's important to specialize to qualify for jobs.

Popular specializations are front end, back end, and DevOps.

Frontend focuses on building user interfaces and is often considered the easiest field to break into.

Back end deals with data and security, requiring a strong understanding of server-side programming and databases.

DevOps unifies development and operations, focusing on automation and continuous deployment.

Regardless of specialization, some DevOps work is inevitable when pushing applications to production.

JetBrains offers TeamCity Pipelines, a solution for CI/CD with self-tuning pipelines.

TeamCity Pipelines is free during public beta and can significantly reduce run time with its Smart Pipeline Optimizer.

Frontend development is highly in-demand but also competitive, with an average salary of $107,000 in the US.

Back end is more difficult to break into but often has less competition and an average salary of $116,000.

DevOps is the most challenging with high demand and an average salary of $138,000, but requires experience.

Choosing a specialization should be based on interest and ability to master the field rather than salary alone.

Frontend developers need skills in HTML, CSS, JavaScript, and frameworks like React or Angular.

Back end developers should know server-side languages, databases, and possibly cloud services.

DevOps engineers require knowledge of CI/CD tools, cloud services, scripting, and security.

Other fields like game development or robotics are niche and typically require prior development experience.

Full stack development is a combination of frontend and backend skills, best approached after specializing in one.

To choose a specialization, try short projects in each field to see which interests you most.

Transcripts

play00:00

If you're trying to

play00:00

become a developer, chances

play00:02

are you're making this one mistake,

play00:03

and it's likely what's holding

play00:05

you back from landing a job.

play00:06

Now that mistake is jumping

play00:08

from topic to topic and field to field

play00:10

without really understanding

play00:12

what it is that you need to focus on.

play00:14

Now, that's exactly why

play00:15

I'm making this video.

play00:16

Once you've learned

play00:17

the fundamentals of programing,

play00:19

you need to work on specializing.

play00:20

So you're actually qualified

play00:22

for the jobs that are out there.

play00:23

Now the most popular specializations

play00:25

to choose from are front end,

play00:27

back end or DevOps.

play00:29

Sure,

play00:29

there are hundreds of different areas

play00:31

that you could get into,

play00:32

but most of them are going to be routed

play00:33

from one of these three specializations.

play00:36

So now let me break down the difference

play00:37

between each of these three fields.

play00:39

You understand

play00:40

which one to go with

play00:41

and how to actually start

play00:42

making some serious progress.

play00:44

So let's start with a quick overview.

play00:47

Frontend is all about building

play00:48

user interfaces, working with designers,

play00:50

and bringing a user experience to life.

play00:53

You're going to be doing

play00:53

a lot of styling layouts, and overall,

play00:56

you'll be responsible

play00:57

for the look

play00:57

and feel of an application or product.

play01:00

Now, back end is all about data

play01:01

and security.

play01:02

You'll be responsible for writing code

play01:04

that's mostly hidden from the user,

play01:06

but that's critical

play01:07

to the infrastructure

play01:08

of an organization or a product.

play01:10

Now with backend,

play01:11

you're going to be working with

play01:12

databases, authentication, performance,

play01:15

and designing and implementing

play01:16

scalable systems.

play01:17

And then we have DevOps,

play01:19

which is about unifying development

play01:21

and operations.

play01:22

DevOps is all about making the life

play01:24

cycle faster by building automations,

play01:26

doing continuous deployment

play01:28

and testing,

play01:29

monitoring and logging,

play01:30

and really responsible

play01:31

for all of the operations

play01:33

you need to perform

play01:34

to actually bring a product

play01:35

into the hands of users.

play01:37

Now, regardless of which of these paths

play01:39

you choose,

play01:39

you'll eventually do some DevOps work.

play01:41

You'll probably have

play01:42

some kind of application

play01:43

that you actually want

play01:44

to push out to production.

play01:45

Now, when you do that,

play01:46

that's going to involve

play01:47

configuring, monitoring,

play01:49

and building an entire pipeline

play01:51

that allows you

play01:51

to do continuous integration

play01:53

and continuous deployment.

play01:54

Now, I'm not going to lie to you,

play01:55

this is a huge pain.

play01:57

Now, fortunately for us, the sponsor

play01:59

of this video,

play02:00

JetBrains, has a solution

play02:01

with Team City Pipelines.

play02:03

This offers a new intelligent approach

play02:05

to CI and CD

play02:07

by providing self

play02:08

tuning pipelines

play02:09

that won't ever break your dev flow.

play02:11

Best of all, it's free

play02:12

during the public beta to try it out.

play02:14

Now, whether you prefer using Yaml

play02:16

for configuring your pipelines

play02:17

or you want to set them up visually via

play02:19

the brand new Visual

play02:20

Pipeline Editor team,

play02:22

Citi Pipelines will get you

play02:23

to a functioning pipeline in just minutes.

play02:25

This will save you time on endless

play02:27

googling and documentation reading.

play02:30

Not to mention the team.

play02:31

Citi pipelines

play02:31

can cut your run time by up to 40%

play02:34

thanks to the Smart Pipeline Optimizer.

play02:37

It can even suggest

play02:38

optimal configurations

play02:39

and provide

play02:39

automatic test parallelization.

play02:42

Get started with Team Citi

play02:43

Pipelines today for free

play02:45

by clicking the link in the description

play02:46

and signing up with your GitHub account.

play02:49

Now let's get right

play02:49

into what you guys care about.

play02:51

Which of these fields

play02:52

is the easiest to get into

play02:53

and which of them pay the best?

play02:55

Now we'll start with difficulty

play02:56

and kind of the ease of entrance

play02:58

into these three different fields.

play03:00

Now the truth is

play03:00

that your personality type

play03:02

and what you're interested in

play03:03

is really going to dictate

play03:04

which of these is easier

play03:05

for you to master.

play03:06

But regardless,

play03:07

I'm going to give you

play03:08

the kind of common opinion

play03:09

on which of these is easier.

play03:11

So we can start with frontend development,

play03:13

which is typically considered

play03:14

the easiest field to break into.

play03:16

Now the reason for

play03:17

that is the tech stack you need to learn

play03:19

is the simplest to pick up.

play03:20

It's also very visual.

play03:22

That means as a beginner,

play03:23

you can immediately

play03:24

see exactly

play03:25

what it is that you're building

play03:26

and people

play03:27

who are just getting into programing

play03:28

find that this is a bit more intuitive

play03:30

and it's easier for them to pick up

play03:32

and learn these different languages.

play03:34

Now, with that in mind, frontend

play03:35

development is extremely in-demand.

play03:38

Companies always need frontend developers,

play03:40

but that also means

play03:41

that there's a lot of competition.

play03:42

This is usually

play03:43

what most people will start learning

play03:45

if they want to break

play03:45

into the tech industry really quickly.

play03:47

So you're going to be competing

play03:48

with a lot of other junior engineers

play03:50

for those entry level positions.

play03:52

That said, it's

play03:53

still a great one to go with,

play03:54

and it probably is one of the fastest ways

play03:56

to get a tech job.

play03:58

Now, back end, on

play03:58

the other hand,

play03:59

is slightly more difficult to break into,

play04:01

and that's

play04:02

because you need to have

play04:03

a strong understanding of server side

play04:05

programing languages,

play04:06

database systems, performance

play04:08

in building scalable systems.

play04:10

These topics

play04:11

are typically harder to master,

play04:12

or at least people find them

play04:13

more difficult.

play04:14

And I will say that

play04:15

there are slightly less roles

play04:17

for backend developers.

play04:18

With that said,

play04:19

there is still a ton of demand,

play04:21

and because this is more difficult,

play04:22

you'll often find

play04:23

that there is less competition

play04:24

and because there's less qualified people

play04:27

for the role.

play04:28

Now with backend,

play04:28

there's so many different stacks

play04:30

that you can learn

play04:30

so many different languages

play04:32

you can pick up,

play04:33

and that allows you

play04:33

to really specialize yourself

play04:35

for certain types of roles.

play04:36

And you can stand out compared

play04:38

to a more generic frontend role

play04:40

where everyone's going to know JavaScript,

play04:41

everyone's going to know HTML.

play04:43

So compared to frontend,

play04:44

slightly less roles,

play04:46

but it could be easier

play04:47

if not the same to land

play04:48

a position in backend development.

play04:50

Now lastly, we have DevOps.

play04:52

Now this is definitely the most difficult

play04:54

to break into,

play04:55

and that's

play04:55

because you need to have a strong

play04:56

understanding of both development

play04:58

and operations.

play05:00

So building

play05:00

automations, continuous

play05:02

integration, continuous

play05:03

deployment monitoring,

play05:05

but also cloud services and security.

play05:07

Now DevOps roles do typically require

play05:09

some level of experience.

play05:11

And that's

play05:11

because you're working

play05:12

in critical production grade environments.

play05:15

And if you do make a mistake,

play05:16

that's going to have a huge consequence

play05:18

on the business

play05:18

or the application, your support.

play05:20

With that said, though,

play05:21

there is typically much higher demand

play05:23

for DevOps role than there is supply,

play05:26

and that's

play05:26

because less people go into this field

play05:28

and it's much harder to master.

play05:30

So if you are

play05:30

someone who's willing to commit the time

play05:32

and really understand

play05:33

these DevOps principles,

play05:34

you can definitely be out

play05:35

competing a lot of people for jobs,

play05:38

and you can find yourself in a position

play05:39

where you really have the leverage

play05:41

and people want to hire you

play05:42

because they're just less

play05:43

qualified people in that field.

play05:45

That's what I found,

play05:46

and that's what I've heard.

play05:47

Talking to other DevOps engineers,

play05:49

typically they can demand a higher salary,

play05:51

but it is a harder

play05:52

or higher barrier to entry

play05:54

and does maybe require

play05:55

that they first had a role

play05:56

in some kind of back end

play05:57

or front end job before.

play05:59

So now let's dive into the pay.

play06:01

Now truthfully,

play06:02

the pay here is not a huge difference.

play06:03

And I wouldn't pick

play06:04

one of these roles simply

play06:06

because you see a higher average salary.

play06:08

Whatever you think you can get into

play06:09

and master the quickest

play06:11

or that's going to be of interest to

play06:12

you is what I would

play06:13

highly recommend going with.

play06:14

Regardless, though, let me share with you

play06:16

the figures

play06:16

for the pay for frontend,

play06:17

backend, and DevOps engineers.

play06:20

So front end

play06:20

engineers are typically paid

play06:21

the least, and the average salary

play06:23

in the United States.

play06:24

For a frontend engineer,

play06:25

this includes seniors, juniors,

play06:27

just everything.

play06:28

The complete average is $107,000.

play06:31

Now for backend engineers,

play06:32

this is $116,000,

play06:34

and for DevOps

play06:35

this is estimated at 138,000.

play06:38

So you can see

play06:39

the DevOps is significantly higher.

play06:41

But again,

play06:41

a lot of those roles are not junior

play06:43

or entry level, meaning

play06:44

you would need some experience

play06:46

for you to at least need to learn a ton

play06:48

to be able to land those positions.

play06:50

Now, with all of that in mind,

play06:51

as you climb

play06:52

the experience ladder as a front end

play06:53

backend or DevOps engineer,

play06:55

you can get paid a ton of money.

play06:57

If you're a really good frontend engineer,

play06:58

you could easily be making

play07:00

hundreds of thousands of dollars.

play07:01

Same with backend, same with DevOps.

play07:03

So don't pick one of these positions

play07:05

simply because of the pay

play07:06

you just saw there.

play07:07

Remember that if you get really good

play07:09

in one of these fields,

play07:10

you're going to earn a lot

play07:11

more than you would

play07:12

if you were just a decent backend

play07:13

developer or a decent developer

play07:15

in another field

play07:15

that didn't interest you as much.

play07:17

Whatever you think you can get good at

play07:19

what is really your interest

play07:20

and what you're going to

play07:21

like to learn a lot about

play07:23

is where you're going

play07:23

to make the most amount of money.

play07:25

So keep those figures in mind,

play07:26

but don't pick one purely

play07:27

because of the salary.

play07:28

They're all high salaries.

play07:30

And the truth is, again,

play07:31

if you master one of these fields,

play07:32

you're going to get paid a lot.

play07:34

So now what I'm going to do

play07:35

is break down the responsibilities

play07:37

in kind of tech

play07:37

stack and languages that you need to know

play07:39

for each of these roles,

play07:40

so you can understand the full picture

play07:42

of what you'll actually be doing.

play07:44

And you have some better information

play07:45

to make your decision.

play07:46

So let's start with frontend.

play07:48

As a frontend developer,

play07:49

your responsibilities are the following.

play07:51

Don't mind if I look at my screen,

play07:52

I just have some of them written down

play07:54

so I'm going to read them out.

play07:55

We have developing user interfaces,

play07:57

optimizing user experience,

play07:59

working with designers,

play08:00

and also sometimes backend engineers,

play08:02

ensuring frontend performance

play08:04

and testing and debugging.

play08:06

Now this is probably

play08:07

the simplest job description,

play08:08

but generally speaking,

play08:10

what you're doing is being responsible

play08:12

for how the product looks and feels.

play08:14

A lot of people

play08:15

overlook this,

play08:15

but a lot of what you're doing

play08:16

is fine tuning user experience.

play08:19

How does the website feel to use?

play08:21

How does the app feel?

play08:22

How does the game feel?

play08:23

Everything that a user touches,

play08:25

that's what you're responsible for.

play08:27

And there's a lot more to that

play08:28

than simply design.

play08:30

Even simple things

play08:31

like how far do I need to move

play08:32

the mouse to get to a button?

play08:34

Does the button have a hover effect?

play08:36

Does it feel tactile?

play08:37

These are things you're going to be

play08:38

considering a lot

play08:39

as a frontend engineer,

play08:40

and you're also going to be dealing

play08:41

with responsive design.

play08:43

How do we make sure that this app works

play08:44

on all different kinds of systems?

play08:46

How do we make it accessible

play08:48

so that people that have

play08:49

maybe hearing issues

play08:50

or visual issues

play08:51

are able to utilize our application?

play08:53

There's a lot of things

play08:54

you need to do as a frontend developer,

play08:56

but a lot of it is simply building

play08:57

that user interface.

play08:59

It's very visual,

play09:00

and it's really easy

play09:01

to see what you need to do

play09:02

and when something looks good

play09:03

or when it looks bad.

play09:05

Regardless, some of the languages

play09:06

and technologies

play09:07

you'll need to know

play09:08

as a frontend developer

play09:09

include the following HTML, CSS,

play09:12

JavaScript,

play09:13

most likely TypeScript as well.

play09:15

And then you're going to have to know

play09:16

about different frameworks.

play09:17

So depending on the company you work for,

play09:19

maybe that's react, maybe that's Vue,

play09:21

maybe that's angular.

play09:23

There's a bunch of different

play09:24

frontend frameworks

play09:25

and these are constantly changing.

play09:27

And as a frontend developer,

play09:28

you need to keep up with

play09:29

all of those trends,

play09:30

even things like server side

play09:31

rendering, bundling frontend code.

play09:33

When you start to get to more mid

play09:35

and senior level positions,

play09:36

there's a lot more

play09:37

that you need to think about.

play09:38

But don't kind of stems and starts

play09:40

from those languages that I just shared.

play09:42

So now let's move on to the backend

play09:43

developer.

play09:44

Now as a backend developer, here

play09:46

are some of your core responsibilities.

play09:48

You're going to be doing

play09:48

server side development,

play09:50

building out APIs.

play09:51

You're going to be working

play09:52

with databases and database management.

play09:54

You also need to do

play09:55

application integration.

play09:56

So how does the backend work

play09:58

for various different types of frontend.

play10:00

Then you'll be working with security,

play10:02

you'll likely work with performance.

play10:04

And then you're going to be

play10:04

doing some testing of course,

play10:06

and deployment and maintenance.

play10:08

Now you'll notice here

play10:09

that sometimes your DevOps and your back

play10:11

end roles will share responsibilities.

play10:13

And that's

play10:13

because a lot of companies

play10:15

don't have dedicated DevOps teams,

play10:17

and they just bring a lot

play10:18

of the DevOps responsibilities

play10:20

to the backend team.

play10:21

So even though you shouldn't

play10:22

necessarily have to do all of this

play10:23

as a backend developer,

play10:25

sometimes you will be doing

play10:26

a little bit of DevOps work.

play10:27

And if you're a DevOps engineer,

play10:28

sometimes you will be doing

play10:30

a bit of backend work.

play10:31

So keep that in mind.

play10:32

Some of the responsibilities are blended

play10:34

depending on the type of company,

play10:35

how large it is,

play10:36

and how many people

play10:37

they have working in the different roles.

play10:39

Now, in terms of frameworks

play10:41

and technologies,

play10:41

you'll likely need to know

play10:42

you're going to have to know

play10:43

some backend languages.

play10:45

Now, this really varies

play10:46

because there's

play10:46

so many different languages in tech stacks

play10:48

you could be using.

play10:49

You could be using something like Python

play10:51

and then you'd be expected

play10:52

probably know about Django, flask,

play10:54

maybe fast APIs,

play10:55

some of those different frameworks

play10:57

you might be working with rust, C

play10:59

plus plus, PHP, Java Dot.

play11:01

Net go.

play11:02

There's so many different stacks

play11:04

and that's actually what's

play11:05

kind of nice about backend.

play11:06

You can really optimize your profile

play11:09

and your skill set for specific jobs.

play11:11

And you could be, for example,

play11:12

an expert dot.

play11:13

Net developer or Java developer,

play11:15

not just a general backend developer,

play11:17

whereas typically with front end, most

play11:20

your front end

play11:20

engineers are going to know

play11:21

a lot of these different frameworks

play11:22

and they're going to have a similar

play11:23

skill set.

play11:24

Yes, obviously

play11:25

you can specialize, but with backend

play11:26

there's a lot more options

play11:28

and there's a lot of different stacks

play11:29

that you'll want to learn.

play11:30

If you go look at job positions,

play11:32

you'll see that people will specifically

play11:34

look for backend

play11:34

Python developers or backend

play11:36

Ruby developers, or backend

play11:38

PHP developers.

play11:39

So you do need to kind of narrow it down

play11:40

and pick a specific backend

play11:42

language or backend tech stack.

play11:44

Beyond that, you're going to need to know

play11:45

about SQL and NoSQL databases.

play11:47

How do they work?

play11:48

How do you write SQL code?

play11:49

What's the difference between them?

play11:51

Some jobs want you to know

play11:52

about specific databases

play11:53

like MySQL, PostgreSQL, MongoDB, etc.

play11:57

other than that, things

play11:58

like web server technologies.

play12:00

So engine X, Apache, then API development,

play12:03

developing Rest APIs, GraphQL

play12:06

cloud services.

play12:06

So things like AWS, Azure,

play12:09

what are the other ones

play12:10

we have here at Google Cloud?

play12:11

Some companies want you to be familiar

play12:13

with one of those different ecosystems.

play12:15

And then finally

play12:15

we might have containerization

play12:17

and virtualization.

play12:18

This is something that usually will happen

play12:20

more on the DevOps side.

play12:21

But as a backend developer,

play12:22

you might need to know this as well.

play12:24

Understanding Docker

play12:25

Kubernetes deployments again,

play12:27

sometimes those responsibilities

play12:28

and roles kind of blend together.

play12:30

So lastly, let's talk about DevOps.

play12:32

Now as a DevOps engineer

play12:33

you'll be responsible

play12:34

for continuous integration

play12:36

and continuous deployment.

play12:37

So testing the code

play12:38

making sure that it's working,

play12:40

that it's functioning,

play12:40

and then continually deploying

play12:42

that to the users

play12:43

or to the production environment.

play12:44

Next infrastructure as code

play12:47

monitoring and logging,

play12:48

performance tuning,

play12:49

doing security and compliance.

play12:52

So if you work for a really,

play12:52

really big company,

play12:53

there's a lot of compliance

play12:54

that you need to consider.

play12:55

That's something to keep in mind.

play12:57

Cloud server management.

play12:58

So again working with these platforms like

play13:01

AWS, Google Cloud, Azure whatever it is

play13:04

that companies are using

play13:05

and then disaster recovery and backup.

play13:07

There's a lot of other things

play13:08

that could come in here,

play13:09

but those are the main topics

play13:10

and things that you'll likely

play13:11

be responsible

play13:12

for now, in terms of technologies,

play13:14

you will want to know

play13:15

some basic programing.

play13:16

You will want to be familiar

play13:17

with development,

play13:18

but you're also going to want to know

play13:19

some of the following.

play13:20

So maybe

play13:21

Jenkins, GitLab,

play13:22

Travis, CI, GitHub

play13:23

actions, all these things

play13:25

for doing continuous

play13:26

integration and continuous deployment,

play13:28

you're going to want to know

play13:28

about Terraform, Kubernetes,

play13:31

cloud formations, Docker.

play13:33

You're also going to want to do

play13:34

monitoring and logging.

play13:35

So maybe you're familiar

play13:36

with tools like Prometheus.

play13:37

Then you're also going to have to know

play13:38

about cloud service providers as well.

play13:40

Again, Google Cloud, AWS, Azure, etc..

play13:43

Scripting. This is a big one.

play13:45

You're probably going to want to know

play13:46

a bit of Python, a bit of bash,

play13:48

maybe something like Ruby,

play13:49

depending on the scripting language

play13:50

that you'll need to use,

play13:51

and then networking and security.

play13:53

You probably want to have the fundamentals

play13:55

of that and understand how that works.

play13:57

And then lastly, of course

play13:58

you want to know about database

play13:59

as well, like SQL and NoSQL databases.

play14:02

So now before we go any further,

play14:03

let me quickly cover a question.

play14:04

Many of you have probably had,

play14:05

which is, Tim,

play14:06

what about all the other

play14:07

fields of development?

play14:08

Well, yes,

play14:09

you could go

play14:09

specialize in game development.

play14:11

You can get really good at robotics

play14:13

or all

play14:13

these other fields

play14:14

that exist, like augmented

play14:15

reality, virtual reality, etc.

play14:18

but there is less positions

play14:19

in those fields.

play14:20

And truthfully,

play14:21

if you can get good

play14:21

in one of these different areas,

play14:23

it's a lot easier

play14:24

to transition into something else.

play14:26

If your goal is to land

play14:27

a job as a developer,

play14:28

I do recommend

play14:29

sticking to one of these three fields,

play14:31

at least in your early career,

play14:33

and then you can more easily transition

play14:35

into all these other fields where you do

play14:37

usually require a bit more experience.

play14:39

If you're going to be a virtual reality

play14:41

developer, for example,

play14:42

typically you're going to need

play14:43

development experience

play14:44

in order to get that

play14:45

development experience.

play14:46

It's easier in one of these three fields.

play14:48

Some of you may disagree with me on that,

play14:50

but that's typically my advice.

play14:52

And that's why

play14:52

I'm just mentioning these three

play14:54

now with that in mind,

play14:55

we also have full stack development.

play14:57

Well, before

play14:57

you can become a good

play14:58

full stack developer,

play14:59

you need to either be a frontend developer

play15:01

or a backend developer.

play15:02

Sure, you can learn them at the same time,

play15:04

but if you want to be really, really good,

play15:06

you would first specialize in one

play15:07

and then you would add

play15:09

all of those additional skills.

play15:10

At least that's

play15:11

how I would recommend that you do it.

play15:13

Anyways, with all that said, let's quickly

play15:15

talk about how you actually pick

play15:17

which one you want to specialize in.

play15:19

The truth here

play15:19

is that all that really matters

play15:21

is what interests you the most.

play15:23

Now, when I was talking about these,

play15:24

one of these really resonated with you

play15:26

and you feel pretty confident

play15:28

that that's what you want to do,

play15:29

then go for it.

play15:30

Pick that as your specialization.

play15:32

But if you're not sure

play15:33

which one you want to get into

play15:34

and this video gave you the information,

play15:36

but you're still kind of

play15:37

in between

play15:37

which one you would like,

play15:38

I'd recommend trying each of them.

play15:40

I don't mean

play15:41

spending three months on all of them.

play15:43

I mean spending 2 or 3 days

play15:44

and building out a front end project,

play15:46

then building out a back end project,

play15:48

then doing something with DevOps.

play15:49

Watch a few tutorials, go online,

play15:52

read more

play15:52

about all of the different fields,

play15:54

and really try to understand

play15:55

which one is going to interest

play15:57

you the most

play15:57

and what you're going to be able

play15:58

to commit to for the long run.

play16:00

The biggest mistake

play16:01

and what holds people back

play16:02

is that they get good in one field,

play16:04

and then they decide

play16:05

that they really don't like it

play16:06

because it was the wrong one

play16:07

to start with.

play16:08

And they go

play16:09

and they relearn, for example,

play16:10

back end or DevOps and start

play16:12

all the way from the beginning.

play16:13

That's really going to hinder your career

play16:15

and keep making you take steps back.

play16:17

So if you can make

play16:18

the correct decision now,

play16:19

you can go all the way up the ladder.

play16:21

And rather than switching

play16:22

between all these different fields,

play16:23

you can really become

play16:24

a master of your craft.

play16:26

Now, last thing to note here

play16:27

is that if you are interested

play16:28

in any of these three fields,

play16:30

I do have a software

play16:31

development course

play16:31

where you can actually pick

play16:32

a specialization in front end,

play16:34

back end, or DevOps.

play16:35

After trying and working

play16:36

with all of the different topics,

play16:38

you can check that out

play16:39

from the link in the description.

play16:40

And he wasn't going to wrap it up

play16:41

like the video.

play16:42

Leave a comment

play16:43

and I will see you in the next one.

Rate This
β˜…
β˜…
β˜…
β˜…
β˜…

5.0 / 5 (0 votes)

Related Tags
Software DevelopmentFront EndBack EndDevOpsCareer AdviceTech IndustrySpecializationDeveloper RolesContinuous IntegrationContinuous DeploymentWeb Development