Fountainheads Stay Awake keynote presentatie voor Improve Quality Services
Keynote talk: How to stay in love with programming (with notes)
-
Upload
camille-fournier -
Category
Technology
-
view
2.292 -
download
0
description
Transcript of Keynote talk: How to stay in love with programming (with notes)
1
We are all here because we are passionate people, and programming is our passion. It is most likely also going to be your career, at least for a period of <me. There’s a saying that “the quickest way to lose interest in something is to make it your job” How do you maintain that passion and joy for programming throughout the years of your career?
2
I will tell you about my personal journey of passion, and some of my own wins and challenges that have led me through my career. I’m so happy to give this talk aGer Mike’s excellent keynote yesterday, because I believe in many ways our talks are a Yin and Yang to each other. Mike’s key to advancement is obsession. My key to advancement has been observa<on. Each has some of the other in it, but one will probably resonate more closely to you. S<ll, I think between the two of us we’ll cover the field. Let’s get started.
3
Programming is magic! It is the closest thing to being a wizard in this modern world.
4
It’s not easy, at <mes it is extremely discouraging.
5
How do you s<ck with it through good <mes and bad, richer, poorer, sickness and health? Programming doesn’t love you back, so it is all about your personal journey to love.
6
My journey begins at the beginning. The beginning of love is generally infatua<on, and also frequently frustra<on.
7
Started playing in high school Wen to college for computer science Was in love with the idea of programming, at least Many different ideas AI Theory Programming Languages Compilers
8
I got through undergrad partly through sheer determina<on Took a full <me job in an area I thought would be interes<ng I floundered Went to graduate school intending to work in PL/Compilers Wasn’t any good at it Switched to computer architecture And a bit of opera<ng systems I was in fact pre]y good in a course called Distributed Systems, but that wasn’t a very “cool” area, so I didn’t think to pursue that. But realized I wasn’t a great grad student
9
AGer over 8 years, undergrad, full <me work, countless internships, and finally graduate school, I was wondering when I would ever find my calling. Maybe this just wasn’t for me. I took the LSATs and pondered my next move.
10
I took a job in finance, not knowing anything about finance. Instead of trying to pretend I knew everything, I went into that job assuming I knew nothing, and just asked a bunch of dumb ques<ons whenever I was confused.
11
Up un<l this point I was dominated by my “shoulds” I should be good at programming languages I should be a good graduate student I should be able to do it without help I should know it all already Stop judging yourself. In reality, I didn’t know enough to know what was “hard” and what wasn’t, what was cool and what wasn’t I had to give up my expecta<ons of myself, and discovered that I liked wri<ng code that delivered clear business value. I liked working in an itera<ve way. I didn’t really care about finance, but I liked being connected to a business. That distributed systems stuff that I was good in grad school turned out to be something I was good at in the real world, too, and I accidentally happened upon a major trend in compu<ng without realizing it.
12
I learned the intricacies of Java I learned Unit Tes<ng! I learned garbage collec<on and libraries and my IDE
13
The obstacle between me and solving problems was no longer me! I achieved mastery.
14
What is mastery? What does it look like? It doesn’t come fast or cheap, it takes focus and years. For me, it happened about 10 years in. I don’t know the exact number, but I know that it takes <me. It looks like understanding the details of your language. Understanding the garbage collector, or the details of the STL, or what exactly the GIL means for your programs. Knowing what libraries are solid, which are suspect. Importantly knowing how to get shit done efficiently in your language of choice. Mastery will sustain you throughout your career, if you go into management and get away from hands-‐on programming, it will never totally go away.
15
Mastery is so key, but it isn’t the only thing. As you con<nue in your career, other things become important in a way that isn’t as prominent when you’re s<ll growing.
16
A more recent part of my career was leaving the job I had loved for many years at Goldman Sachs to go to a startup I was missing a value alignment: I value transparency, and banks do not Wanted to work in public Wanted to go to a place where I felt as an engineer I could make a huge difference An engineer of the world, not a par<cular company
17
Allowed to be crea<ve in your own way, have your own style Mike’s keynote yesterday was awesome wasn’t it? I wish I could be that guy, but I have accepted that I will never be that guy (and I will never be Mike, for that ma]er). I’m not an obsessive, but I am an observer. You don’t have to be “original” to be crea<ve Expose yourself to new things, if only to remind yourself that the old things aren’t that bad Side projects are not a requirement.
18
You don’t have to work for a company whose product you find purpose in, but finding the job role that you find purpose in is important. Align what mo<vates you to your job <tle and company. I like to build soGware that moves a business forward. You may like to find secrets in data, or to help developers do their jobs be]er, or to create beau<ful interfaces that people love to use. You are more affected by the values of your company and the purpose of your job internally than the thing the company does. Find purpose externally, in higher-‐order work, that leads to empathy: Write blog posts Give talks Mentor Volunteer Work in open source Cheer on your friends
19
20
Growth, to give you confidence Authen<city, to align your values and be true to yourself And Purpose, to direct your passions and to go outside of yourself and see the world through other eyes
21