What EXACTLY does a Developer Do?

Stefan Mischook
15 Sept 202208:39

Summary

TLDRThe video script emphasizes that being a developer is more than just coding; it's about problem-solving and decision-making. Developers must choose the right frameworks, languages, and technologies to build applications effectively. The speaker highlights the importance of learning to think like a developer and developing problem-solving skills, rather than just following tutorials. The video also touches on the reality of learning on the job, especially in the first few years of a developer's career, and the satisfaction derived from creating useful applications.

Takeaways

  • 👨‍💻 Developers are problem solvers and architects who determine the best approach to accomplish tasks, often involving coding but also decision-making regarding frameworks and languages.
  • 🏗️ Learning to code is foundational for developers, but it's crucial to develop problem-solving skills to think like a developer beyond just writing code.
  • 📚 Following tutorials can be helpful but may not fully train one to think like a developer; it's akin to practicing pad work without becoming a real fighter.
  • 🛠️ Developers break down problems and use coding, frameworks, libraries, and other technologies to achieve goals, with no single way to accomplish tasks.
  • 📱 When building applications, developers must choose the right technology stack based on project needs, budget, and the specific requirements of the client.
  • 🔍 Choosing the right technology stack involves considering factors like native code for games or cross-platform solutions for text-only applications.
  • 🚀 As developers gain experience, they become more adept at quickly analyzing projects and selecting the most suitable technologies for execution.
  • 📈 With experience, developers' efficiency and pay increase as they learn new technologies on the job, especially in the first three to four years.
  • 🎓 The first job in development is often considered the final stage of learning, where one is paid to learn and improve their skills.
  • 🌟 There's a significant satisfaction in building applications that provide utility to people, beyond just the financial gain.
  • 🔗 The speaker's mentoring program aims to get people up to speed with key fundamentals to secure entry-level jobs and increase their skills and pay over time.

Q & A

  • What is the primary role of a developer according to the script?

    -The primary role of a developer is to be a problem solver and architect, looking at tasks and figuring out the optimal way to accomplish them, which often involves coding but also includes deciding on frameworks, languages, and how to implement the code effectively.

  • Why is coding considered the foundation of being a developer?

    -Coding is the foundation because it is the basic skill required to build and implement solutions. However, it is not the only aspect of being a developer; problem-solving and decision-making regarding technology choices are equally important.

  • What is the difference between following a tutorial and thinking like a developer?

    -Following a tutorial is like painting by numbers; it does not train you to think like a developer or develop problem-solving skills. Thinking like a developer involves breaking down problems and figuring out how to use coding and technologies to solve them effectively.

  • Why is it important for developers to build real things rather than just following tutorials?

    -Building real things helps developers to practice and develop their problem-solving skills and to understand how to apply coding and technologies in practical scenarios. It is a more effective way to learn and prepare for real-world development tasks.

  • What factors does a developer need to consider when choosing a technology stack for a project?

    -A developer needs to consider the specific needs of the project, the company's requirements, budget constraints, and what the application needs to do. The choice of technology can affect the performance, functionality, and suitability of the final product.

  • Can you provide an example of a project scenario mentioned in the script?

    -An example given is a mobile app for managing inventory in warehouses, allowing employees to update inventory in real-time using their phones. This scenario requires deciding on the best technology stack, such as native iOS development, PWA, Flutter, or React Native.

  • Why might a cross-platform solution be chosen over native development for certain projects?

    -A cross-platform solution might be chosen for projects like the warehouse inventory app because it can be a more cost-effective and time-efficient approach, especially when the application's requirements do not demand the full capabilities of native development.

  • What does the speaker suggest about learning new technologies as a developer?

    -The speaker suggests that developers should be prepared to learn new technologies on the fly, especially in the first few years of their career. The need to learn often arises based on the specific requirements of the projects they are working on.

  • How does the speaker describe the first job as a developer in terms of learning?

    -The speaker describes the first job as a developer as the final stage of the learning process where developers are paid to learn. It is an opportunity to apply foundational knowledge and gain practical experience.

  • What advice does the speaker give about focusing on tutorials versus learning fundamentals?

    -The speaker advises against getting caught up in tutorial learning, suggesting that developers should focus on learning key fundamentals to get their foot in the door. Most learning happens on the job, and developers should be prepared to learn as they work.

  • What satisfaction does the speaker mention developers can get from their work?

    -The speaker mentions that developers can get satisfaction from providing utility to people through the applications they build. There is a sense of accomplishment and excitement in seeing people use the software they have developed.

Outlines

00:00

💡 The Multifaceted Role of a Developer

