Okey dokey, let's get started with today's video!
Hey everyone, how's it going?
Hope you are well.
Today we're going to be talking about learning.
The more you know.
So questions I get often in my DM's are questions
Like how do you stay up-to-date with new technologies?
or how do you stay relevant with the tech industry when things are moving so fast?
So we're gonna hit on three things today
1. Whether it's true that you always need to stay up-to-date with new technologies to stay relevant.
2. My own experiences with it
And if it is true, and if it's not a myth, 3. how to go about doing it and how to think about it
Let's get started
So it's no secret that new technologies are coming out all the time
When new technologies are always coming out it is kind of true
that you do have to stay up to date with new technologies
But it's also true that not everyone is an expert in every new technology
And a lot of software engineers and most companies will not adopt these new
technologies as soon as they come out or even two to five years out
And personally, I think that one of the best and also scariest things about being a software engineer
is precisely this. That you're always going to be learning as a software engineer,
and I also want to note that always learning doesn't necessarily mean that you're always learning new
Technologies, you're always just learning new skills
And we're gonna touch on that in a little bit
But before we do that
I wanted to just kind of talk about almost the essence of software engineering
and I think the essence is that you're always failing
It's literally a career about failing
Learning from your failures and gaining skills and doing better next time
If you think about how software is always iterative
I think it's just based on that precipice of you're always going to fail and you're always going to make mistakes
But there's so much to learn from all of those mistakes that you can do better next time
I think it's also based on the fact that there's nothing perfect in software engineering.
There's no perfect line of code
There's no perfect software engineer
There's no perfect application or code base
For those of you who do have experience diving into existing code bases
you know that there's a lot of dust bunnies and
Weird architectural decisions and just lots of cruft that exists. I know that whenever I start a new job
I'm like "Oh, your app is great!"
like "It's so stable and it's probably made so well" and then I peek behind the covers and I'm like
"What is this mess? This makes no sense!" And I think you'll just find that at all the roles
Nothing is perfect in software engineering
so once you realize that nothing is perfect then also you realize that oh
It's totally okay to make mistakes and fail and just learn from your failures
because there's just so much to learn all the time
Now it took a little bit for me to wrap my head around the fact that I'm always gonna be failing
So I just want to take us back to like my first job as a software engineer where I was doing IOS development
I hadn't really done any meaningful amount of iOS development before that
like I made an app once with some people of which I wrote maybe a couple lines of code
So I knew that in my first role, I would need to do a lot of learning
I had no idea how to use Xcode. I barely wrote Objective C
And so that's the thing that I really focused on in my first couple of years. So that's exactly what I did
I told my manager
Hey
I know nothing
please help me learn something so that I can be a valuable software engineer
and contribute to the codebase and the team and the application.
And I just really wanted to be exposed to lots of different parts of iOS development in
All the different areas of software development, web development, security gaming development
You can go so so deep into each area and within each area, there's lots of other little areas
There's just the whole world to learn basically in each thing and that's exactly what my manager did
he assigned me books to read, he told me some courses to take as well as some tutorials to do and
Also, I found mentors within my team who could also guide me through all of this, too
And I really can't emphasize enough how much I didn't know at the beginning
But once I realized and told myself and told others and was honest with myself like "Yo, I don't know stuff!"
That's where the learning began because I was willing to accept the fact that you know, I'm a failure right now
But I can get myself out of this by learning new skills. And yes, the beginning was very very hard
I remember my very first bug bash
which is worse where we all sit together and just
resolve a bunch of bugs and sitting there being like "I don't... I don't know how to do any of this cuz I
don't know what I'm doing and I can barely read
objective C" and always being faced with what little I knew was tough
But those are the little failure points that I turned into motivation to learn new skills
And then after a while maybe about six months to a year, I looked back and I was like, you know
I actually know some stuff especially compared to my first week on the job
And I'm really proud of myself for putting in that work and accepting the fact that you know
I don't know a whole lot and I need to learn a lot more
and now I do know a lot more and I feel way more competent as an engineer and I know a lot more about
iOS development
I mean a big part of this is just reaching out for help and asking people and telling people like "Yo, help me!"
"I don't know what I'm doing!" So that was kind of my experience as an early career software engineer
Just absorbing everything about the technology
And now I'm gonna get to the point where I mentioned earlier about learning other
Skills that are also really important
So after I felt like I had a good grasp of iOS development, maybe that was about like two years later
I realized that there aren't really other paved paths past this point
it was all just about figuring out what I wanted to get better at, what I failed at, and
Realizing from there the skills that I want and need in order to progress towards a place that I want to be
Now this all sounds vague and ambiguous.
But really what I'm trying to say is things like product skills, people skills
creativity skills, writing skills
These are all important skills to software engineering
That I didn't realize we're important at the beginning
And actually I would argue that in order to become a really well-rounded
Software engineer, it's not just about the technical skills
You need all of the other skills in order to do a good job. For instance,
the people skills that I've worked on have enabled me to talk about technology to
non-technical people and has really translated to like the content that I make on here, which I enjoy doing!
I mean if we're being really honest, if you told me in my first year working that I would eventually make a
YouTube channel about software engineering I'd be like
"Whaaaaattttttt
Nahh, that's not happening." But here we are!
Because I mean I realized that I just want to do this and it would be fun. So here I am
Thanks for subscribing
If you're not subscribed click on the subscribe button
And I realize at this point when there were all these other skills that I would need to learn to
Be the best person and software engineer
I could be, I realized that there's really a
Merit to being a lifelong learner as a software engineer and I think that is the really important lesson here
Yes, software engineering means you're always failing
But in order to overcome that, you just have to be a lifelong learner and the best news is,
anybody can be a lifelong learner. You just have to have that kind of like: I'm okay to fail
I accept that I fail. I'm going to figure out how not to fail the next time and
Understand what you need to learn to do better. So you might be asking what does this actually look like?
Like how do software engineers actually learn the skills that they need to learn? and well, honestly
Everybody's different some people set aside a certain amount of time every week to learn stuff, other people
Take time off to do it and learn it on weekends
but for me
I am a very like Purpose Driven learner
In a sense that I learned the best when there is a bigger goal that I want to achieve
So that I can do some purposeful learning
In order to build the skills to get to where I want to go
So when it comes to software if there's like an app that I want to build or feature idea that I have
Then usually that will kind of be my bigger goal and I will go through tutorials read books watch videos
To figure out what skills and things I need to learn in order to get that job done
And sometimes that job is literally just like feeding my curiosity, the other day
I was like "What the heck is Blockchain?!"
and then I watched some videos on it and I feel like I have a better grasp on what it is
and now when people talk about blockchain, I'm like
"I know what that is now!" and as I mentioned before as a person
I'm always thinking about "Who am I? Where do I want to go?"
"What are my current circumstances, where can I go?"
"What skills do I need to get there?" So that I make the best use of my time here on this earth in this body
Not existential at all
And I mean it's also because as a person it's really hard to define exactly
what you want to be and who you want to be because
these days there's really no one right way to do life and it's just full myriad of
Experiences that you wouldn't have predicted would happen at all
So I guess what I'm trying to say is I like to keep it open ended and instead
I really just let my curiosity fuel my learning and I don't know how to trigger curiosity
I just... I just get curious and then I'm just like I'm gonna learn it
So no tips there, so I'm not the type to like schedule time to learn stuff
I don't set aside X amount of hours to learn about this new
framework or anything
I will maybe if I'm very curious about that framework find a project that will help me use that
project basically
but yeah having a purpose helps me stay motivated in learning stuff and
it means a lot of failing and a lot of hard stuff along the way to figure out what I need to do and
accepting the fact that I suck at a lot of stuff, but I mean
That's how you learn and that is ultimately I feel like how you become a lifelong learner
I mean it really it's a little it's kind of a lesson on humility
I think and the best part is that the Internet has opened up so many new ways of learning and
Consuming content because of all the amazing content creators out there.
I personally learned the best from video content
So I'm really happy to say that Skillshare has kindly sponsored this video today
For those of you who don't know, Skillshare is an online learning community with over
25,000 classes on everything from design to web development to business to lifestyle stuff
Literally anything you want to learn. It's on Skillshare!
Since I've been doing iOS development for like my whole entire career
I've been really curious about web development
I found this awesome course by Christopher Dodd on Skillshare called understanding web development
—a beginner's guide to the web
It talks everything about the difference between front-end and back-end
as well as things like CSS, JavaScript, HTML really the foundational stuff
That's really important to get started in what development
I also really like this other class that I took called discovering success
7 exercises to incur your purpose passion and path by Emma Gannon
so taking this class with really interactive materials and in video form is
the best place for me to learn and I hope it
will help you all too
I mean, if you think about the fact that you don't have to go back to college or take in-person classes
to learn anymore
It really opens up the opportunities and places for you to learn stuff. So, I'm really happy that Skillshare exists
I feel like I'm juggling a lot of stuff all the time and finding a good place and good resources to learn
Things that I know nothing about, like skill share is an awesome place to do that
They also have a lot of courses in software development
so be sure to check that out as well as all of the other like
Non-technical skills that are also really important as a software engineer and skillshare is giving away a free
two month unlimited access trial for my subscribers who click the link in the description box down below and
It's only about ten dollars a month after that. So definitely be sure to check that out.
Thank you again, Skillshare. You're awesome!
I love education and learning platforms and stuff. Like my parents are both teachers.
So I'm really excited that they sponsored. So, thank you.
Alright, I hope you like this video
Give it a thumbs up if you did and subscribe and hit the bell notification or leave a comment down below
You know the drill. Um, I
Just want to hear from you all about how you're doing
Okay, that's it for today. I hope you have a great day wherever you are and let's get learning
Bye!