Aja Hammerly
Sharpening The Axe: Self-Teaching For Developers

Summarized using AI

Sharpening The Axe: Self-Teaching For Developers

Aja Hammerly • March 31, 2016 • Earth

In the talk titled "Sharpening The Axe: Self-Teaching For Developers" presented by Aja Hammerly at Ruby on Ales 2016, the speaker discusses the importance of lifelong learning for developers to avoid career stagnation and maintain engagement in their work. Hammerly highlights her journey through various roles in the tech industry, illustrating how her curiosity and drive for knowledge have been essential in navigating her career. Key points discussed include:

  • Lifelong Learning: The speaker emphasizes that the training received in initial education, whether through college or code schools, is not sufficient for a long-term career in technology. Developers must continuously adapt to the evolving landscape of technology.
  • Curiosity-Driven Learning: Hammerly advocates for learning based on personal interests rather than following a predefined curriculum. This approach not only keeps developers engaged but also enriches their expertise.
  • Focus on Concepts: Instead of merely learning specific programming languages, she advises developers to understand broader concepts, such as different programming paradigms (functional, declarative, and object-oriented programming) and various database designs (relational, object, and document databases). This foundational knowledge allows for a smoother learning curve when tackling new languages or technologies.
  • Sharing Stories and Experiences: Throughout the talk, Hammerly shares personal anecdotes and a reflection on her career transitions, signifying the value of narrating one’s journey in learning and adapting to the demands of the tech industry.
  • Networking and Community Engagement: Hammerly encourages attendees to engage with their communities, such as through Slack channels, to enhance their learning and connect with others in the field.

The overarching message of the presentation is that developers should embrace continual learning to stay relevant and excited in their careers. Through curiosity and a focus on foundational concepts, one can effectively break out of a rut and thrive in the ever-changing tech landscape.

Sharpening The Axe: Self-Teaching For Developers
Aja Hammerly • March 31, 2016 • Earth

Many of us get a few years into our career and get stuck in a rut. Maybe we stop reading about the latest and greatest in tech. Maybe we start managing and do less coding than we'd like. Maybe life gets in the way and coding becomes drudgery. One way to combat this feeling is to focus on learning. I'll share what I've learned about juggling self improvement with being a professional programmer. I'll talk about the courses, tools, books, and other resources I've found most useful. You’ll leave this talk with several ideas for breaking out of your own developer rut.

Ruby on Ales 2016

00:00:13.219 So, I really hoped to bring you guys an actual axe today, but they wouldn't let me through TSA with it, considering that they thought my plastic dinosaurs required extra screening.
00:00:18.869 My name is Aja Hammerly, and I am on GitHub as AjaMiser. I tweet as @AjaHammerly. My phone is very carefully stowed in my bag, and my laptop is not connected to the internet. I genuinely like it when people tweet at me during my talk because I check all the messages afterwards, so you should definitely do that.
00:00:33.000 My blog is at AjaMiser.com, and the slides for a version of this talk are already up there from last week. I will put the PG-13 version of those slides—which is what I'm presenting today—up very shortly.
00:00:44.670 Dealing with wireless problems is a theme for me. I was in Salt Lake and had a bit too much to drink. It turns out that I really like dinosaurs, as this is what happens when you pay a guy in Malaysia to create an icon; you get a giant dinosaur.
00:01:01.620 I work at Google on the Google Cloud Platform. I’m fortunate that two of my lovely coworkers are here with me at this conference. You’re going to hear actual intelligent thoughts from them. For me, you're just going to hear war stories, and I hope that's okay because that has become a Ruby on Ales theme for me. During breaks, feel free to come find me or my coworker Julia with any questions about what we're working on.
00:01:24.750 If you don't want to talk to a real person but prefer to use a keyboard, we have a Slack channel that you should join. There is a Ruby channel with awesome people, like Mike Moore. Because I work at a big company, my lawyer-cat says that any code shared in this talk is copyrighted by Google and licensed under Apache v2.
00:01:39.479 This talk is dedicated to my family, specifically my grandmother. A little bit about me: I started my career as a test engineer. Who here works in testing? It's okay; you can acknowledge it—we love you! Then I became a software engineer in test, a position that only seems to exist in the Pacific Northwest. After that, I was a test engineer again, then my title changed to software developer, but I was still doing test engineering work.
00:02:08.149 Then, I became an ops/release manager, which is essentially herding many developers—approximately the same as herding cats. After that, I was a software development engineer, and now my title is developer advocate. So, why all these crazy title changes?
00:02:32.680 The answer to that question is simple: I hit a point in every job I have where something new and shiny captivates my attention. I want to explore all the things, do something different from my current work, and sometimes I feel bored, burnt out, or just done with what I'm doing.
00:02:48.130 I've learned to enable my curiosity and continually seek new knowledge. This has involved living in a tech city— I’m from Seattle, but I assume most of you are from tech cities as well—being part of the community, and most importantly, constantly learning. That’s what this talk is about.
00:03:31.000 Now, a news flash for some of you, and I hope this doesn’t scare you away from the community: what we learned in whatever training program we had—be it college, an internship, a boot camp, or a code school—is not sufficient for our entire careers.
00:03:39.000 Technology changes. That’s part of why I enjoy it so much; I don’t get bored as I’m constantly doing new things. As people who use and create technology, we must keep up.
00:03:47.220 This concept is often referred to as lifelong learning. If you have a child in elementary school, my guess is that the phrase 'lifelong learners' is probably part of the school’s mission statement. More than anything, lifelong learning has been what has enabled me to stay curious throughout the years.
00:04:22.270 So, what should you be learning? Well, interesting stuff! I don’t spend time learning things that I don't find interesting.
00:04:28.480 My English grammar is pretty bad—I have to have a copy editor for my blog; I really should learn grammar but I find it boring, so I haven’t tackled it yet.
00:04:42.370 Now, I confess that my name is Aja, and I don't know C. And that's okay! One of the study groups I've participated in over the last couple of years was on building your own Lisp in C.
00:04:51.160 I did that to be able to converse with those who knew C, to say, 'Yes, I understand pointers' instead of 'I don’t understand pointers.' Writing actual hard code in C was one of the best things I've done for my credibility in my career.
00:05:07.740 More than just learning hard skills, I emphasize learning about ideas rather than specific skills. This is especially true for those in the first three years of their software or tech career.
00:05:31.600 So, focus on different programming paradigms rather than specific languages. Learn about functional programming, declarative programming, and object-oriented programming. Familiarize yourself with various database designs—relational databases, object databases, document stores. Understanding these concepts will give you the foundation to approach any new challenges.
00:05:51.310 This broad knowledge will allow you to build a scaffold upon which to learn. So, when you encounter a programming language like Lisp, you can say, 'Oh, this is a functional language, and I know the basics of functional programming.'
Explore all talks recorded at Ruby on Ales 2016
+5