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.'