What EXACTLY does a Developer Do?
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
π‘ 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.
π 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
π‘Problem Solving
π‘Coding
π‘Frameworks
π‘Languages
π‘Mentoring Program
π‘Tutorials
π‘Technology Stack
π‘Cross-Platform Solutions
π‘On-the-Job Learning
π‘Entry-Level Job
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
so at the end of the day what exactly
does a developer do what is your job is
it writing code simply
developers actually are problem solvers
and they are architects they are
essentially
looking at a set of
tasks that need to be done
and they're figuring out the optimal way
of doing this now sometimes
well a lot of times this involves lots
of coding writing code but it also
involves
deciding what frameworks to use if any
what languages to use
and how to specifically
put that code into play so that it makes
sense i'm trying to avoid jargon terms
so that i can speak to as a broader
audience as possible
that's why i say when you are learning
to code learning to be a developer the
code is the foundation of it all but
there's much more involved in it that's
why
in my mentoring program
which is my boot camp but it's very
different from anything else out there
one of the key aspects of it is having
students actually build
real things working with a third party
now
following along a tutorial
it's kind of like painting by numbers
right it's not really painting
same thing if you are just following a
code tutorial where you're building a
twitter clone with node.js or something
where you just fall step by step
that is
like
doing pad work as a boxer
and thinking that's turning you into a
fighter it helps
but
the fact of the matter is it doesn't
train you when you're just doing
tutorials
that doesn't train you to actually think
like a developer
and to develop those problem-solving
skills that all developers have to
develop so in practical terms developers
are breaking down problems
and figuring out how to use coding
use technologies like i said as i said
frameworks and libraries etc to
get the job done
now
there is no single way to do anything
there are many
different approaches that you can take
to
put up a website put up an e-commerce
shop
build an a mobile application for
example
let's say a client comes to you and they
need to build a mobile app
that manages what's going on in their
inventory in their warehouses so they
can have employees go in to a warehouse
open up their phones open up the app
that you're going to develop
and then say okay i'm taking this item
here or taking this item there
and so
in real time the whole company is going
to know what items have been sold or
have been taken out in warehouses by
employees
there's many different ways you can do
this you can do this natively
so if you wanted to
do it for ios natively you could do a
swift or objective-c
you could do it through pwa technologies
which is a web-based solution
you could do it with flutter
react native now
as a developer you're going to have to
sit there and make a decision okay
for this particular project which
technology stack native ios pwa flutter
react native which is going to be the
best approach given the particular needs
of this particular project and what the
company wants budget factors into it
what the app needs to do factors into it
in a huge way why because certain
applications demand that you write
native native code in swift or object to
c in the case of ios in the case of
android for mobile development it would
be of course java and kotlin these days
google prefers kotlin so probably want
to do in kotlin anyhow
sometimes applications like games for
example a lot of games
will require that you leverage the
entire power of the device so pbwa might
not be suitable for that flutter may not
be suitable for that on the other hand
you may have a text-only situation like
in this warehouse scenario that i mapped
out for you in this example
where
cross-platform solutions like a flutter
like a react native like just as pwa
even just a responsive website will be a
better solution for a whole bunch of
reasons so
as you become more experienced as a
developer you're going to be able to
figure out
quickly more quickly as you become more
advanced you're gonna feel you're gonna
be able to figure out
which approach is the best given the
circumstances at hand it's very often
that you will as a developer
learn something new on the fly
especially the first three to four years
based on the needs of the project that's
why one of those fears that are out
there the fear of oh am i going to learn
the right technology whatever people
on youtube or wherever else will tell
you no no this technology is terrible
and that technology is the way you got
to go
right away i can tell you that's a sure
sign of somebody who's a noob or
somebody hasn't really worked in
industry much because that's kind of a
silly question so going back to what i
was originally talking about in this
video
as a developer you have to develop that
ability to analyze projects like the one
i just suggested
and figure out
what technologies you need to learn to
be able to
effectively execute on this as you
become more experienced your ability to
do this efficiently and quickly will
increase so as a result
what you're worth in terms of you know
pay is also going to increase with
experience
that's why you don't want to get caught
up in the whole tutorial health thing
where you're worried oh should i learn
this should i learn that no you learn
your basics your key fundamentals
and then just so you can get your foot
in the door because most of the learning
as a developer is going to be on the job
especially the first three to four years
some people say three to five i say
three to four anyhow that's where you're
gonna do most of your learning the great
thing about that
is you're gonna be paid to learn so the
first year
is the entry level job that first job
hardest one to get you take whatever you
can as long as you're writing code right
as long as you're doing what you want to
do
this is
has to this has to be considered your
first job has to be considered as
the final leg the final stage of your
learning process but the great thing
about this is you're being paid to learn
so with all this kept in mind
in my mentoring program we get people up
to speed as quickly as possible to key
fundamentals so they can get their foot
in the door
in terms of entry level job and then
from there they're going to see their
skills go and their pay go
up quite a bit
so there you have it a developer
is a coder but coding is only one part
of the skill set that you have to
develop it's a many layered skill set
to be a successful developer once you
get past that initial hurdle though
of learning the fundamentals of coding
when you understand how to think like a
true developer
then it becomes much easier it becomes
like a strategy game
i used to back in the heyday when i was
coding writing code in the 90s when i
first started running apps
it was so exciting for me to build an
app that people were actually using my
one of my
early sas products that had developed
sas is software as a service was a
dating site
and uh
i'd be like friday night saturday night
writing code adding features debugging
because i had people using it there's
something special when you write a piece
of code
when you build an app and people are
actually making use of it that's you get
a kick out of it i have to tell you it's
not just financial gain there's a
there's also a lot of satisfaction
in that when you provide utility for
people all right i hope you found this
video useful if you want to learn more
about my mentoring program
link is below uncle steph that's me
5.0 / 5 (0 votes)