SlideShare a Scribd company logo
1 of 132
Download to read offline
Becoming a Polyglot
Programmer
Through the Eyes of a Freelance Musician
@kickinbahkJosiah Mory
I Came From the
World of Music
Worked as a Sideman
Playing Bass for
Artists and Bands
for 10 years
Studied Music in
College
A place to be exposed
to things I wouldn’t
otherwise study
Writing for choirs and
orchestras
Different than a
Performance-based
School
- most the focus is
how to better play
your instrument
kinda like the
difference between a
Boot Camp or
studying Computer
Science
One is
generally
more practical
The other more
theoretical
My college career had a
lot of theory
and I enjoyed it
No….Not Music
Theory
Okay maybe
that too
a little bit…
the theory of how
music fits together
Can be Many Aspects
• Rhythms
• Notes
• Orchestra
• Band
My Favorite Focus:
Band
interaction between
the Bass and Drums
known as
GROOVE
Theory of Groove
Every Musician
strives for Groove
The listener may not
know what it is
They typically know when it
ISN’T
Different Genres Define it in
Other Ways
Swing
Clave Bubble
Funky
All Reference different
Types of Groove
“If you gotta ask you'll never know”
- Louie Armstrong
To Understand the Groove
You have to Listen
Immerse into the
Thinking
the Feeling
“Experts in a particular field can
often instantly know that something
is right, but they can’t explain why.”
- Malcolm Gladwell, Blink: The Power
of Thinking Without Thinking
Immersion
allows reaction
Know what others are
doing
Informs how my part Interacts
with the rest of the band
just Like I immersed
myself in a Style
by Listening to
Records
Talking with
other Musicians
Going to Live shows
I immerse Myself
in a programming
Language by:
• Podcasts
• Meetups
• Conferences/code Camps
great ways to
learn
While Those are
Important
YOU
HAVE
TO
PRACTICE
I wasn’t Born
writing Ruby
Just Like I wasn’t
Born Playing a Samba
They are Skills I had
to Gain
Practice is solving some
small known problem
Never on the
Gig
Practicing in music
happens at different Speeds
start Slow and get
Faster
(Developing finger Dexterity and Reaction)
start Fast and go
Slower
(Checking for good Technique)
What does this look
like in coding?
Solve simple, known
problems
to find New and
Unique solutions
My Favorite Practice Tool:
Exercism.io
Different ways to solve
the Same Problem
It Always comes
Back to the time I
give
More Valuable than
my Role
Understanding
the Goal of the Drummer
How can I
complement the rhythm?
Play with the Kick
Drum
Play off the Kick Drum
I thought beyond
my Role
To how the music was
Best served
Know the Rules…
then
Break them
Start Idiomatic
I enjoyed this
Process
taking Idioms from
other Genres
Taking Idioms from
other instruments
While they seemed
unique and
creative
Using Common
Solutions for One
Language
Solving problem
Uniquely in a Different
Language
Creativity starts in
knowing the typical
Solution
then Solving a
different way
Polyglot - using or
knowing multiple
languages
Knowledge of Other
Languages Allows Me to
Approach Problems
Differently
Allows me to be
involved in the
conversation
and How my part
can complement
the others
Allows for
communication
Rather than a war over
how to achieve a goal
More and More
Projects are Polyglot
The better I
Understand how my
part fits
The better job I can
do to serve the
project
Could Be Simply
Where Logic is
Handled
• Front-End
• Back-end
• Component
OR
What have I learned
from “insert Language”
that I can apply Here
Sometimes there
was an opportunity
to learn on the Job
More often, I had to
put in the time to learn
it on my own first
Before I was ready
to use it on the gig
Advantage:
Learning on your own
allows you to find
languages which speak
to you
As with any time you fall in love,
it’s difficult to explain why.
It (Ruby) just worked the way I work,
and it had enough depth to keep me
interested.
Fast forward 15 years. All that time I’d been
looking for something new that gave me the
same feeling.
- Dave Thomas (on Elixir)
I think that people should use
whatever gets them excited.
Pick something, anything, and just try
it. If you don’t like it, try something
else. Humans are all different, and
there’s no single answer here.
- Steve Klabnik (on learning languages)
The Languages we
use are just tools
Not Religion
Or the way to
Enlightenment
It’s not the tools that you have
faith in - tools are just tools.
They work or don’t work.
-Steve Jobs
Ruby Jobs may not
be Popular Forever
Am I the lucky one
that works on a RoR
project for 20 yrs?
Is that so lucky?
I never wanted
to be part of a
Cover Band
I wanted to make
New and
Interesting music
Just as it has changed
before, the world
will keep changing
At The End of the Day…
The value of a
performance is
judged on the way
People feel
Our software is
judged on the way
People feel
The fact that I
understand ‘groove’ did
not matter to an audience
they just want to
Dance
or experience
some emotion
The people I work
with did appreciate it
Software should move
people in the same way
They don’t care that I use
Ruby, C#, Rust, Elixir,
Go, C++, Javascript…
Okay they may care
about javascript
But my knowledge of
Theory
Allows me to approach
a problem in better
ways
In more Creative
Ways
Exploring Other
Languages
Recap:
More Valuable than
my Role
Find Creative
Solutions (Break Rules)
Communicate with
those I Work
Opens up
Opportunities
provide a better
experience for users and
those I work with
Thank You!
Hire me :)
kickinbahk.com @kickinbahk
Thanks to:
Saron
Yitbarek
Judd
Lillestrand