This paragraph delves into the complex nature of a developer's job, emphasizing that it's not just about writing code. Developers are portrayed as problem solvers and architects who must decide on the best approaches to complete tasks, including selecting the right frameworks, languages, and coding strategies. The speaker advocates for learning beyond tutorials to truly think like a developer and develop problem-solving skills. Examples such as building a mobile app for inventory management highlight the need for developers to choose the appropriate technology stack based on project requirements, budget, and functionality. The paragraph underscores the importance of adapting to different projects and the inevitability of learning new technologies throughout one's career.

05:00

🚀 Continuous Learning and Growth in Development

The second paragraph focuses on the continuous learning aspect of a developer's career, particularly during the initial three to four years. It addresses common concerns about choosing the right technology to learn, dismissing the fear of making the wrong choice as a sign of inexperience. The speaker encourages viewers to focus on mastering the fundamentals to secure an entry-level job, which serves as the final stage of learning while being compensated. The paragraph also touches on the increase in value and salary that comes with experience, and the satisfaction derived from creating useful applications. The speaker shares a personal anecdote about the excitement of building and improving a software product that was actively used by people, highlighting the non-monetary rewards of a developer's work. The paragraph concludes by promoting the speaker's mentoring program designed to fast-track learning of key fundamentals.

Mindmap

Keywords

💡Developer

A developer is a professional who designs, codes, and maintains applications or systems. In the context of the video, a developer is not just someone who writes code, but a problem solver and architect who determines the best approach to achieve a set of tasks. The script emphasizes that developers must be able to think critically and choose the right tools and technologies for the job.

💡Problem Solving

Problem solving is a key aspect of a developer's role, as highlighted in the script. It refers to the ability to analyze a situation or a set of tasks and figure out the most effective way to address them. In the video, the speaker mentions that developers often have to break down problems and use coding and technology to find solutions, which is central to their job.

💡Coding

Coding is the process of writing computer programs in a specific programming language. The script mentions that while coding is a fundamental skill for developers, it is only one part of the broader skill set required to be successful. Coding is the means by which developers implement solutions to the problems they solve.

💡Frameworks

Frameworks in the context of the video refer to pre-written code that developers can use within their applications to provide a structure or a set of functionalities. The speaker discusses the importance of choosing the right frameworks, which can influence the efficiency and effectiveness of the development process.

💡Languages

Programming languages are the formal languages used to write code. The script touches on the necessity for developers to decide which languages to use based on the project's requirements. Examples given include Swift or Objective-C for iOS development and Kotlin for Android.

💡Mentoring Program

A mentoring program, as described in the script, is an educational initiative aimed at guiding and training individuals to become proficient developers. The speaker's mentoring program focuses on teaching key fundamentals and real-world application building, which is different from just following tutorials.

💡Tutorials

Tutorials are instructional guides or lessons that teach a specific skill or concept step by step. The video script criticizes tutorials for not fostering the same problem-solving skills as real-world application development, comparing following a tutorial to painting by numbers rather than creating original art.

💡Technology Stack

A technology stack refers to the combination of technologies used in building a software application or system. The script discusses how developers must decide on the best technology stack for a project, considering factors like the project's needs, budget, and the desired outcome.

💡Cross-Platform Solutions

Cross-platform solutions, such as Flutter or React Native mentioned in the script, allow developers to write code once and deploy it across multiple platforms. This is contrasted with native development, which requires separate codebases for each platform, and is chosen based on the specific needs of the project.

💡On-the-Job Learning

On-the-job learning refers to the process of acquiring new skills and knowledge while working on a specific task or project. The script emphasizes that much of a developer's learning happens during their first few years of employment, as they encounter new challenges and technologies in their work.

💡Entry-Level Job

An entry-level job is a position that serves as an introduction to a career, often requiring basic skills and providing on-the-job training. In the script, the speaker advises that the first job should be considered as part of the learning process, where developers are paid to learn and grow in their field.

Highlights

Developers are problem solvers and architects who determine the optimal way to accomplish tasks.

Coding is a part of the job, but developers also decide on frameworks, languages, and implementation strategies.

Learning to code is foundational, but it's essential to develop broader problem-solving skills.

Following tutorials can be limiting and doesn't fully train one to think like a developer.

Developers break down problems and use coding and technology to solve them effectively.

There are multiple approaches to building applications, and developers must choose the best one for each project.

Technology stack decisions, such as native iOS, PWA, Flutter, or React Native, depend on project needs and company goals.

Budget and application requirements heavily influence the choice of technology for a project.

Developers often need to learn new technologies on the fly, especially in the early years of their career.

The fear of choosing the wrong technology is unfounded and a sign of inexperience.

