SlideShare a Scribd company logo
How To Stay in Love With
Programming
A personal history lesson
Camille Fournier
@skamille
!!con 2014
Programming is one of the few
passions that you can easily carry
into a career.
This is a story of my journey.
Programming is magic, but...
You will hit many ups and downs.
What is the secret to staying in love
over all these years?
ACT I: INFATUATION AND
FRUSTRATION
Falling in love was (relatively) easy.
Playing the field is fun, but when
am I going to find my thing?
Have I made a terrible mistake?
ACT II: GROWTH
I let go of assumptions and
accidentally achieved beginner’s mind.
I focused wholly on the task at
hand and really learned my tools.
With a little help from my mentors…
I found the confidence that I could
solve any problem.
Mastery
ACT III: AUTHENTICITY AND
PURPOSE
Understand your values, and
follow them.
Keynote talk: How to stay in love with programming
Find purpose both in and out of
your job.
Programming is magic, so...
Rely on growth, authenticity and
purpose to stay in love through the
years.

More Related Content

PPTX
So You Want to Rewrite That...
PDF
Hopelessness and Confidence in Distributed Systems Design
PPTX
Becoming a Multiplier
PDF
The Elements of Scaling
PPTX
Operations-Driven Web Services at Rent the Runway
PPTX
Zoo keeper for ricon
PDF
Building Engaged Teams in 2017
PPTX
A People's History of Microservices
So You Want to Rewrite That...
Hopelessness and Confidence in Distributed Systems Design
Becoming a Multiplier
The Elements of Scaling
Operations-Driven Web Services at Rent the Runway
Zoo keeper for ricon
Building Engaged Teams in 2017
A People's History of Microservices

Similar to Keynote talk: How to stay in love with programming (19)

PPTX
The Accidental Instructional Designer #Training18
PPTX
Careers in eLearning: Moving from Accident to Intention
PPT
Top 10 Things I Learned In Pubs
PPT
Top 10 Things I Learned In Pubs
PPTX
Top 10 Things I Learned In Pubs
PPTX
Top 10 Things I Learned In Pubs
PPTX
Top 10 Things I Learned In Pubs
PDF
So, they say the CFO is not good at presenting
PDF
Be Tempting Guide
PPTX
Final 10 Things
PPTX
Final 10 Things
PPTX
Practicum Final
PPTX
Practicum Final
PPTX
Practicum Final Fall 2009
DOC
Module 5 V3
PPTX
The Accidental Instructional Designer at #trgconf
PDF
11 Sure Fire Career Killers
PPTX
6 Tips & Tricks To Motivate Your Animation
PPTX
SOP tips - Tips to write a good SOP
The Accidental Instructional Designer #Training18
Careers in eLearning: Moving from Accident to Intention
Top 10 Things I Learned In Pubs
Top 10 Things I Learned In Pubs
Top 10 Things I Learned In Pubs
Top 10 Things I Learned In Pubs
Top 10 Things I Learned In Pubs
So, they say the CFO is not good at presenting
Be Tempting Guide
Final 10 Things
Final 10 Things
Practicum Final
Practicum Final
Practicum Final Fall 2009
Module 5 V3
The Accidental Instructional Designer at #trgconf
11 Sure Fire Career Killers
6 Tips & Tricks To Motivate Your Animation
SOP tips - Tips to write a good SOP
Ad

Recently uploaded (20)

PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Machine learning based COVID-19 study performance prediction
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Review of recent advances in non-invasive hemoglobin estimation
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Electronic commerce courselecture one. Pdf
PPTX
Cloud computing and distributed systems.
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Encapsulation theory and applications.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Approach and Philosophy of On baking technology
PDF
Empathic Computing: Creating Shared Understanding
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Machine learning based COVID-19 study performance prediction
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Review of recent advances in non-invasive hemoglobin estimation
The AUB Centre for AI in Media Proposal.docx
Electronic commerce courselecture one. Pdf
Cloud computing and distributed systems.
Per capita expenditure prediction using model stacking based on satellite ima...
Encapsulation_ Review paper, used for researhc scholars
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Encapsulation theory and applications.pdf
NewMind AI Weekly Chronicles - August'25 Week I
Network Security Unit 5.pdf for BCA BBA.
Approach and Philosophy of On baking technology
Empathic Computing: Creating Shared Understanding
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Diabetes mellitus diagnosis method based random forest with bat algorithm
Ad

Keynote talk: How to stay in love with programming

Editor's Notes

  • #3: 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 time.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?
  • #4: 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 after 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 observation. Each has some of the other in it, but one will probably resonate more closely to you. Still, I think between the two of us we’ll cover the field. Let’s get started.
  • #5: Programming is magic! It is the closest thing to being a wizard in this modern world.
  • #6: It’s not easy, at times it is extremely discouraging.
  • #7: How do you stick with it through good times and bad, richer, poorer, sickness and health? Programming doesn’t love you back, so it is all about your personal journey to love.
  • #8: My journey begins at the beginning.The beginning of love is generally infatuation, and also frequently frustration.
  • #9: Started playing in high schoolWen to college for computer scienceWas in love with the idea of programming, at leastMany different ideasAITheoryProgramming LanguagesCompilers
  • #10: I got through undergrad partly through sheer determinationTook a full time job in an area I thought would be interestingI flounderedWent to graduate school intending to work in PL/CompilersWasn’t any good at itSwitched to computer architectureAnd a bit of operating systemsI was in fact pretty 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
  • #11: After over 8 years, undergrad, full time 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.
  • #13: Up until this point I was dominated by my “shoulds”I should be good at programming languagesI should be a good graduate studentI should be able to do it without helpI should know it all alreadyStop judging yourself. In reality, I didn’t know enough to know what was “hard” and what wasn’t, what was cool and what wasn’tI had to give up my expectations of myself, and discovered that I liked writing code that delivered clear business value. I liked working in an iterative 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 computing without realizing it.
  • #14: I learned the intricacies of JavaI learned Unit Testing!I learned garbage collection and libraries and my IDE
  • #15: The obstacle between me and solving problems was no longer me!I achieved mastery.
  • #16: 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 time.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.
  • #17: Mastery is so key, but it isn’t the only thing. As you continue in your career, other things become important in a way that isn’t as prominent when you’re still growing.
  • #18: A more recent part of my career was leaving the job I had loved for many years at Goldman Sachs to go to a startupI was missing a value alignment: I value transparency, and banks do notWanted to work in publicWanted to go to a place where I felt as an engineer I could make a huge differenceAn engineer of the world, not a particular company
  • #19: Allowed to be creative in your own way, have your own styleMike’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 matter). I’m not an obsessive, but I am an observer. You don’t have to be “original” to be creativeExpose yourself to new things, if only to remind yourself that the old things aren’t that badSide projects are not a requirement.
  • #20: 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 motivates you to your job title and company. I like to build software that moves a business forward.You may like to find secrets in data, or to help developers do their jobs better, or to create beautiful 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 postsGive talksMentorVolunteerWork in open sourceCheer on your friends
  • #22: Growth, to give you confidenceAuthenticity, to align your values and be true to yourselfAnd Purpose, to direct your passions and to go outside of yourself and see the world through other eyes