SlideShare uma empresa Scribd logo
1 de 35
Baixar para ler offline
Python and Creativity
By:
Marlene Mhangami
May 18th, 2023
AN EXPLORATORY GUIDE
2
Developer Advocate Voltron Data
Vice Chair ACM practitioner board
Previous Vice Chair and Director
for the Python Software
Foundation
@marlene_zw
marlene.bsky.social
marlenemhangami.com
Marlene Mhangami
3
Why Creativity?
4
Why Creativity?
Non-cognitive Abilities of
Exceptional Software
Engineers: A Delphi Study
36 experts from 11 different countries
identified and ranked skills
ACM Technical Symposium 2020
5
02.
03.
01.
Systematically verify assumptions and
validate results
Be curious by wondering why and how
something works
Be creative by approaching a problem
from different angles
Systematically
verify
assumptions
and validate
results
6
02.
03.
01.
Systematically verify assumptions and
validate results
Be curious by wondering why and how
something works
Be creative by approaching a problem
from different angles
Be curious by
wondering why
and how
something
works
7
02.
03.
01.
Systematically verify assumptions and
validate results
Be curious by wondering why and how
something works
Be creative by approaching a problem
from different angles
Be creative by
approaching a
problem from
different angles
8
What Is Creativity?
9
Disney World
Sparkles and Magic
10
A Colorful Code
Editor?
Sparkles and Magic
11
Creativity is the production of novel
and useful ideas by an individual or
group of individuals
‘‘
- ‘A Model of Creativity and Innovation in
Organisations’ Teresa M Amabile, 1988
12
7 Dimensions of Creative Problem Solving
Mind Map
‘Exploring the Role of Creativity in Software
Engineering’ (Groeneveld et al, 2021)
13
Dimensions
▶ Creative Techniques
7 Dimensions of Creative Problem Solving
1. Creative Techniques
14
Dimensions
▶ Creative Techniques
▶ Technical Knowledge
7 Dimensions of Creative Problem Solving
2. Technical Knowledge
15
Dimensions
▶ Creative Techniques
▶ Technical Knowledge
▶ Communication
7 Dimensions of Creative Problem Solving
3. Communication
16
Dimensions
▶ Creative Techniques
▶ Technical Knowledge
▶ Communication
▶ Constraints
7 Dimensions of Creative Problem Solving
4. Constraints
17
Dimensions
▶ Creative Techniques
▶ Technical Knowledge
▶ Communication
▶ Constraints
▶ Critical Thinking
7 Dimensions of Creative Problem Solving
5. Critical Thinking
18
Dimensions
▶ Creative Techniques
▶ Technical Knowledge
▶ Communication
▶ Constraints
▶ Critical Thinking
▶ Curiosity
7 Dimensions of Creative Problem Solving
6. Curiosity
19
Dimensions
▶ Creative Techniques
▶ Technical Knowledge
▶ Communication
▶ Constraints
▶ Critical Thinking
▶ Curiosity
▶ Creative State of Mind
7 Dimensions of Creative Problem Solving
7. Creative State of Mind
20
Being self-driven , excited by the work itself , have a sense of working on something
important
difference between what one can do vs what they will do
Styles of working, styles of thinking, styles of approaching the world
Without these the individual is likely to produce appropriate but not novel ideas
Raw materials available for creativity in a given domain, domain relevant skills
talent, acquired knowledge and technical skills
MOTIVATION
TECHNIQUES
Technical
Knowledge
THE CREATIVITY INTERSECTION
THE AREA OF OVERLAP BETWEEN THESE THREE COMPONENTS IS THE AREA OF HIGHEST CREATIVITY
21
MOTIVATION
(TRANSCENDENCE)
22
23
The results suggest fans empathize with
the competitors to such a degree that
they mentally project themselves into
the game and experience the same
hormonal surges the athletes do
‘‘
- Dr James Dabbs
Georgia State University
24
Motivation
Serena Williams
transcendence
PODCASTS CONFERENCES TWITTER
▶ Talk Python To Me
▶ Real Python
▶ Python Bytes
▶ svpino
▶ tiangolo
▶ MesrenyameDogbe
FIND INSPIRING PYTHONISTAS
Some places to find inspiration
25
▶ PyCon Lithuania
▶ PyCon US
▶ PyCon Ghana
26
TECHNIQUES
27
FEEDBACK
Seeking out input, whether external or self-
reflective
2
ANALOGIES
Mapping solutions from another domain to
your problem field
1
Tools and Techniques
From ‘Exploring the Role of Creativity in Software Engineering’ (Groeneveld et al, 2021)
28
Analogies
Pat Hanrahan
- Founded Tableau Software
(sold to Salesforce for nearly $16
billion)
- Won 3 Academy Awards for his
work on rendering technology
for Pixar
- Stanford Professor
29
Rembrandt
impasto
30
Technical Knowledge
31
Open Source
github.com
32
Resources
Open Source
experiment
github/marlenezw
33
Resources
Open Source
contribute
marlenemhangami.com/how-i-made-
my-first-pr-to-apache-arrow
Sprints on Saturday!
marlene@voltrondata.com
@marlene_zw
Twitter
GENERAL CONTACT
Contact
LinkedIn
marlenemhangami
Thank You!