Developers should focus on learning key fundamentals to get started in the industry.

Most learning for developers happens on the job, particularly in the first three to four years of their career.

The first job in development should be considered as the final stage of learning and is often the hardest to get.

Developers are paid to learn on the job, which is a significant advantage in the early stages of their career.

A successful developer has a multi-layered skill set that goes beyond just coding.

Once the fundamentals of coding are understood, thinking like a developer becomes easier and more strategic.

There is great satisfaction in building apps that provide utility and are used by people.

Transcripts

play00:00

so at the end of the day what exactly

play00:04

does a developer do what is your job is

play00:07

it writing code simply

play00:10

developers actually are problem solvers

play00:14

and they are architects they are

play00:15

essentially

play00:17

looking at a set of

play00:21

tasks that need to be done

play00:23

and they're figuring out the optimal way

play00:26

of doing this now sometimes

play00:28

well a lot of times this involves lots

play00:31

of coding writing code but it also

play00:34

involves

play00:35

deciding what frameworks to use if any

play00:38

what languages to use

play00:41

and how to specifically

play00:44

put that code into play so that it makes

play00:47

sense i'm trying to avoid jargon terms

play00:51

so that i can speak to as a broader

play00:54

audience as possible

play00:55

that's why i say when you are learning

play00:59

to code learning to be a developer the

play01:01

code is the foundation of it all but

play01:04

there's much more involved in it that's

play01:07

why

play01:08

in my mentoring program

play01:10

which is my boot camp but it's very

play01:13

different from anything else out there

play01:15

one of the key aspects of it is having

play01:18

students actually build

play01:20

real things working with a third party

play01:24

now

play01:25

following along a tutorial

play01:28

it's kind of like painting by numbers

play01:30

right it's not really painting

play01:33

same thing if you are just following a

play01:35

code tutorial where you're building a

play01:37

twitter clone with node.js or something

play01:39

where you just fall step by step

play01:41

that is

play01:43

like

play01:44

doing pad work as a boxer

play01:47

and thinking that's turning you into a

play01:49

fighter it helps

play01:51

but

play01:52

the fact of the matter is it doesn't

play01:53

train you when you're just doing

play01:55

tutorials

play01:56

that doesn't train you to actually think

play01:58

like a developer

play02:00

and to develop those problem-solving

play02:02

skills that all developers have to

play02:05

develop so in practical terms developers

play02:08

are breaking down problems

play02:11

and figuring out how to use coding

play02:14

use technologies like i said as i said

play02:17

frameworks and libraries etc to

play02:20

get the job done

play02:22

now

play02:24

there is no single way to do anything

play02:26

there are many

play02:28

different approaches that you can take

play02:30

to

play02:31

put up a website put up an e-commerce

play02:34

shop

play02:35

build an a mobile application for

play02:37

example

play02:39

let's say a client comes to you and they

play02:41

need to build a mobile app

play02:43

that manages what's going on in their

play02:46

inventory in their warehouses so they

play02:49

can have employees go in to a warehouse

play02:52

open up their phones open up the app

play02:54

that you're going to develop

play02:55

and then say okay i'm taking this item

play02:58

here or taking this item there

play03:00

and so

play03:01

in real time the whole company is going

play03:03

to know what items have been sold or

play03:05

have been taken out in warehouses by

play03:06

employees

play03:08

there's many different ways you can do

play03:09

this you can do this natively

play03:11

so if you wanted to

play03:13

do it for ios natively you could do a

play03:15

swift or objective-c

play03:17

you could do it through pwa technologies

play03:21

which is a web-based solution

play03:23

you could do it with flutter

play03:25

react native now

play03:27

as a developer you're going to have to

play03:28

sit there and make a decision okay

play03:31

for this particular project which

play03:33

technology stack native ios pwa flutter

play03:38

react native which is going to be the

play03:41

best approach given the particular needs

play03:44

of this particular project and what the

play03:46

company wants budget factors into it

play03:50

what the app needs to do factors into it

play03:53

in a huge way why because certain

play03:56

applications demand that you write

play03:58

native native code in swift or object to

play04:01

c in the case of ios in the case of

play04:03

android for mobile development it would

play04:05

be of course java and kotlin these days

play04:08

google prefers kotlin so probably want

play04:10

to do in kotlin anyhow

play04:12

sometimes applications like games for

play04:14

example a lot of games

play04:16

will require that you leverage the

play04:18

entire power of the device so pbwa might

play04:22

not be suitable for that flutter may not

play04:24

be suitable for that on the other hand

play04:27

you may have a text-only situation like

play04:30

in this warehouse scenario that i mapped

play04:32