More Related Content

Similar to Becoming a Polyglot Programmer Through the Eyes of a Freelance Musician

CTW Arsenal Report: Take 1: I’m an Artist
CTW Arsenal Report: Take 1: I’m an ArtistCTW Arsenal Report: Take 1: I’m an Artist
CTW Arsenal Report: Take 1: I’m an ArtistCHVNGE THE WORLD RECORDS
 
Senior seminar script final
Senior seminar script finalSenior seminar script final
Senior seminar script finalNawalertr
 
Senior Seminar Interview Script
Senior Seminar Interview ScriptSenior Seminar Interview Script
Senior Seminar Interview ScriptChoSukYoung
 
Final Presentation Video Script
Final Presentation Video Script Final Presentation Video Script
Final Presentation Video Script melbel93
 
Technology Counts... With Numbers (A Personal School Project)
Technology Counts... With Numbers (A Personal School Project)Technology Counts... With Numbers (A Personal School Project)
Technology Counts... With Numbers (A Personal School Project)Sophia Castillo
 
English through music
English through musicEnglish through music
English through musicJuan Suarez
 
Senior sem presentation script
Senior sem presentation scriptSenior sem presentation script
Senior sem presentation scriptjenniferpurgill
 
Learning Vocabulary Through Music
Learning Vocabulary Through MusicLearning Vocabulary Through Music
Learning Vocabulary Through MusicTenec02
 
Music model class
Music model classMusic model class
Music model classIsabel
 
Teaching Listening to College Students
Teaching Listening to College StudentsTeaching Listening to College Students
Teaching Listening to College Studentsm nagaRAJU
 
Week 6b - Sound and Arrangement
Week 6b - Sound and ArrangementWeek 6b - Sound and Arrangement
Week 6b - Sound and ArrangementNick Braae
 
Senior Seminar Presentation Script
Senior Seminar Presentation ScriptSenior Seminar Presentation Script
Senior Seminar Presentation Scriptjenniferpurgill
 
So you're gifted webquest
So you're gifted webquestSo you're gifted webquest
So you're gifted webquestalicat12
 
Alexander Technique For Musicians
Alexander Technique For MusiciansAlexander Technique For Musicians
Alexander Technique For MusiciansBeatrice Diepold
 
CONCERT CRITIQUE GUIDELINES Questi.docx
      CONCERT CRITIQUE GUIDELINES   Questi.docx      CONCERT CRITIQUE GUIDELINES   Questi.docx
CONCERT CRITIQUE GUIDELINES Questi.docxShiraPrater50
 

Similar to Becoming a Polyglot Programmer Through the Eyes of a Freelance Musician (20)

CTW Arsenal Report: Take 1: I’m an Artist
CTW Arsenal Report: Take 1: I’m an ArtistCTW Arsenal Report: Take 1: I’m an Artist
CTW Arsenal Report: Take 1: I’m an Artist
 
Senior seminar script final
Senior seminar script finalSenior seminar script final
Senior seminar script final
 
Senior Seminar Interview Script
Senior Seminar Interview ScriptSenior Seminar Interview Script
Senior Seminar Interview Script
 
Final article
Final articleFinal article
Final article
 
Listening ppt
Listening pptListening ppt
Listening ppt
 
Final Presentation Video Script
Final Presentation Video Script Final Presentation Video Script
Final Presentation Video Script
 
Technology Counts... With Numbers (A Personal School Project)
Technology Counts... With Numbers (A Personal School Project)Technology Counts... With Numbers (A Personal School Project)
Technology Counts... With Numbers (A Personal School Project)
 
Christopher French's PPP Presentation
Christopher French's PPP PresentationChristopher French's PPP Presentation
Christopher French's PPP Presentation
 
English through music
English through musicEnglish through music
English through music
 
Senior sem presentation script
Senior sem presentation scriptSenior sem presentation script
Senior sem presentation script
 
Learning Vocabulary Through Music
Learning Vocabulary Through MusicLearning Vocabulary Through Music
Learning Vocabulary Through Music
 
Music model class
Music model classMusic model class
Music model class
 
405,23.docx
405,23.docx405,23.docx
405,23.docx
 
Teaching Listening to College Students
Teaching Listening to College StudentsTeaching Listening to College Students
Teaching Listening to College Students
 
Week 6b - Sound and Arrangement
Week 6b - Sound and ArrangementWeek 6b - Sound and Arrangement
Week 6b - Sound and Arrangement
 
Senior Seminar Presentation Script
Senior Seminar Presentation ScriptSenior Seminar Presentation Script
Senior Seminar Presentation Script
 
So you're gifted webquest
So you're gifted webquestSo you're gifted webquest
So you're gifted webquest
 
Alexander Technique For Musicians
Alexander Technique For MusiciansAlexander Technique For Musicians
Alexander Technique For Musicians
 
CONCERT CRITIQUE GUIDELINES Questi.docx
      CONCERT CRITIQUE GUIDELINES   Questi.docx      CONCERT CRITIQUE GUIDELINES   Questi.docx
CONCERT CRITIQUE GUIDELINES Questi.docx
 
Pyp Train
Pyp TrainPyp Train
Pyp Train
 

Recently uploaded

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 

Recently uploaded (20)

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 

Becoming a Polyglot Programmer Through the Eyes of a Freelance Musician