00:00:14.040
um anyone recognize this footprint I hope everybody does you know getting a person on the
00:00:21.160
moon was a pretty difficult challenge um we tend to remember the landing and not
00:00:28.920
the seven eight n years years that it took to get there um but we did it we did it one step at a
00:00:37.640
time my name is Jeff I've been a developer since the early 90s in about 20 10 2012 started to
00:00:47.559
develop a side interest in the learning Sciences how do we actually
00:00:53.280
learn anything I hated school in case you can't tell but uh
00:01:01.840
and since then I've sort of straddled this line between Academia and Industry
00:01:07.560
so I'm an entrepreneur I have my own little company I also teach part-time at the University of Chicago in the computer
00:01:14.360
science department which is funny because I don't have a computer science degree please don't tell
00:01:21.520
them uh but ever since uh I started to
00:01:26.720
get into the learning Sciences I got involved with working with different kinds of boot camps different college
00:01:32.640
graduates who are coming out of college and I've just been sort of connected to the early career developer
00:01:39.240
uh for a long time um so the problem that I want to address
00:01:46.880
today uh kind of looks like this a a bunch of us are are living in
00:01:53.880
starville right now and we want to move to jobtown
00:02:01.000
and there's this infinite Chasm apparently between the two now you may not be going through this right now but
00:02:07.320
at some point you probably did if you think back oh you seen your dos out there what was it like when you were
00:02:13.400
first getting started how did you get your break how did you get across that Chasm now when I started I
00:02:20.280
was very lucky it was uh mid90s and uh if you could breathe you could be hired
00:02:27.319
um and I met that criteria and I was I was good to go um the economic situation globally is
00:02:37.200
is not the same as it was you know just pre pandemic and so it's uh become very
00:02:43.640
difficult for for smart hardworking folks to just get a break so anybody
00:02:49.040
relate to this at all hopefully a little bit um so that's that's what I want to
00:02:55.760
address today and I'm mostly going to be talking to those of you who have recently come out of a boot camps or a college but I also
00:03:02.959
have hopefully an uncomfortable thing to mention along the way to those of you
00:03:08.000
who employ people so just real quick here's my top
00:03:13.159
five tips if you're trying to cross the chasm here um the first
00:03:21.319
step is to find what I call a learning path uh using in the learning Sciences
00:03:29.319
we call the of adjacency whenever you start to learn something new your brain has to restructure it
00:03:37.480
your itself a little tiny bit and I don't exactly know how that works but
00:03:44.360
from the the researchers I've talk to that's really what's happening is you're you're changing your brain in a physical
00:03:52.000
way and uh so the closer that new information is to what you already know
00:03:59.400
the less of a change your brain has to make to figure it out uh so if you're learning Ruby for
00:04:06.239
the first time you and you're you're learning how to how to define a method um once you get that down the
00:04:13.720
next thing to probably learn would be okay I understand there can be an input parameter what else can you do in that
00:04:20.919
input parameter line right and that's when you start might start learning about oh you could do like variable
00:04:26.440
arguments keyword arguments things like that if you went oh I just learned how to how to uh Define a method in
00:04:35.000
Ruby um you know I'm now going to figure out how to develop and and deploy this
00:04:41.440
thing to a Linux box I've never heard of that's probably too big a leap you want
00:04:46.639
to find like the stone path what's the next step in my
00:04:52.080
progression as a developer what do I know now what have I been curious about what
00:04:57.520
have I become aware about that at that one next level ring out um you know so one of the things I I
00:05:04.960
just learned from Andre's talk is okay I need to First understand what an llm is then maybe I'll start to understand
00:05:11.960
all the whole the rest of it I can't just do everything at once and the problem is when we're coming out of a
00:05:17.759
boot camp or college is we see these job requirements that list a million things right there's
00:05:23.440
a whole acronym soup there and it's it's uh frustrating you want to learn
00:05:29.759
everything but you I'm just saying you can't the most effective fastest path is
00:05:35.080
actually to start with what you know now be curious about the next step and learn that and just keep going that
00:05:41.960
way um tip number two be a tea no not this
00:05:47.039
tea person be a a different kind of tea person so when an early career developer
00:05:54.440
generally has a has a shallow but wide area of knowledge right so most boot
00:06:00.280
camp grads I've talked to they know how to how to use the terminal a little bit they've learned some JavaScript they can
00:06:06.720
kind of get around in rails uh they know some Ruby although uh really not much of
00:06:12.520
the language because most of the boot camps Focus just on the rails portion they know a little bit about how
00:06:18.639
to connect to a database and maybe some SQL they maybe hopefully have done some some
00:06:23.880
testing so what's great is is they've gotten exposure to a lot of different areas of of things but it's kind of
00:06:30.759
shallow and when you're desperate to cross that Chasm and you don't know what the secret thing you need to
00:06:37.639
know is to get that next job you try to learn everything so given any of these top
00:06:45.039
headers you could go down vertically and try to get deeper using an adjacency step but you still don't
00:06:52.880
you're still trying to cover the whole board and you don't even know where to start and then it feels overwhelming and
00:06:58.400
you just start like why did I even do this you know I'm applying to jobs I'm
00:07:03.840
not getting much responses that I go to four interviews and then they ghost me
00:07:09.240
like what is going on and it can be a very frustrating thing to to go through so I recommend becoming what I call a
00:07:16.879
tea person which is you pick one area of specialty at a time and know kind of
00:07:23.639
Almost Doesn't Matter which one you pick pick the one that's more fun for you so like in this random case I I picked okay
00:07:28.759
what if the Ruby language was really what what got you excited okay what's the next step maybe learn how to build a
00:07:35.160
gem maybe then once you've conquered that learn some meta programming then maybe get really Advanced how to
00:07:42.360
performance and getting into tuning of of uh of of Ruby
00:07:47.759
applications and it might seem like okay but during that time maybe someone was hire GNA hire me for react well we don't
00:07:53.479
know if that's true meanwhile you are making a name for yourself that if somebody has a ruby issue you are the
00:07:59.599
person to go to and that's a very valuable thing um there are lots of
00:08:05.240
people trying to apply for jobs who get a couple levels deep in everything but they're not really known for anything
00:08:11.759
specific and I think that's one of the things that can get your resume more to the top also gets you a word of mouth if
00:08:18.319
you're someone who's really great at running background jobs of psychic or now solid Q if you're the first on that
00:08:24.879
then when someone needs help they're going to think of you if you just say well I can do everything actually not going to think of you when they have
00:08:30.800
that problem you know what I mean they're they're going to think of someone who already has that specialty so pick something that you enjoy go down
00:08:37.919
as far as you can and when you get to a stopping point okay switch to another T but I think this is a more effective
00:08:44.959
approach actually to getting ahead in the in the industry than trying to be a jack of all trades with
00:08:52.080
everything um by the way I forgot to mention at the bottom right if if you want to see the slides later there's a
00:08:57.839
bitly link also in SL black I'll be posting it into our specific
00:09:03.760
Channel all right number three no not use the Force vi read The
00:09:10.399
Source uh this is I think one of the most underrated uh skills uh the
00:09:17.399
developers that I've admired as I've learned Ruby from scratch uh have all been great at
00:09:24.360
reading other people's code and it can be an intimidating thing you're looking at code that is in a different style you
00:09:31.120
may not know what you're even looking at but you need to get immersed in it in order to really understand it the way it
00:09:38.399
was put to me was think of your favorite
00:09:44.959
author okay now hopefully you have a favorite author so get that in mind now
00:09:50.399
think about how many books in their lifetime that they read and how many books in their
00:09:55.880
lifetime did they write okay so read is our way of learning the
00:10:02.120
language and if you have a friend to talk about it with even better that'll
00:10:08.440
multiply the experience so my when I started to get into Ruby around
00:10:14.480
2007 the only source code I really had to to look at was the rail source and so
00:10:19.800
that's how I started to learn Ruby was actually by oh this is how you write in each and this is how I should do my
00:10:26.040
indentation and what is this other weird method let me go look that up it was just a wonderful way to start to learn
00:10:33.000
what I did not know to become aware of what I was not even aware before I'm sure all of you um have done a rails
00:10:41.680
new have you ever looked at your gem file okay like it's all open source people you can go read there's no
00:10:48.440
secrets here there's no magic you can go read the source and some of it is is too hard to read I skip it go look for
00:10:55.760
something that's easy to find look at the sidekick code go look at um any gem that's your favorite and start to see
00:11:01.720
how some of it works that's uh an underrated magic tool for getting
00:11:08.920
ahead um tip number four it's kind of like a tea person but turns differently
00:11:15.279
for folks who maybe want to start their own uh uh company or or just be a
00:11:21.600
freelancer is specialized by domain so rather than specializing by technology
00:11:28.160
stack um think about well you know what I I'm good at building landing pages for
00:11:34.279
medical offices um great thing about that is that once you do one they happen to know
00:11:40.600
other medical offices and they might be able to refer you I I've had many friends who have
00:11:47.600
actually accidentally fallen into getting known for a particular industry and have done very well just by
00:11:54.120
specializing in that particular field each domain has its own jargon its own
00:11:59.880
way of working and when you get immersed into that you become sort of qualified to work in that
00:12:05.360
area um I build software uh currently I build software for uh clinical
00:12:12.120
researchers in the Behavioral Sciences at academic institutions and I I tell
00:12:17.800
them that very specific Niche and and they're like wow
00:12:23.120
you you know how to build software for Behavioral Sciences I like yeah I I do now the truth is it's just is just rails
00:12:30.839
people there's there's nothing different about this at all but I but I say that
00:12:37.279
I'm in this Niche and instantly you get you get credibility um and of course I've had to
00:12:42.560
learn about this particular domain along the way that's my homework but that's been a very successful approach for
00:12:50.959
me um tip number five join a local user group I know this
00:12:56.760
has been hard to do since the pandemic but some of them are online I think we have a pretty great
00:13:02.279
one here in in Boulder yes uh I'm from Chicago and so this has
00:13:09.480
been wonderful for me to see this we've Chicago has long had a a great history of of local user groups and it's been
00:13:17.079
the best way for me to connect with other developers and you know the first time I went I didn't get a job through
00:13:22.959
that networking but after a year or two suddenly things were coming my way because I was getting to be known by
00:13:28.720
other people people I learned a lot by being around other people um it's a
00:13:34.040
chance to to share and to practice speaking in front of a group it's it's a
00:13:39.120
a chance to work with people who don't know as much as you do and to help them out to be next to people who know more
00:13:45.600
than you do and to be helped by them it's it's what's just a fundamental part
00:13:50.800
of being part of the Ruby Community I think if you don't have a local user group start one you know find two
00:13:56.800
friends get together once a month and you never know how that can
00:14:04.279
grow okay A little bonus tip um this might not be possible for everybody I get it you've already spent a lot of
00:14:10.600
money at at boot camp or college but consider some type of what I call grad school um I've started contributing to a
00:14:17.959
newsletter for for beginners called beginner focused um there are workshops
00:14:23.720
uh all the time they're online um but one of the best things I've done is
00:14:30.079
when the pandemic started and I couldn't get together with my usual group of friends for lunch once a week we started
00:14:35.880
to just zoom anyway and eat lunch over zoom and uh there are five of us and
00:14:42.000
what we decided to do was that um we would meet twice a month um
00:14:47.079
and somebody we would take turns presenting on what we've learned in the past month small or large so hey we've
00:14:54.440
heard about this new thing in rails has anybody done no okay I'll try to learn about that and do a presentation a like
00:15:00.279
find your own cohort that you can use to continue learning it's it's really an
00:15:06.880
invaluable um tool um okay now this is the part where I
00:15:15.040
usually get fruit thrown at me by certain parts of the uh
00:15:20.959
audience uh I'm not going to do five tips I'm just going to do one just for the kind of for the sake of time here um
00:15:26.959
I'm happy to talk about my other 14 tips uh later this is the most
00:15:34.000
common I wouldn't say mistake but I guess the most common thing that I see that's just a bit unfortunate in our
00:15:39.199
industry right now here's a here's two graphs there's a person on the
00:15:44.279
left who started at some level and over time continued to grow this is sort of
00:15:51.360
their trajectory on their career so maybe they started as a software
00:15:56.440
developer they're now maybe you know mid-level or almost senior developer um
00:16:01.880
and they spent some time building that up meanwhile you have somebody who's really started from almost nothing um
00:16:09.440
they went to a boot camp because they were tired of the kind of job they had they wanted to switch careers maybe they
00:16:17.040
came out of college realized that college didn't really completely compare prepare them for the current economic
00:16:25.160
climate so they want to augment that and so they're they went to you know they're trying to learn more and so they've
00:16:31.480
they've only been in the industry now a shorter amount of time but who would you rather hire if
00:16:39.600
you had to hire somebody and I think right now what's happening is the person
00:16:45.000
on the left gets hired because most companies are you know cash is tight and
00:16:51.120
we're looking for that someone who can hit the ground running someone who knows a lot who's going to integrate with the
00:16:57.000
team really well and it's a to hire somebody right you might be paying that person for you know a year and then find
00:17:03.680
out uh what if they don't work out so you're trying to go with the better risk but
00:17:10.959
unfortunately I don't think that's always the better risk the better investment if you look at the person on
00:17:16.160
the right can you extrapolate where they're going to go right they're going to end up
00:17:22.600
actually their learning curve their ability to learn has been demonstrated and if they keep on that path
00:17:29.400
they're going to become one of your best performing employees so the thing to evaluate when
00:17:34.440
you're hiring isn't just where they currently at it's what is their learning
00:17:40.880
trajectory now to figure that out requires a very different approach to
00:17:46.640
interviewing than we typically do um I'm just really tired of these whiteboard
00:17:53.160
games where you know someone says can you please uh sort this uh this list and
00:18:00.640
if that happens to you just say no if if that's the if that's the best question you
00:18:10.000
have if that's the best question you have I don't want to work here this is not and I know that's hard to say if
00:18:16.000
you're looking for work but it's really true you're going to hate that job I promise you six months 12 months down
00:18:21.240
the line because what the question implies by doing that is what can you
00:18:26.840
right now out of your head prove to us that you know this random
00:18:32.120
piece of data that's not really a good indicator of who's going to do well in this industry right we all know that we
00:18:39.360
don't know what we're doing can we just please admit that I I Google three four
00:18:44.960
five times a day every hour in fact so there's the I the key to our
00:18:52.320
profession the reason people hire us is because we know we've learned how to learn yeah like we know to keep up with
00:18:59.640
stuff when when rails 8 comes like oh my god what the heck is this like oh okay I
00:19:05.880
think I can I can dig into this and let me see if I can if I can understand this so I can apply it that is the skill that
00:19:12.720
we should be looking for when we're hiring new people there's a swath of early career developers Junior
00:19:19.200
developers apprentices whatever you want to say that have that ability that are going to pay dividends for you honestly
00:19:26.360
they're going to take less money than that mid level developer is they're going to be more loyal to you because
00:19:31.919
they need that job for a certain amount of time there's just a lot of reasons why it makes more sense to hire that
00:19:37.840
person on the right and take a risk uh in the short term um than the person on
00:19:43.120
the left all right I'm just going to close with
00:19:48.760
uh this is one of my favorite pictures of all time you know this is uh this is
00:19:56.200
Neil Armstrong coming down coming down the ladder and I was thinking wait a minute
00:20:03.559
if that's Neil Armstrong who's taking the picture there are martians on the moon
00:20:09.880
who's okay no so that's Buzz Aldren you know it already come down and he's the
00:20:15.159
one with the camera there but he's about to take that little step right he came
00:20:21.480
from pretty far away a lot of people are hoping to just take that little step to land on their
00:20:28.240
Moon like to get their job Neil Armstrong said you know one
00:20:33.799
small step for man one giant leap for mankind so here's the thing about hiring
00:20:40.559
early career developers um the entire Community benefits when he landed on the moon what
00:20:46.960
he meant was this isn't just his personal accomplishment this is going to benefit everybody all the science it
00:20:52.679
took to get there is going to benefit everybody so sure it's one person who
00:21:00.039
gets to step on their moon to get that new job uh but it's the community that
00:21:05.720
grows as a result of that the community reaps the benefits um
00:21:12.039
from all of that developers future contributions think of all the open source that we now benefit from that we
00:21:17.440
stand on top of somebody had to hire them at some point and give them a chance and over time they contributed
00:21:25.000
back to the community that's how this works um so look we may work remotely these
00:21:33.960
days but none of us works alone we need our community to be
00:21:40.039
healthy and active we need new people coming into the community if if we just closed the doors said okay everybody
00:21:46.919
who's in is in right well eventually we're going to go find something else to do or we're
00:21:51.960
going to die one or the other and then what happens to the Ruby what happens to Ruby in the community do we let
00:21:57.559
JavaScript away in no no we need so we need to keep growing as
00:22:05.120
a community to learn together to build together to achieve together thank you
00:22:10.880
very
00:22:19.720
much great for sure so the question is if we're going to think about hiring
00:22:25.360
based on projection as a hiring manager how do we actually do that um yeah
00:22:30.960
that's a good question that's that's great uh okay so no it's it's great question
00:22:38.000
there so there's a few cliche ways to start let me start with those and then I'll get into some one is to actually
00:22:50.840
now so you just start with simple things and start to tabulate this oh you went to a boot camp what year was that what
00:22:57.120
have you done since then do they have an intrinsic drive to learn I you know I
00:23:04.080
think this is one of the most common things among successful developers is that we're just naturally curious we love this stuff right and
00:23:11.480
so even if someone is currently unemployed have they continued to learn
00:23:16.679
what have they done since boot camp what have they done since College another uh I think underrated um
00:23:25.200
or maybe less thought of approach is to also look at
00:23:31.039
um have they volunteered anywhere uh this was mentioned to me
00:23:36.640
um uh well I don't want to put them on the spot but by a very large company that they're looking for open source
00:23:43.120
contributions as a one way to get your resume to the top of the stack but they said even if you don't have that did
00:23:49.520
they volunteer anywhere do do they show any sense of like being trying to be part of a community or giving part of
00:23:55.320
themselves um so in terms of projection yeah all you can do is kind of take the
00:24:00.480
data that they've shown you so far what have I done so far where did I start from and where are they now and that
00:24:07.279
hopefully will give you some Arrow I I think that the the
00:24:12.480
um the problem is when we ask what do you know now I don't really care what you know now I mean to some extent I do
00:24:18.679
of course you need at least to hit the minimums for you know what you need but if they shown that uh they just they
00:24:25.200
went to you know they were a lawyer they went to turn Ing and two months out they
00:24:31.399
can already get themselves well around a rail appap that's an amazing you know a
00:24:36.440
trajectory and that says a lot about where they're probably going to go all right let me see if I can repeat
00:24:42.120
that so I'll do the second part first um how as a job Seeker do you
00:24:48.799
articulate and demonstrate your growth even though you may not you know be at the senior level yet how do you at least
00:24:55.200
help hiring managers who are not accustomed to this philosophy um understand where you're coming from is
00:25:00.919
that a good repeat of that second part um so I so I think you have to do
00:25:09.760
something which doesn't come naturally to us as developers which is to Market yourself uh like this this is hard for
00:25:16.320
me I always had a hard time explaining in interviews you know what I really did
00:25:21.480
in my previous job it just it's hard I don't know why but that's really
00:25:26.880
important to say um however you decide to calculate your trajectory and I I understand that was
00:25:32.640
the first part of your question I think which is how do I even know what my trajectory is I
00:25:38.320
think part of it is to get back into what they call The Beginner's mind right like all of you I I I assume now are are
00:25:47.559
developing you you've learned some coding at least do you can you remember when you did not know how to code it's
00:25:55.520
actually really hard to remember that right you know what I mean it's hard to remember when you didn't know what a
00:26:01.760
variable was but that's part of The Beginner's mind thing if you can get back to to
00:26:08.880
somehow magically remember what that felt like when you were First Learning like that lines of code executed in
00:26:15.039
sequence if you can get back to that feeling then I think you've got a chance to un being able to then self-reflect
00:26:22.120
and say ah here's where I started look at what I can do now and one of the
00:26:29.520
problems in our industry is that we're always dissatisfied with where we are we never feel satisfied with what we've
00:26:36.720
learned we take for granted what we've learned like oh but yeah but I don't know that like yeah but you just learned
00:26:41.799
like 10 things in in three months you know that's that's pretty good so I
00:26:46.960
don't have like a a crystal ball for like how to do that but I think if you can start to articulate to yourself what
00:26:53.640
have I learned uh maybe you kept a journal or maybe uh something like that would be helpful can you enumerate the
00:27:01.039
steps that you took to get where you are even if it doesn't seem much to you it's actually more than you think and that
00:27:07.240
can then be the basis for turning around and giving your own personal story hey I was doing a I was I was doing a
00:27:13.440
construction job and I loved it but I want to do something different here's what I've learned in just 18
00:27:19.039
months is that is that helpful at all yeah great great yeah down here what are
00:27:25.640
other ways to help out add and meet up yep other than speaking or
00:27:32.080
um this is I this is going to sound funny but what I would do is I would buy
00:27:37.120
the pizza no serly I I would buy the pizza I would make sure the room was unlocked
00:27:42.760
when we had we were um often we were there would be a company who' be nice enough to sponsor the the meetups and so
00:27:48.919
but it was always after hours down the loop and so we had to get make sure the room was open make sure security knew we were going to be like someone to take
00:27:55.360
care of the details that are unseen so that the rest of the group could benefit and it's um sometimes feels like
00:28:02.840
no one notices but a few people will and they'll always appreciate it and I think then you start to learn the
00:28:09.559
Personalities in that group and you might decide you know what I'm gonna I'm going to back out from this group a little bit and maybe find another one
00:28:16.240
that's okay too uh oh sorry um not every group is perfect but I think just
00:28:22.399
finding how can you be helpful that's that's one of the ways in which people started to know me they started to see I
00:28:28.519
was a reliable person and you know things like that so it just starts small I
00:28:34.320
think yeah great great question so as as a senior developer how can we help convince those
00:28:41.039
the rest of us in in our company to hire more Junior developers when it seems like no one's listening to that advice
00:28:47.720
anymore um I I think there's a strong case to be made about institutional
00:28:54.279
knowledge it kind of depends on the size of your company but if you're like how
00:28:59.720
big is is your company more than a 100 people okay well it's going to be a harder a harder argument for but
00:29:07.399
actually not so much I think even in a given team right uh even if you're a large company companies break down into
00:29:13.880
teams and there's knowledge that is institutionalized within that within that team um I think someone um used uh
00:29:22.760
bus Factor um the other day which I I now call the lottery Factor just to be a
00:29:27.880
little nicer like how many developers would take to win the lottery before I lose all my developers um rather than
00:29:34.159
being hit by a bus which I've always been now very afraid of doing so
00:29:39.720
um uh but even within a team if you don't hire new people coming in there's
00:29:45.320
a I mean how you might document how things work no team I've ever worked on
00:29:51.600
documents very well and so it's really lives in the heads of everybody who's on that team and then you know they might
00:29:58.679
get better a better offer eventually that team will die I mean it's just the nature of things so I think one one one
00:30:07.159
way to talk about it is um what Junior developers bring to the table is not
00:30:12.960
just apparent lower productivity which I think is what they're worried about they're worried about stop is is that
00:30:19.559
you get a fresh set of eyes on the problem there are lots of smart people have worked in other industries that are now developers that have experienced
00:30:26.919
that are not just um you know just straight out of college and so I think maybe one approach would
00:30:34.039
be okay let's let's find someone who's doing a mid can we at least find someone who's doing a mid-career change they've
00:30:39.440
got business experience they've proven that they know how to think straight we
00:30:45.159
know that they're a reliable person they are now trying to help us
00:30:50.840
um that's you know my only real thought there is that we need to find Value you
00:30:56.960
know try to make argument of value that isn't just how many lines of code do you write it's what that person as a
00:31:02.600
personality is going to bring to the table and I think you get that more from Junior developers the the actually the
00:31:08.399
best developers I've worked with were not computer science me again I'm hope this video doesn't go out to you Chicago
00:31:13.559
but were not computer science Majors they were Art majors they were English Majors they were history majors because
00:31:19.919
they already had a perspective of life that they can then Express through code and bring to bear upon the problem that
00:31:25.480
you're hiring them for and they're not just you know uh zoned in on that computer science
00:31:31.120
so that that's the best I can think of yeah all right great anybody else thank
00:31:38.960
you so much