out for you in this example

play04:35

where

play04:36

cross-platform solutions like a flutter

play04:38

like a react native like just as pwa

play04:41

even just a responsive website will be a

play04:43

better solution for a whole bunch of

play04:45

reasons so

play04:47

as you become more experienced as a

play04:49

developer you're going to be able to

play04:50

figure out

play04:53

quickly more quickly as you become more

play04:55

advanced you're gonna feel you're gonna

play04:56

be able to figure out

play04:58

which approach is the best given the

play05:00

circumstances at hand it's very often

play05:03

that you will as a developer

play05:06

learn something new on the fly

play05:07

especially the first three to four years

play05:10

based on the needs of the project that's

play05:12

why one of those fears that are out

play05:13

there the fear of oh am i going to learn

play05:16

the right technology whatever people

play05:19

on youtube or wherever else will tell

play05:20

you no no this technology is terrible

play05:23

and that technology is the way you got

play05:25

to go

play05:26

right away i can tell you that's a sure

play05:27

sign of somebody who's a noob or

play05:30

somebody hasn't really worked in

play05:31

industry much because that's kind of a

play05:32

silly question so going back to what i

play05:34

was originally talking about in this

play05:36

video

play05:37

as a developer you have to develop that

play05:40

ability to analyze projects like the one

play05:43

i just suggested

play05:44

and figure out

play05:46

what technologies you need to learn to

play05:48

be able to

play05:49

effectively execute on this as you

play05:52

become more experienced your ability to

play05:54

do this efficiently and quickly will

play05:56

increase so as a result

play05:59

what you're worth in terms of you know

play06:01

pay is also going to increase with

play06:03

experience

play06:04

that's why you don't want to get caught

play06:07

up in the whole tutorial health thing

play06:09

where you're worried oh should i learn

play06:10

this should i learn that no you learn

play06:12

your basics your key fundamentals

play06:15

and then just so you can get your foot

play06:17

in the door because most of the learning

play06:19

as a developer is going to be on the job

play06:22

especially the first three to four years

play06:25

some people say three to five i say

play06:27

three to four anyhow that's where you're

play06:28

gonna do most of your learning the great

play06:30

thing about that

play06:31

is you're gonna be paid to learn so the

play06:33

first year

play06:34

is the entry level job that first job

play06:37

hardest one to get you take whatever you

play06:39

can as long as you're writing code right

play06:40

as long as you're doing what you want to

play06:42

do

play06:43

this is

play06:44

has to this has to be considered your

play06:46

first job has to be considered as

play06:49

the final leg the final stage of your

play06:53

learning process but the great thing

play06:54

about this is you're being paid to learn

play06:57

so with all this kept in mind

play07:00

in my mentoring program we get people up

play07:02

to speed as quickly as possible to key

play07:04

fundamentals so they can get their foot

play07:06

in the door

play07:08

in terms of entry level job and then

play07:11

from there they're going to see their

play07:12

skills go and their pay go

play07:14

up quite a bit

play07:17

so there you have it a developer

play07:19

is a coder but coding is only one part

play07:23

of the skill set that you have to

play07:25

develop it's a many layered skill set

play07:28

to be a successful developer once you

play07:31

get past that initial hurdle though

play07:33

of learning the fundamentals of coding

play07:37

when you understand how to think like a

play07:39

true developer

play07:41

then it becomes much easier it becomes

play07:43

like a strategy game

play07:45

i used to back in the heyday when i was

play07:47

coding writing code in the 90s when i

play07:49

first started running apps

play07:52

it was so exciting for me to build an

play07:54

app that people were actually using my

play07:56

one of my

play07:57

early sas products that had developed

play07:59

sas is software as a service was a

play08:01

dating site

play08:02

and uh

play08:04

i'd be like friday night saturday night

play08:06

writing code adding features debugging

play08:09

because i had people using it there's

play08:11

something special when you write a piece

play08:14

of code

play08:15

when you build an app and people are

play08:17

actually making use of it that's you get

play08:19

a kick out of it i have to tell you it's

play08:21

not just financial gain there's a

play08:24

there's also a lot of satisfaction

play08:27

in that when you provide utility for

play08:29

people all right i hope you found this

play08:31

video useful if you want to learn more

play08:32

about my mentoring program

play08:34

link is below uncle steph that's me

Rate This

5.0 / 5 (0 votes)

Ähnliche Tags
Developer RoleProblem SolvingCoding SkillsTechnology StackMentoring ProgramLearning ProcessOn-the-Job TrainingSoftware DevelopmentCross-PlatformCareer Growth
Benötigen Sie eine Zusammenfassung auf Englisch?