Mais conteúdo relacionado

Semelhante a PyCon LT .pptx

Lecture 6 Teaching Computational Thinking 2016
Lecture 6 Teaching Computational Thinking 2016Lecture 6 Teaching Computational Thinking 2016
Lecture 6 Teaching Computational Thinking 2016Jason Zagami
 
Data science in 10 steps
Data science in 10 stepsData science in 10 steps
Data science in 10 stepsQuantUniversity
 
How Data-Driven Colleges Improve Enrollments (and Outcomes)
How Data-Driven Colleges Improve Enrollments (and Outcomes)How Data-Driven Colleges Improve Enrollments (and Outcomes)
How Data-Driven Colleges Improve Enrollments (and Outcomes)Josh Braaten
 
Competion-Pack 2023.pdf
Competion-Pack 2023.pdfCompetion-Pack 2023.pdf
Competion-Pack 2023.pdfAimeMoh
 
Competion-Pack 2023.pdf
Competion-Pack 2023.pdfCompetion-Pack 2023.pdf
Competion-Pack 2023.pdfAimeMoh
 
Enterprise Gamification by the Numbers
Enterprise Gamification by the NumbersEnterprise Gamification by the Numbers
Enterprise Gamification by the NumbersAxonify
 
Multidisciplinary @NTUIM
Multidisciplinary @NTUIMMultidisciplinary @NTUIM
Multidisciplinary @NTUIMLucien Lee
 
