Transcript

How do you keep your software development knowledge up-to-date as new languages, libraries, and platforms are released? The amount of information out there can be overwhelming. Whether you’re just out of a Bootcamp, switching technologies, or just trying to keep up, it can feel impossible to find the time to learn.

In this talk, Josh Justice shares an approach to learning that he stumbled upon in the process of making two major technology career shifts within three years. It’s a way to avoid mistakes that may be hindering your learning, make the flow of information manageable, solidify your skills, and feel motivated all along the way. Everyone’s background and life circumstances are different, but this talk will offer tools and ideas that you can apply in a way that works for you.

Resources

00:00
(bright music)
00:04
- All right, so I'm Josh.
00:05
If you haven't met me yet,
00:07
been at Test Double for about four months now.
00:09
And I'm going to be sharing a talk that I've given before
00:11
called Sustainable Learning.
00:15
So bit about my story from the background.
00:17
I'd been a developer for about 10 years
00:20
at one point when this story begins.
00:22
And I went through a job change
00:24
where I had to switch programming languages
00:26
and get up to speed very quickly on a new language
00:28
I hadn't worked in before.
00:30
Then a few years after that I switched from backend
00:32
to front-end development, and again,
00:34
I had to get up to speed very quickly.
00:36
There's a lot of learning
00:38
in a very compressed period of time.
00:39
I wonder if any of you can identify in this industry
00:42
with a need for rapid learning.
00:45
Some of you maybe have gotten
00:47
into the programming recently.
00:49
Maybe you're picking up a new language
00:50
or framework for work,
00:52
or maybe you're just keeping up with new features
00:54
and new versions of libraries and frameworks
00:57
and platforms and browsers
00:58
and just keeping up with the latest.
01:00
There's always more to learn in our industry.
01:02
And so the question is how do you keep learning
01:04
without getting exhausted?
01:06
Maybe you aren't and you're getting exhausted
01:08
by me describing this right now.
01:10
I know I am.
01:11
So I have some things to share on this, some ideas,
01:14
but first I want to start with a caveat.
01:15
We all have different wirings.
01:17
I was talking about this with another Double agent recently.
01:20
So I'm going to share the experiences,
01:22
the approaches that have worked and helped for me.
01:24
And they may be exactly the opposite of what works for you.
01:27
I'm not a professional brain scientist
01:29
or anything like that, or even a hobby brain scientist.
01:32
So, but I hope this prompts ideas.
01:35
So certainly if something that I share doesn't seem
01:37
like it applies to you, go with that.
01:39
Like, trust your instincts on that,
01:41
but maybe it'll prompt some ideas and some thoughts.
01:44
Find out what works for you and then tell me and others,
01:46
and share it around.
01:48
So as I look back over the years that I've been working
01:51
in consulting and think about what has worked for me
01:53
for learning, I've seen a pattern and I've started
01:58
referring to it as cyclical learning.
01:59
And I want to share what that is.
02:01
This is not something that I've designed from the start.
02:03
This is something that I look back on what evolved
02:06
and came about as I was going through this process
02:08
of repeatedly learning technical things.
02:10
And this is the steps that I saw myself
02:12
going through repeatedly, cyclically.
02:14
And so there's a lot, and so we're going to talk through
02:16
one at a time to explain what I mean.
02:19
First observe.
02:20
So this is the first step that I come to go through.
02:22
And I define observe to mean get as much exposure
02:25
to others' code as you can.
02:27
This is a great way to learn new technical knowledge
02:30
as a foundation.
02:31
Some of my ideas about this initially came
02:33
from a talk by Kathy Sierra.
02:35
Many in the Ruby community may be familiar with her.
02:37
She was very influential.
02:39
The talk is called "Making Badass Developers."
02:41
It was from 2015.
02:42
Then at RubyConf just two years ago,
02:45
a talk called "Perceptual Learning Equals More Ruby Experts"
02:48
was given and it referenced Kathy's talk
02:51
as well as some later things about this learning.
02:53
But a key very simplified version of one part
02:56
of these talks, I'd recommend watching them in entirety,
02:58
they're great, but one part of it is just observing,
03:01
just getting exposure to examples,
03:03
especially good examples is really helpful
03:06
for learning and for growth.
03:09
So places that you can observe to make yourself available
03:11
to get this knowledge: online communities, social media,
03:14
maybe some social media more than others these days.
03:17
Chat forums are all great ways to learn.
03:19
Live communities like meetups and conferences,
03:22
in person or virtual depending on how things are going
03:24
at that time.
03:25
Articles, books, videos, podcasts, code reviews.
03:28
This is one that folks can tend to miss,
03:30
but on client projects and at work,
03:33
when you're doing code reviews, you can learn,
03:36
you can learn from how someone's approached something,
03:38
if they're more experienced than you
03:40
or more experienced with the technology,
03:42
or even if they've just taken a different approach.
03:43
Even if you kind of feel like there are weaknesses there,
03:46
by observing it and thinking about it,
03:48
like, you're getting more data,
03:50
you're getting more options to consider.
03:52
Pair programming and mob or ensemble programming
03:55
is another great opportunity to observe.
03:57
A coworker of mine that I used to work with,
04:00
and I'll share out the link to this blog post,
04:01
used a phrase "optimize for learning."
04:03
He got the advice,
04:04
"Choose a job where you optimize for learning."
04:07
And I really feel like Test Double is a place like that.
04:09
It's a place that I'm learning all the time
04:11
and others are doing the same.
04:13
So observing is the first step.
04:14
Get this raw material, this data about approaches to code.
04:18
Second, capture, and by capture I mean record things
04:21
of potential interest to investigate later.
04:24
This was really transformational for me
04:26
when I ran across the tool to help me start to do this
04:29
because it helped me to decouple "I've heard about it"
04:32
from "I'm looking into it."
04:34
So this allows for the ebb and flow of your schedule.
04:36
You can hear on Slack or somewhere about a new idea,
04:39
library or book or something, and you don't have to decide,
04:42
"I'm going to look into it now or I'm going to forget about it,"
04:45
or have it constantly running in your head,
04:47
"I should get back to that thing."
04:49
You can file it somewhere where it's captured
04:51
that you can get back to it when you have time
04:53
or when the need arises.
04:54
It allows for filtering later to decide later
04:57
if you do or don't want to look into it.
04:59
And it allows for cyclically revisiting things repeatedly
05:02
when you want to reinforce them or check in multiple times.
05:06
So some ways to capture, there's different categories
05:08
of information to capture: taking notes,
05:11
saving links to websites, to a reading list,
05:13
and keeping a personal to-do list,
05:15
which seems not quite related, but I'll explain
05:17
why I think this is essential to consider here.
05:20
First, taking notes.
05:21
So here's some of the attributes that I found, for me,
05:24
are essential attributes of a note-taking system.
05:27
And I do use digital notes almost exclusively.
05:30
Some folks really swear by paper notes,
05:32
and there's different parts of the brain
05:34
that get exercise and things about focus.
05:36
So this is not me saying don't use paper notes.
05:38
I'm just sharing where I'm coming from and what I found
05:40
is helpful on the digital side.
05:42
Number one, low friction to create a node.
05:45
You don't have to think about filing,
05:47
you can just start recording something.
05:48
Second, it's successful everywhere.
05:49
Work computer, personal computer, phone,
05:51
as long as the client or a company doesn't have restrictions
05:55
on data being shared in some way.
05:57
But it's easy to get to in whatever your context you're in,
06:00
'cause you might hear something in one context
06:02
that maybe apply more in another one.
06:04
Full text search, you don't know if you've titled that note
06:08
in something that's easy to get back to or tags.
06:10
And so if you just mentioned something in passing,
06:12
you want to be able to find it again so you don't lose it.
06:15
Syntax highlighting support,
06:16
I often have code snippet examples,
06:18
so that's pretty important to make sure that's something
06:20
that I want put code samples in there instead of feeling
06:22
like it's messy to put it in.
06:25
So note-taking app options.
06:27
A lot of folks that I talk to
06:28
have a lot of thoughts on this.
06:30
if you're not taking notes currently,
06:31
even something as simple as the notes app built into the OS
06:34
for your computer OS, your phone OS could be good enough.
06:38
Notion is really popular these days,
06:39
has a lot of powerful features.
06:41
Obsidian maybe a bit more targeted
06:43
towards individual note-taking, really, really great.
06:45
Obsidian is what I'm using for note-taking currently.
06:48
Logseq is an open source product
06:50
that has a lot of the benefits of Obsidian.
06:52
Or if you have something else that works, that's all great,
06:54
but these are some options to consider.
06:56
If you're not consistently note-taking,
06:57
you find that you're in a system that doesn't facilitate
07:00
the kind of attributes that I was talking about.
07:02
Second, saving links to a reading list.
07:05
So what qualifies as a reading list?
07:07
I think these features are essential for this kind of tool
07:09
in the workflow that I'm describing.
07:11
It needs to have an unread or read feature
07:14
so you know what you've looked at already.
07:16
It needs to be accessible everywhere.
07:17
Again, work computer, personal computer, phone.
07:20
If you need more boundaries to keep you
07:21
from being overwhelmed, that's fine too.
07:23
Like for me, this fits into the flow of my life
07:25
to have access to these things,
07:26
to pull 'em up at appropriate times.
07:28
Ideally, it has tagging-by categories
07:30
so you can group things and find them.
07:32
Some things that I would say personally don't work
07:35
as reading lists include browser tabs.
07:38
They're not permanent enough.
07:39
Maybe your computer is very stable
07:41
and you haven't rebooted in three years.
07:42
Mine crashes and I lose my browser tabs,
07:45
and sometimes that's good to just let them go.
07:47
But if I want to capture something,
07:49
it needs to be somewhere more permanent.
07:51
Browser bookmarks I think don't qualify as well
07:53
'cause there's not an unread or a read feature.
07:55
There needs to be a very low-friction way to just record,
07:58
like, "Oh yeah, I haven't yet checked this out,
07:59
I want to make sure to get to it."
08:01
I've already read it,
08:03
and it's now it's available for future reference.
08:04
So some software you might consider,
08:05
your web browser of choice may have a reading list feature,
08:08
that's becoming more built-in now.
08:10
Pocket is the tool that first got me into this approach.
08:13
It's by Mozilla, and it's a great way to capture links,
08:16
and integrates with links sharing
08:18
from all kinds of different places.
08:19
So yeah, I recommend that as an option.
08:23
So personal to-do list as a way to capture information.
08:26
How does this relate?
08:27
This is not really related technically
08:29
to technical learning.
08:31
I think keeping a personal to-do list is essential,
08:33
and this is just great professional advice
08:35
because it helps you ensure you don't forget things
08:38
you need to do.
08:39
You don't have to just keep them in your head.
08:40
It helps you do one thing at a time.
08:42
You don't have to keep remembering the four things
08:44
you need to do today 'cause you have 'em on your to-do list.
08:47
It gives you mental space to look up,
08:48
to take a breath and say, "Oh, is it time for me
08:51
to learn something, to go a bit deeper and brush up
08:54
on my knowledge in between the tasks that I have assigned?"
08:57
And it helps you fit in learning in that way.
08:59
So if you're not using a personal to-do list
09:01
for your daily tasks and work, I think,
09:04
I mean, people are wired differently,
09:05
but I think it's worth trying to see if it frees up
09:07
some mental space so that you can not just be trying
09:10
to make sure you get the things done that you have to,
09:13
but you have time for learning.
09:15
So there's a million different to-do apps.
09:17
That's the joke, even in the Rails community in particular.
09:19
Any one of them is fine to get started.
09:21
So just check out one and, you know,
09:24
once you get into the habit of using a to-do list,
09:26
you'll know when you need something different,
09:27
when there's a feature that's bugging you
09:29
that's missing that you need.
09:31
So that was capture.
09:33
So the next step after we observed knowledge about code
09:36
and we've captured it, next is focus.
09:38
I summarize that by saying you don't need to learn at all.
09:41
In fact, it's literally impossible to learn everything
09:43
there is to know about programming in 2023.
09:46
You may feel like there are people who know
09:47
everything about programming, it is not true.
09:50
And in fact there's no need to learn all those things.
09:53
So what does expertise look like instead?
09:55
What does growing your career look like?
09:57
Ken Beck has used the term paint-drip developer,
10:00
and this link that'll be in the slides that I share out.
10:02
Takes you to a blog post where someone wrote about it.
10:05
You think about the visual image you see there.
10:07
You have both breadth and depth.
10:09
You work across a wide variety of different things.
10:11
Think about a paintbrush going across the top.
10:13
And in some things, oh, you don't go very deep.
10:15
You just, for whatever reason,
10:16
other things, you go very deep, it drips way down.
10:19
And so you have areas of depth and broad areas
10:22
where some of them are not quite as deep.
10:24
So that is expertise, that is, none of us get beyond
10:29
paint-drip levels of experience,
10:30
and so you don't need to know at all.
10:32
So you need to focus and choose what to focus on.
10:35
So you have an item on your unread list,
10:38
and you have options to decide what to do with it
10:40
when it comes to focus.
10:41
You can read it fully.
10:43
You can skim it until you learn enough or lose interest.
10:46
I mean, you go with your instincts, go with, you know,
10:48
your energy levels.
10:49
If you've lost interest, okay, that's enough for now.
10:52
Or maybe you skip it, maybe you've captured it,
10:54
but now at this later step you've decided,
10:55
"It's been a while, I haven't gotten to reading this.
10:58
I guess I'm not motivated in this right now."
11:00
But I've often deleted something when I've decided
11:03
I don't need it, and then I regret that,
11:05
and I look for it later.
11:06
So I would say if you got reading list software,
11:08
like, just mark it as read, just lie to yourself.
11:10
Or maybe there's another category,
11:12
but keep it tracked in the system you've captured in
11:14
so you can get back to it later.
11:15
What was that article about that one programing language
11:17
or that one book?
11:19
You can find it again if you haven't deleted it.
11:22
So how to decide whether you go deeper
11:23
in a given topic or not with all the overwhelming areas
11:27
of tech that are out there?
11:28
Is it related to something you already know
11:30
so it's easy to build on?
11:32
Is it useful for something you're working on right now,
11:34
it's timely?
11:35
Is it useful for something you want to work in?
11:37
You want to head towards it sooner or later in the future,
11:39
it can be good to dig into that.
11:41
Are you able to follow it?
11:42
This was really interesting when I read the book
11:44
"Domain-Driven Design" and I was like,
11:46
"Wow, it's a great book and it's well written.
11:49
I cannot follow it. I'm out of my depth on this."
11:51
And I've tried a few times, I still haven't made it through.
11:54
I'm sure if I force myself, but I didn't want to force myself.
11:57
It's available. I can get into it.
11:58
I know the kinds of things that are in there.
12:00
I can get into it if and when it's helpful.
12:02
So you know, trust yourself as far as if your brain
12:05
is able to follow it or not,
12:06
and don't judge yourself for that.
12:09
Does it energize you? Does it make you excited?
12:10
Or does it feel like a slog?
12:12
And, you know, decide that I've read enough of this,
12:15
I'm going to mark it as red, I'm going to put it on the shelf
12:17
and save it for later.
12:19
So once you've observed, captured and focused,
12:21
decided to focus on something, understand it deeply.
12:25
Dig into a topic to ensure you thoroughly comprehend it.
12:29
That's kind of general,
12:30
so let me put some more details onto that.
12:31
How can you help your understanding of something
12:34
so that you've really gotten your mind around it well?
12:37
Applying the steps for yourself,
12:38
like, don't just read it and say,
12:41
"I think I understand that," but try it out yourself.
12:44
If you don't get how a piece of it works, look it up.
12:47
For all of us, this is common, when you're reading through
12:49
and it just references another technology or a protocol
12:52
or a spec or a principle from computers and you're, like,
12:55
"Yeah, I've never heard of that before,
12:56
and they assume I know it."
12:57
Well you can pause and go look that up.
12:59
You can capture what that thing is.
13:01
Maybe you come back later or whatever.
13:03
Experiment and see how it breaks.
13:05
This is something that I wasn't big on at first,
13:07
but I learned from others.
13:08
I see something working, well, what if I don't add
13:10
this parameter that they say is required?
13:12
What if I pass the opposite boolean?
13:14
What does it do? And you learn from that.
13:16
Ask the person questions if they're available,
13:18
if they're the author or creator of something
13:21
on the internet, you can reach out, and a lot of times,
13:23
more times than you would expect, they respond.
13:26
A lot of folks care if you care about the topics
13:28
that they've written about or tools that they've created.
13:31
And so you can get answers, you can get help.
13:34
So by trying these things,
13:35
you make sure that you haven't just read something
13:37
but you're deepening your understanding of it.
13:40
The next step is a way to, in a sense,
13:43
deepens your understanding,
13:44
but it's putting it into practice.
13:46
Repeatedly apply a technique to build the habit.
13:49
So I talked about following the steps above
13:51
in the context of the learning resource,
13:53
like a book or an article described something.
13:56
And so I try out those steps myself.
13:57
Practice here, I'm referring more to applying
13:59
that outside the context of the learning resource.
14:01
I have a technique, I have a tool, a library,
14:04
now I'm on a project or something, I'm going to pull
14:06
from what I learned before and try it out there,
14:08
outside of a well-prepared tutorial environment.
14:12
So where can you practice?
14:14
On work projects, you can practice and try out new things
14:17
if it's appropriate for that project.
14:19
In a REPL, a read-evaluate-print loop tool.
14:21
This is very common in Ruby,
14:23
it's available in Node and other dynamic languages.
14:25
You can just get in, start writing code,
14:27
and see what happens when you try things out.
14:29
Code exercises, there's a number of different tools online
14:31
for code exercises.
14:33
Exercism.org is a great one
14:35
on many, many different programming languages,
14:37
and so that's a way to try out on these small exercises.
14:39
On a side project, I wrote a blog post recently
14:42
about side projects.
14:43
You can do those for yourself, not to start a business,
14:46
just to scratch an itch and just to get a chance
14:48
to practice things you'd like to practice.
14:51
You can build a standalone experiment repository in Git.
14:54
Something where it's going to take a series of commits,
14:56
you're building out a little bit, but it's not intended
14:58
to ever become something useful.
14:59
You just put it there and you keep, you know,
15:02
in many source code hosts, the repositories are free.
15:05
And so throw it up there.
15:07
Things about data layers, things about node,
15:09
things about web sockets that I've experimented with,
15:11
I've stuck up all these repos so I can reference them
15:13
in the future to see how my experiment worked.
15:17
So you've gotten chances to practice these things,
15:20
and that further deepens your knowledge, you're learning.
15:22
So now I'd recommend a step of reflection,
15:25
and this is never something that when someone encouraged me
15:27
in advance to do it, made sense,
15:29
so why am I encouraging you now?
15:30
But we'll try, but when I look back when I've done this,
15:33
this has really helped me out.
15:35
Think about what you've learned,
15:36
seems pretty straightforward.
15:38
But here's some questions that I propose
15:40
as a way to reflect.
15:43
You could ask yourself,
15:44
"Am I applying everything I wanted to?
15:45
Did I say after reading this article that I was going to try X,
15:49
but then I haven't actually done it yet?
15:50
Maybe I just haven't gotten into the habit yet,
15:51
and I can try."
15:53
Is it working as described? Why or why not?
15:55
Believe it or not, things don't always work
15:57
as well as described.
15:59
Maybe they're not that good. Maybe contexts differ.
16:02
And so see if it lives up to the promises or was described.
16:06
And there could be a good reason.
16:08
Maybe you learn something that's getting in the way
16:09
to improve it.
16:11
Does it feel natural or is it taking a lot of effort?
16:13
Would you be doing this technique or using this tool
16:17
if you weren't making intentional choice to do so?
16:19
It could be a sign that maybe it hasn't clicked yet
16:21
or maybe it's not a good fit for you.
16:24
Does it conflict with something I've learned before?
16:26
How do the two relate?
16:28
This could be a wiring thing.
16:29
Some folks are totally fine with contradictory or, you know,
16:33
different views in their heads and holding them in tension.
16:36
Other folks really want to resolve them.
16:38
I'm somewhere in between, I think.
16:39
But I do find that I learn when I say, like,
16:42
"Oh, this view from this programming community
16:45
says one thing, this view says something else.
16:47
Like, they don't go together
16:48
or maybe they're at right angles,
16:50
like, they're talking to about different things."
16:51
Do they fit together, do they not?
16:53
And you can learn more about both perspectives
16:55
by comparing them with each other.
16:58
So you've reflected, so that helps you internalize
17:00
this knowledge some more even.
17:01
Then record it.
17:03
And record sounds a bit like capture,
17:05
but there's something very different,
17:06
and it's very significant that these are different ends
17:08
of the learning process.
17:10
In record, make a record of settled knowledge
17:13
so you can come back to it.
17:15
Now writing something down,
17:16
once you've really internalized it and writing it down
17:19
in a distilled form, can help you catalyze that knowledge
17:22
and learn whether you're checking what you wrote
17:24
or it just cements it in your brain.
17:27
So I would recommend having something
17:28
like a reference system.
17:31
And I'll talk about what I mean by that.
17:33
It's different than notes.
17:36
It is a kind of note, but it's a way where you have
17:38
low friction to find information.
17:40
This isn't targeted for easily writing things down
17:42
and capturing them, but when I need to find something
17:44
on a topic, can I easily get to it?
17:47
It's a setup where you have a topic that
17:48
lives at one authoritative place.
17:50
Encyclopedic comes to mind as far as like,
17:53
so for example, take GraphQL.
17:55
I might have dozens of different notes
17:57
from different days with things that I've learned
17:59
about GraphQL or looked into or questions I've answered
18:02
or using it in different programming languages.
18:04
But I want to have one GraphQL reference page.
18:06
So it's like these are the most important things
18:08
that I've learned about GraphQL, like a Wikipedia page,
18:11
like an encyclopedia page.
18:13
And it's for the information
18:14
you're most likely to need again.
18:16
Yeah, whenever I often have these same questions
18:18
about Git or about Ruby or about Rails or whatever.
18:22
So here's some options for this idea of a reference system.
18:26
You could use a wiki for sure.
18:28
GitHub wikis are available there on your repositories.
18:30
If you're using GitLab or something else,
18:32
like, those might very well be in there as well.
18:34
And so those are easy ways to get to it.
18:37
But I made a side project.
18:39
It's 'cause I'm kind of picky.
18:40
I want my tools to be really simple,
18:42
and so I don't want to have, if I just want a place
18:45
that my knowledge is, I don't want it hiding
18:47
under a wiki's tab under GitHub
18:48
when it's not really for code.
18:51
And I asked on our slack about a Ruby-based wiki
18:53
that's really easy to deploy on a Heroku,
18:55
and we couldn't find one.
18:57
But luckily I already created a very terrible one
18:59
that I love and works great for me.
19:01
So it's called Slapdash, and it's called that for a reason.
19:04
And I'm not here to advertise my project,
19:06
'cause this is, like, I'm here at Test Double.
19:08
This is the simplest, most trivial Rails application
19:12
you can imagine.
19:13
Like, you look at this, this is a list,
19:15
this is a detail page.
19:16
You can imagine if you're a Rails developer
19:18
how this is implemented.
19:19
It's implemented that way or worse.
19:21
Like, it's just the simplest thing imaginable.
19:23
But I wanted a place where it was edible in the browser,
19:26
don't have to download a thing,
19:27
don't have to make a Git commit.
19:29
This is not publishing, this is, I just want one place
19:32
to record my Android knowledge.
19:34
One place to record my Google Chrome knowledge.
19:36
I always want to know how to clear the data
19:38
and how to disable JavaScript and reset site permissions.
19:40
So I put it in there, but it's encyclopedic
19:43
where this is just, like, there is one page for Atom, RIP.
19:47
There's one page for Bootstrap,
19:48
and I can get back to them very easily.
19:50
I just know where to go for this settled knowledge
19:52
in this reference system.
19:55
For you, it might be the same as your note app.
19:56
If you're disciplined and you know how to create those pages
19:59
where there's one place to go,
20:00
maybe that works fine as well.
20:01
But whatever the tooling is like,
20:03
have a place where you have that settled knowledge
20:05
you can get back to.
20:07
The last thing I'll share, the last step is sharing.
20:09
And this is something that I'm really glad
20:11
in the last five years we've talked a lot of
20:13
in the about in the software industry.
20:14
Pass along your learnings to others.
20:17
So why is it valuable to share?
20:19
It helps others, and that is in and of itself valuable.
20:22
Teaching a topic helps solidify your own knowledge of it.
20:25
This has been known in teaching and learning circles
20:27
for a long time.
20:28
And now, when you've prepared it in such a way
20:30
that you can teach it to someone else,
20:32
now that information's even clearer for future you.
20:34
And so you can read it and you're teaching future you
20:37
even better, so sharing this knowledge can be a great idea.
20:40
This could be done on a link on social media,
20:42
Slack and Discord.
20:43
Like, literally just sharing the URL
20:44
and maybe a few words of commentary
20:46
is already a way to share.
20:48
You could write a blog post.
20:50
Test Double folks, we'd love for you to write blog posts
20:52
for our blog.
20:52
Make a personal blog and share something out.
20:55
Do a presentation at work. Give a meetup talk.
20:58
Most meetups would love to have someone volunteer
21:00
to give a talk.
21:01
Apply to give a conference talk as well.
21:04
One thing I always say on this topic is it can be hard,
21:07
the smaller the big things on here to do it to say,
21:10
"Ah, others have already said it better.
21:11
I'm not a speaker, I'm not a writer,
21:13
I don't need to share anything out there."
21:15
What I always say, and I've gotten this advice
21:16
and I pass it along, say it the way you
21:18
would've liked to hear it.
21:20
And that's different than anybody else would phrase it.
21:22
And there's someone out there that that's going to help,
21:25
more than the docs and more than the talking heads
21:28
and more than how I would say it.
21:29
The way you say it is going to help someone
21:31
who's wired the way you are, who is in a circumstance
21:33
that you're in, so it's valuable to share that.
21:37
So these are the steps of cyclical learning,
21:39
again, as I observe how I've gone through these.
21:42
And I'll put 'em back up in a screen in a minute
21:44
for us to discuss a bit more, but just to wrap up,
21:47
what if learning new technologies
21:48
was energizing instead of draining?
21:50
That's a tall order for the software industry,
21:53
but I think it can be to some degree
21:55
with the principles we've discussed where you filter out
21:57
the too much that's out there,
21:59
and you make it something manageable.
22:01
And so I would encourage you for your own happiness
22:03
and enjoyment in our profession,
22:05
don't settle for an all-or-nothing approach to learning
22:07
where you either have to stop what you're doing
22:09
and really dig in to learn something
22:11
or else it just goes into a browser tab
22:13
that accidentally gets closed.
22:15
Again, if that works for you, that's fine,
22:17
but don't feel like you have to give up
22:18
if you're stressed and you don't have time to learn.
22:20
Capture this stuff.
22:21
Have some way to go about it so you can go back to it later.
22:24
Augment your brain with tools
22:26
and with processes and practices.
22:28
And definitely don't get down on yourself
22:30
for not having infinite capacity.
22:32
Nobody does. Zero people do.
22:34
We're all in the same boat there.
22:36
So I hope this has been helpful,
22:38
and I'll make these slides available
22:40
wherever this talk is shared out.
22:41
And so, thank you so much for considering it.
22:44
(bright music)

Josh Justice

Person An icon of a human figure Status
Double Agent
Hash An icon of a hash sign Code Name
Agent 00155
Location An icon of a map marker Location
Conyers, GA