HPC kitchen [how-to-learn]: Don't give up in learning computing
Watch on YouTubeVideo summary
The video begins by challenging the common assumption that reading textbooks or completing courses is sufficient to become an expert in any field, using cooking as a relatable analogy. The speaker argues that while following a recipe allows one to produce a basic result, true mastery involves adapting to specific conditions, troubleshooting unexpected issues, and acquiring local knowledge that cannot be found in books. This same principle applies deeply to computing; simply finishing a curriculum does not automatically grant the ability to handle real-world complexities or fill in the gaps between theoretical instruction and practical application.
To bridge this gap between formal education and professional competence, the speaker emphasizes the critical importance of learning through collaboration rather than isolation. Working within teams, research groups, or with friends allows individuals to focus on their current strengths while relying on others to guide them toward areas they have not yet mastered. The transcript illustrates this with examples of how different team members can cover complementary skills, such as one person mastering cluster usage while another provides expertise in storage systems, command lines, and data transfer. This collective approach prevents learners from feeling overwhelmed by trying to understand every topic simultaneously and accelerates the path to self-sufficiency.
The speaker shares personal experiences that reinforce the value of mentorship and community engagement, noting how early interactions with a friend who helped troubleshoot Linux installations were instrumental in their own growth. Similarly, when new members joined research groups, the speaker adopted a supportive role until they became capable independently, at which point they encouraged those individuals to seek answers on their own to foster deeper understanding. Beyond direct mentorship, the video highlights the benefits of observing others by following open-source projects on platforms like GitHub or joining mailing lists, where witnessing development discussions provides practical insights that can be immediately applied to one's own work.
Ultimately, the core message is an encouragement for learners not to give up when faced with difficulties but instead to actively seek out communities and mentors who can support their journey. By forming teams and finding colleagues willing to teach both technical skills and the nuances of the development process, individuals can make their computing careers more productive, enjoyable, and resilient. The speaker concludes by urging everyone to avoid the trap of trying to learn everything alone and to embrace the power of shared knowledge, ensuring that the path forward is smoother and more rewarding for all involved.
Read the full video transcript
Hello. For the next edition of HPC
Kitchen, we're not in the kitchen. It's
more of a little fireside chat thing.
So, I'll start with this initial
question. If I got a bunch of cooking
books and gave them to you and said,
"Read them all and then you went and
read them, do you think you would be an
expert cook?"
Well, probably not. I had a friend that
once said that anyone that can follow a
recipe can be a cook. And I mean, yeah,
I guess if you follow the recipe, you
can get something done. But isn't there
a lot more that's there? Like what you
can do when something isn't quite right
or what happens when um like how to know
really when something is done, how to
adjust the recipe to your own ovens and
stoves and stuff like that. There's lots
of little local knowledge that you can
get by doing the cooking which you just
don't find in books.
And I think the same is through true of
computing.
So
yeah, we have all kinds of courses,
reading material, things like that that
you can take and give to someone and
say, "Okay, you've done this. Now you
can go and do your computing work." But
I think it's not so simple because
there's all kinds of this little like
folk knowledge kind of stuff that is
really helpful and can make your career
much more productive, much more fun and
so on that you just don't pick up by
reading. You pick up by doing and more
important by watching other people do.
So what can we do about this?
So I think that the way of doing this is
by working in groups. So basically a
person can't learn everything they need
to know by themselves or by reading.
Instead the way society works is that we
work in teams. So there's a research
group or friends or colleagues and so
on. And by working with these people you
learn a lot more. You learn all this
little knowledge. you can focus on what
you're learning now and the things you
haven't learned yet. Then someone else
can help you with, can point you in the
right directions and so on. So that way
you can more directly go to your path
instead of trying to um figure out every
topic at the same time. For example, as
I've said before, using a computing
cluster isn't that hard if you're good
at the Linux command line stuff, the
storage system, and so on. But you know
those aren't taught in the courses where
you learn to use the cluster. So you
sort of have to like go together. So
maybe that someone will take the cluster
course, learn that, but then they work
with someone that sort of fills in the
gaps about the storage, the command
line, the data transfer, all of these
kinds of things.
When I began using Linux long ago, the
way it worked, I had a friend and the
friend basically sort of got me started,
helped me figure out what the um the
initial installation kind of things. And
as I was doing stuff, there'd be often
be something I try to do and I just
don't know how it works. So I asked the
friend, "Hey, what about this?" And
they'd say, "Oh, you do it this way.
What about that?" Uh, well, search this
for more information. And this little
bits of help would allow me to move much
faster and get to a point where I was
self-sufficient.
I did the same thing when other people
would start working in my research
groups. Also, so I was there and
basically would help them with the stuff
until they basically ask questions and I
didn't know the answer. And then I told
them, well, okay, I get think that
you're actually kind of self-sufficient
now, and I'm not answering because I
don't want to answer. I'm not answering
because, well, I don't even know where
to look, but you need to go look
yourself. And that worked pretty well.
Another place that I learned a lot of
stuff was just by following other
projects. I'd, for example, go and
subscribe to other open- source projects
on GitHub or join their mailing list.
And just by seeing the way people talked
about this open- source development, I
would learn lots of stuff that I would
slowly go and start using myself in my
own work.
Anyway, that's basically it. So my goal
here is to encourage you. Don't give up
if things seem difficult because yeah,
there is a lot to learn. Don't try to go
by yourself. Instead, try to work with
people. Find friends, find colleagues,
and form a team. Get people to teach you
all these things. Get a good mentor that
mentors you not just on whatever science
you might be doing, if that's the thing,
but the development process and so on.
And hopefully this will make your career
much more enjoyable. So, with that being
said, thanks a lot and see you next
time. Bye.