[#DevRelAsia Keynote 2020] Developer Centric Design for Better Experience
[#DevRelAsia Keynote 2020] Developer Centric Design for Better Experience[#DevRelAsia Keynote 2020] Developer Centric Design for Better Experience
[#DevRelAsia Keynote 2020] Developer Centric Design for Better ExperienceTomomi Imura
 
Conquering Museum Challenges with Design Thinking
Conquering Museum Challenges with Design ThinkingConquering Museum Challenges with Design Thinking
Conquering Museum Challenges with Design ThinkingDana Mitroff Silvers
 
Making Critical Thinking Real with Digital Content - CUE 2017
 Making Critical Thinking Real with Digital Content - CUE 2017 Making Critical Thinking Real with Digital Content - CUE 2017
Making Critical Thinking Real with Digital Content - CUE 2017Julie Evans
 
Healthcare Gamification
Healthcare GamificationHealthcare Gamification
Healthcare GamificationSatyajit Roy
 
Marigo Raftopoulos for DesignSingapore July 2020
Marigo Raftopoulos for DesignSingapore July 2020Marigo Raftopoulos for DesignSingapore July 2020
Marigo Raftopoulos for DesignSingapore July 2020Dr. Marigo Raftopoulos
 
If Universities Won't Help Us, How do we #MakeATester?
If Universities Won't Help Us, How do we #MakeATester?If Universities Won't Help Us, How do we #MakeATester?
If Universities Won't Help Us, How do we #MakeATester?Simon Prior
 
Creativity and AI Report
Creativity and AI ReportCreativity and AI Report
Creativity and AI ReportChris Duffey
 
Creativity & Technology In The Age Of AI
Creativity & Technology In The Age Of AICreativity & Technology In The Age Of AI
Creativity & Technology In The Age Of AIAdobe
 
My Personal Statement On Computer Science
My Personal Statement On Computer ScienceMy Personal Statement On Computer Science
My Personal Statement On Computer ScienceNicolle Dammann
 
Top 10 Rated Gamification Talk Radio Episodes from 2017
Top 10 Rated Gamification Talk Radio Episodes from 2017Top 10 Rated Gamification Talk Radio Episodes from 2017
Top 10 Rated Gamification Talk Radio Episodes from 2017Monica Cornetti
 
Business analysis and customer experience design - a crossroads presented at...
Business analysis and customer experience design - a crossroads  presented at...Business analysis and customer experience design - a crossroads  presented at...
Business analysis and customer experience design - a crossroads presented at...clarityrules
 
Gadgets, Games and Gizmos for Learning: Teach on the Beach
Gadgets, Games and Gizmos for Learning: Teach on the BeachGadgets, Games and Gizmos for Learning: Teach on the Beach
Gadgets, Games and Gizmos for Learning: Teach on the BeachKarl Kapp
 

Semelhante a PyCon LT .pptx (20)

Lecture 6 Teaching Computational Thinking 2016
Lecture 6 Teaching Computational Thinking 2016Lecture 6 Teaching Computational Thinking 2016
Lecture 6 Teaching Computational Thinking 2016
 
Data science in 10 steps
Data science in 10 stepsData science in 10 steps
Data science in 10 steps
 
How Data-Driven Colleges Improve Enrollments (and Outcomes)
How Data-Driven Colleges Improve Enrollments (and Outcomes)How Data-Driven Colleges Improve Enrollments (and Outcomes)
How Data-Driven Colleges Improve Enrollments (and Outcomes)
 
Competion-Pack 2023.pdf
Competion-Pack 2023.pdfCompetion-Pack 2023.pdf
Competion-Pack 2023.pdf
 
Competion-Pack 2023.pdf
Competion-Pack 2023.pdfCompetion-Pack 2023.pdf
Competion-Pack 2023.pdf
 
Enterprise Gamification by the Numbers
Enterprise Gamification by the NumbersEnterprise Gamification by the Numbers
Enterprise Gamification by the Numbers
 
Multidisciplinary @NTUIM
Multidisciplinary @NTUIMMultidisciplinary @NTUIM
Multidisciplinary @NTUIM
 
[#DevRelAsia Keynote 2020] Developer Centric Design for Better Experience
[#DevRelAsia Keynote 2020] Developer Centric Design for Better Experience[#DevRelAsia Keynote 2020] Developer Centric Design for Better Experience
[#DevRelAsia Keynote 2020] Developer Centric Design for Better Experience
 
Conquering Museum Challenges with Design Thinking
Conquering Museum Challenges with Design ThinkingConquering Museum Challenges with Design Thinking
Conquering Museum Challenges with Design Thinking
 
Making Critical Thinking Real with Digital Content - CUE 2017
 Making Critical Thinking Real with Digital Content - CUE 2017 Making Critical Thinking Real with Digital Content - CUE 2017
Making Critical Thinking Real with Digital Content - CUE 2017
 
Healthcare Gamification
Healthcare GamificationHealthcare Gamification
Healthcare Gamification
 
Marigo Raftopoulos for DesignSingapore July 2020
Marigo Raftopoulos for DesignSingapore July 2020Marigo Raftopoulos for DesignSingapore July 2020
Marigo Raftopoulos for DesignSingapore July 2020
 
If Universities Won't Help Us, How do we #MakeATester?
If Universities Won't Help Us, How do we #MakeATester?If Universities Won't Help Us, How do we #MakeATester?
If Universities Won't Help Us, How do we #MakeATester?
 
Creativity and AI Report
Creativity and AI ReportCreativity and AI Report
Creativity and AI Report
 
Creativity & Technology In The Age Of AI
Creativity & Technology In The Age Of AICreativity & Technology In The Age Of AI
Creativity & Technology In The Age Of AI
 
My Personal Statement On Computer Science
My Personal Statement On Computer ScienceMy Personal Statement On Computer Science
My Personal Statement On Computer Science
 
Introduction to Gamification
Introduction to GamificationIntroduction to Gamification
Introduction to Gamification
 
Top 10 Rated Gamification Talk Radio Episodes from 2017
Top 10 Rated Gamification Talk Radio Episodes from 2017Top 10 Rated Gamification Talk Radio Episodes from 2017
Top 10 Rated Gamification Talk Radio Episodes from 2017
 
Business analysis and customer experience design - a crossroads presented at...
Business analysis and customer experience design - a crossroads  presented at...Business analysis and customer experience design - a crossroads  presented at...
Business analysis and customer experience design - a crossroads presented at...
 
Gadgets, Games and Gizmos for Learning: Teach on the Beach
Gadgets, Games and Gizmos for Learning: Teach on the BeachGadgets, Games and Gizmos for Learning: Teach on the Beach
Gadgets, Games and Gizmos for Learning: Teach on the Beach
 

Mais de ssuser59b75e

PyCon Italia 2023.pptx
PyCon Italia 2023.pptxPyCon Italia 2023.pptx
PyCon Italia 2023.pptxssuser59b75e
 
Elephants J on the beach.pptx
Elephants J on the beach.pptxElephants J on the beach.pptx
Elephants J on the beach.pptxssuser59b75e
 
PyCon MEA Arrow Slides.pptx
PyCon MEA Arrow Slides.pptxPyCon MEA Arrow Slides.pptx
PyCon MEA Arrow Slides.pptxssuser59b75e
 
Augmented Reality.pptx
Augmented Reality.pptxAugmented Reality.pptx
Augmented Reality.pptxssuser59b75e
 
Elephants Ibises and a more Pythonic way to work with databases
Elephants Ibises and a more Pythonic way to work with databases Elephants Ibises and a more Pythonic way to work with databases
Elephants Ibises and a more Pythonic way to work with databases ssuser59b75e
 
PyCon Colombia.pptx
PyCon Colombia.pptxPyCon Colombia.pptx
PyCon Colombia.pptxssuser59b75e
 
An Introduction to Apache Arrow for Python Programmers.pptx
An Introduction to Apache Arrow for Python Programmers.pptxAn Introduction to Apache Arrow for Python Programmers.pptx
An Introduction to Apache Arrow for Python Programmers.pptxssuser59b75e
 

Mais de ssuser59b75e (8)

PyCon Italia 2023.pptx
PyCon Italia 2023.pptxPyCon Italia 2023.pptx
PyCon Italia 2023.pptx
 
Elephants J on the beach.pptx
Elephants J on the beach.pptxElephants J on the beach.pptx
Elephants J on the beach.pptx
 
PyCon MEA Arrow Slides.pptx
PyCon MEA Arrow Slides.pptxPyCon MEA Arrow Slides.pptx
PyCon MEA Arrow Slides.pptx
 
Augmented Reality.pptx
Augmented Reality.pptxAugmented Reality.pptx
Augmented Reality.pptx
 
Transcendance
Transcendance Transcendance
Transcendance
 
Elephants Ibises and a more Pythonic way to work with databases
Elephants Ibises and a more Pythonic way to work with databases Elephants Ibises and a more Pythonic way to work with databases
Elephants Ibises and a more Pythonic way to work with databases
 
PyCon Colombia.pptx
PyCon Colombia.pptxPyCon Colombia.pptx
PyCon Colombia.pptx
 
An Introduction to Apache Arrow for Python Programmers.pptx
An Introduction to Apache Arrow for Python Programmers.pptxAn Introduction to Apache Arrow for Python Programmers.pptx
An Introduction to Apache Arrow for Python Programmers.pptx
 

Último

EMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? WebinarEMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? WebinarThousandEyes
 
20140402 - Smart house demo kit
20140402 - Smart house demo kit20140402 - Smart house demo kit
20140402 - Smart house demo kitJamie (Taka) Wang
 
Planetek Italia Srl - Corporate Profile Brochure
Planetek Italia Srl - Corporate Profile BrochurePlanetek Italia Srl - Corporate Profile Brochure
Planetek Italia Srl - Corporate Profile BrochurePlanetek Italia Srl
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightSafe Software
 
The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)IES VE
 
How to become a GDSC Lead GDSC MI AOE.pptx
How to become a GDSC Lead GDSC MI AOE.pptxHow to become a GDSC Lead GDSC MI AOE.pptx
How to become a GDSC Lead GDSC MI AOE.pptxKaustubhBhavsar6
 
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024Alkin Tezuysal
 
Patch notes explaining DISARM Version 1.4 update
Patch notes explaining DISARM Version 1.4 updatePatch notes explaining DISARM Version 1.4 update
Patch notes explaining DISARM Version 1.4 updateadam112203
 
Top 10 Squarespace Development Companies
Top 10 Squarespace Development CompaniesTop 10 Squarespace Development Companies
Top 10 Squarespace Development CompaniesTopCSSGallery
 
The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)codyslingerland1
 
UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3DianaGray10
 
IT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingIT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingMAGNIntelligence
 
UiPath Studio Web workshop series - Day 1
UiPath Studio Web workshop series  - Day 1UiPath Studio Web workshop series  - Day 1
UiPath Studio Web workshop series - Day 1DianaGray10
 
.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptx.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptxHansamali Gamage
 
Scenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenariosScenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenariosErol GIRAUDY
 
How to release an Open Source Dataweave Library
How to release an Open Source Dataweave LibraryHow to release an Open Source Dataweave Library
How to release an Open Source Dataweave Libraryshyamraj55
 
AI Workshops at Computers In Libraries 2024
AI Workshops at Computers In Libraries 2024AI Workshops at Computers In Libraries 2024
AI Workshops at Computers In Libraries 2024Brian Pichman
 
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptxEmil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptxNeo4j
 
Flow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First FrameFlow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First FrameKapil Thakar
 

Último (20)

EMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? WebinarEMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? Webinar
 
20140402 - Smart house demo kit
20140402 - Smart house demo kit20140402 - Smart house demo kit
20140402 - Smart house demo kit
 
Planetek Italia Srl - Corporate Profile Brochure
Planetek Italia Srl - Corporate Profile BrochurePlanetek Italia Srl - Corporate Profile Brochure
Planetek Italia Srl - Corporate Profile Brochure
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)
 
How to become a GDSC Lead GDSC MI AOE.pptx
How to become a GDSC Lead GDSC MI AOE.pptxHow to become a GDSC Lead GDSC MI AOE.pptx
How to become a GDSC Lead GDSC MI AOE.pptx
 
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
 
Patch notes explaining DISARM Version 1.4 update
Patch notes explaining DISARM Version 1.4 updatePatch notes explaining DISARM Version 1.4 update
Patch notes explaining DISARM Version 1.4 update
 
SheDev 2024
SheDev 2024SheDev 2024
SheDev 2024
 
Top 10 Squarespace Development Companies
Top 10 Squarespace Development CompaniesTop 10 Squarespace Development Companies
Top 10 Squarespace Development Companies
 
The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)
 
UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3
 
IT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingIT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced Computing
 
UiPath Studio Web workshop series - Day 1
UiPath Studio Web workshop series  - Day 1UiPath Studio Web workshop series  - Day 1
UiPath Studio Web workshop series - Day 1
 
.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptx.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptx
 
Scenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenariosScenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenarios
 
How to release an Open Source Dataweave Library
How to release an Open Source Dataweave LibraryHow to release an Open Source Dataweave Library
How to release an Open Source Dataweave Library
 
AI Workshops at Computers In Libraries 2024
AI Workshops at Computers In Libraries 2024AI Workshops at Computers In Libraries 2024
AI Workshops at Computers In Libraries 2024
 
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptxEmil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
 
Flow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First FrameFlow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First Frame
 

PyCon LT .pptx

Notas do Editor

  1. first let me start out by explaining why I decided to talk to you today about creativity and how this relates to us all specifically as a software engineers and developers
  2. So in 2020, of course our favorite year, the year of our lord 2020, a group of researchers presented a paper at the ACM’s Technical Symposium. The paper was titled… In their study the researchers invited 36 experts from 11 different countries world-wide, these were people that worked for some of the top institutions in the world, and asked them to identify and rank the top skills needed to be an exceptional software engineer.
  3. From their answers, the technical experts ranked these 3 skills as the top 3 needed to be exceptional. The first skill is to be able to systematically verify… Earlier today we had Samuel Colvin from PyDantic speak and Pydantic is a great way to validate that your data is what you expect it to be. Great software engineers do this more broadly, not just by type checking, but in almost everything they do, so they tend to be detail oriented.
  4. The second skill needed to be an exceptional software engineer is to be curious, wondering why and how things work. I remember going to a talk by a very prominent engineer that leads software teams at an animation company and he shared that when he interviews candidates, in order to see if they’re naturally curious, he asks them how a toilet works. I don’t how many of you in this room…let’s have a show of hands, how many of you would know how to answer that question? I know when I heard the talk, but then I went to look it up. In the talk he said not many people knew the answer, but for exceptional engineers they are often trying to understand how things work, even the most boring mundane things.
  5. The 3rd skill the experts identified as being needed to be exceptional is creativity. Creativity was mentioned several times by these experts and specifically creatively approaching how to solve a problem. And so today we’ll be looking at creativity as an important tool we need to solve the problems we face in software development.
  6. Before we go any further, it’s important that we have a reasonable understanding of what creativity is…
  7. A few weeks ago, I went to Disney world, and I really love disney, of course i just went for the sake of my niece and nephew but I really enjoyed it. I felt very creative, I felt like the people around me were creative, and generally you know when you start floating around, not sure if any of you can relate. -colors - sparkes - magic
  8. So what does this mean for us as software developers? Does this mean that the only way we can be creative is to have a colorful code editor? Well the answer to that is no or you know this talk would just be 5 mins long So how do we define creativity?
  9. One of the most popular definitions of creativity comes from a study done in 1988 about creativity and innovation… Generative AI we’re not going to go into that today
  10. A more recent study done in 2021 that focused specifically on Software Engineering, took a more detail approach and defined 7 dimensions of creativity. Let’s take a quick look at each of these dimensions and see how they would apply to the world of software development.
  11. The first dimension is creative techniques, and in the study they pointed out concreted techniques developers seem to be using, for example mapping ideas from one domain to another, taking a solution that was created in Rust and then applying that same solution in Python is one example of this.
  12. The second dimension is technical knowledge. Creativity is a brew of different inputs, if you don’t have any inputs, you can’t mix and match them to come up with new solutions. An example of inputs would be different frameworks.
  13. The 3rd domains is communication, so not to you have to be technically competent but being able to effectively communicate it in a clear way, for example in order to be more creative you need to work with other people and if you aren’t great at communicating Communicate in a way that will allow other people to understand your ideas and then collectively be more creative
  14. Constraints are another dimension, sometimes constraints actually help up s be more creative than less creative. For example if you’re thinking about making your python code more performant that might help you think more creatively about how to write and structure your code.
  15. The 5th dimension is critical thinking, so being able to look at one way of doing something, lets say you find an answer to a problem on stack overflow. Not just copying and pasting that solution but being able to think critically and coming up with alternative solutions.
  16. Curiosity is the 6th dimension. Like I mentioned earlier this is an important skill for software engineers to have. A big part of curiosity relates to having motivation to get out of our comfort zones. Often times if you don’t feel motivated to be creative and curious, like we saw with the toilet example, if you don’t know someone’s going to ask you how a toilet works it’s unlikely you’ll be curious enough to find out about it
  17. Then finally, for most software engineers to be creative we need to enter a creative state of mind. Some people call this flow state, and it’s often the time you’re most focused, but this can also be things like shower thoughts or aha moments when you’ve just woken up from a nap.
  18. So since we don’t have all the time in the world I wanted to look at some of these dimensions in more detail. I’d like to share some examples of how you can connect to these different dimensions of creativity. So this afternoon we’ll be looking at Motivation, Techniques and Resources.
  19. So lets start with motivation, and when i talk about motivation, I like to think about the idea of transcendence.
  20. To show what i mean by this video clip So I’m not a really big fan of football. But this is a scene that I’ve observed on the television set multiple times. This particular scene is in the UK but this happens here in Zimbabwe too. And my question is what exactly is going on here?
  21. A few years ago the New York Times published an article titled ‘SPORTS PSYCHOLOGY; It Isn't Just a Game.’ Researchers from the article found that many fans can become so tied to their teams that they experience hormonal surges and other physiological changes WATCHING the games, just as much as the athletes playing in them do. one researcher…james dabbs from… I love this idea that we as humans can actually transcend space and time by intentionally watching someone we feel inspired by to the extent where our body actually thinks its in the game. For me when I think of times when I felt this feeling of transcendence, I think of…
  22. Growing up my dad was very into tennis and I remember quite a few days when my whole family would come together to watch a big game. One of my favorite people to watch was Serena Williams. I can clearly remember this one game where I think she was playing at Wimbledon and she had made it to the finals and my whole family was gathered around the television watching. For us as pythonistas where can we find inspiring people?
  23. I want to share a few places I go to find inspiring Pythonistas that motivate me to be more creative
  24. So now that we feel motivated to be creative, let’s talk a bit more in detail about practical techniques to bring out our creativity
  25. There are two categories that the study I mentioned earlier on groups tools and techniques into. Analogies, which is mapping… and feedback which is… One of my favorite examples of someone in the software engineering using the engineering using the mapping technique is…
  26. Pat Hanrahan. For context Pat is the founder of Tableau Software
  27. When I was at Nvidia, Pat came and gave a talk about innovation and creativity and how they’ve played a role in his career. In the talk he shared that some years ago when he was working on the rendering software for Pixar he was trying to figure out how to represent light reflecting on skin. At the time he had a lot of friends who were into art and his own curiosity for art led him to study a dutch artist called Rembrandt. It was when he was studying Rembrandt and the painters of that time, that he discovered that they used a technique in oil painting called impasto. Studying this technique gave him a deeper understanding of how light interacts with translucent surfaces I’ll quote him, directly, he said “Artists, they sort of instinctively figured it out. They don’t know about the physics of light transport. Inspired by this whole idea of Rembrandt’s, I came up with a mathematical model.” And from this model he went on to create this rendering technique that was then used in pixar films like Toy Story and Finding Nemo.
  28. And finally lets how do we grow our technical knowledge. Like I mentioned before creativity is a brew of different inputs. We want to make sure that we have enough technical knowledge and experience to use to be creative.
  29. One way we can grow our technical knowledge and experience is through getting involved in open source Hopefully in this room most of us have used Python or know what it is. What you may not know is that Python is completely open source, so if you wanted to read the code and learn how to build your own version of Python you could go on Github and do that. Or if you’re frustrated by something in Python again you can go on github and create a pull request to change it.
  30. More recently, i’ve been super interested in Machine learning and AI. One way I’ve used open source is to clone the code for the projects I’m interested in and experiment with the project on my machine. On the screen is an example of a machine learning project I used to create a cartoon video version of myself. I also updated the code to make it work how I wanted If you want to play around with this I upload all my code to github and you can find it on my page…
  31. For anyone interested in getting started with open source https://marlenemhangami.com/how-i-made-my-first-pr-to-apache-arrow