Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Lessons in Leadership: Python, AI, and Heuristics

Lessons in Leadership: Python, AI, and Heuristics

Presented as a keynote for PyCon Uganda 2024.

This presentation discusses what characteristics make an effective leader, how to lead through change, and how Python, AI, and Heuristics help leaders.

Carol Willing

October 13, 2024
Tweet

More Decks by Carol Willing

Other Decks in Technology

Transcript

  1. Lessons in Leadership PyCon Uganda Oct. 13, 2024 Python, AI,

    and Heuristics  1 Carol Willing speakerdeck.com/willingc https://hachyderm.io/@willingc
  2. Carol Willing Python Core Developer Python Steering Council (three terms)

    Python Software Foundation Fellow Jupyter Core Developer 2017 ACM Software System Award Papermill Maintainer pyOpenSci Advisory Board Chan Zuckerberg Open Science Board Quansight Labs Board Former VP of Engineering, Noteable
  3. 4 Lessons for Leaders 1. De fi ning leadership 2.

    Leading through change 3. Leading with Python 4. Leading with AI 5. Leading with heuristics 6. Wrap up: Learning to lead
  4. 7

  5. 8

  6. 9

  7. 10

  8. 11

  9. 12

  10. 14 Aisha @AishaXBello Lifelong Learner Leader in Web, Data Science,

    and Systems https://www.youtube.com/watch?v=TKK4ZjCux1I&t=18s
  11. Pragmatic Python © 2023 by Carol Willing is licensed under

    CC BY 4.0 Insider 2021 To encourage women, we need to show and make role models and mentors accessible to them," said Abigail Dogbe, a fellow at the Python Software Foundation and lead organizer of PyLadies Ghana. Abigail
  12. 24 Joannah Core Developer Sprint @ Bloomberg Core Developer PSF

    Fellow Former PSF Director Expert in Garbage Collection and Python C Extensions https://dl.acm.org/doi/pdf/10.1145/3605158.3605849
  13. 25 o ff ers grace works toward what's possible gains

    strength through trust empowers people welcomes individuals shares knowledge shows up A leader...
  14. Developer decisions What should I learn? Which tool is best?

    How do I use this tool? When do I use this tool? 28
  15. Paradigm shifts evolve over time. 30 Think in years, not

    months or days. https://www.mckinsey.com/capabilities/quantumblack/our-insights/the-state-of-ai 2017 2024
  16. Create a toolbox 35 Generated by ChatGPT 4o: make an

    image of a toolbox containing the words Python, AI, Heuristics
  17. Strengths of Python Solid Foundation 38 1. Readability 2. Extensive

    Standard Library 3. Large ecosystem 4. Cross-platform compatibility 5. Community support 6. Versatility 7. Rapid prototyping 8. Integrates with other languages 9. Typing fl exibility 10. Multidomain: web, science, data science, education, embedded
  18. Modernize mobile iOS, Android 39 Python https://peps.python.org/pep-0730/ PEP 730 –

    Adding iOS as a supported platform PEP 738 – Adding Android as a supported platform https://peps.python.org/pep-0738/
  19. Pragmatic Python © 2023 by Carol Willing is licensed under

    CC BY 4.0 Scaling Notebooks for Teaching and Research: JupyterHub and mybinder.org https://conference.scipy.org/proceedings/scipy2018/pdfs/project_jupyter.pdf Try it yourself https://mybinder.org
  20. 43 https://www.candc.or.jp/en/2023/2023_prize_cc.html Gratitude 2023 NEC C&C Prize Thank you, Guido,

    for creating Python. You allowed me to ful fi ll my professional dream of giving people around the world access to learning resources. With Python, we created Jupyter Notebooks, JupyterHub, and Binder.
  21. Leading with Python 44 Strengths Performance Polyglot Mobile and Web

    Innovation User success Python provides a solid foundation.
  22. 47

  23. AI is a tool. AI is not a person. A

    person chooses an AI tool. An AI tool has limitations. Fit the tool to the job. Minimize the harm done by the tool. 49 ABCs
  24. LLMs Black box or not 50 AI https://youtu.be/jkrNMKz9pWU A Hackers

    Guide to Language Models by Jeremy Howard LLM https://github.com/fastai/lm-hackers https://fastai.github.io/lm-hackers/lm-hackers.html Input Output
  25. Understanding is key "We all are data people." • Context

    • Use case • Limitations • Criticality • Access 51 AI https://youtu.be/GBycch2OSx8 Interview with Scott Hanselman
  26. Accelerating Science Decision support and idea generation 52 AI https://chanzuckerberg.com/blog/priscilla-chan-update-ai-biomedical-research/

    https://tech.chanzuckerberg.com/scitech/ Universal Sequence-Based Embeddings Universal embeddings of cells and organelles from microscope images Explore the molecular underpinnings of human health and disease
  27. Leading with AI 53 ABCs Not a person Evolved over

    time Open source to closed commercial o ff erings Transparent and trusted Literate Understanding Critical thinking LLMs are tools with tradeo ff s. Consider bene fi ts and pitfalls.
  28. Heuristics 55 • Real-world experience • Use when information is

    unknown, overwhelming, or random • Understandable • Pragmatic • Low friction to use
  29. Ten Software Development Heuristics Rules of Thumb 56 1. YAGNI

    (You Aren’t Gonna Need It) 2. Divide and Conquer: Break down complex problems 3. KISS (Keep It Simple, Superheroes): Avoid complexity 4. User-Centric Design: Focus on the end-user 5. Fail Fast: Detect errors early
  30. Ten Software Development Heuristics Rules of Thumb 57 6. Incremental

    development: feedback and adjustments 7. CI/CD: Catch errors early 8. DRY (Don't Repeat Yourself) 9. Code smells 10. Refactoring: Improve without changing behavior
  31. Problem-solving decisions SCAMPER 61 • Substitute • Combine • Adapt

    • Modify • Put to another use • Eliminate • Reverse https://www.designorate.com/a-guide-to-the-scamper-technique-for-creative-thinking/
  32. Learning 62 Cognitive Science Tips Python Code vs Pythonic Code

    Heather Crawford - PyTexas 2024 Experts recognize Beginners reason The human mind works quite di ff erently than a computer. Brown, Neil C. C., Felienne F. J. Hermans, and Lauren E. Margulieux. “10 Things Software Developers Should Learn about Learning.” Communications of the ACM 67, no. 1 (January 2024): 78–87. https://doi.org/10.1145/3584859. https://www.youtube.com/watch?v=RdkhRfRizf0
  33. Leading with Heuristics 63 Rules of thumb Useful Easy to

    apply Real-world experience Heuristics save time when a problem is large in scope with lots of uncertainty
  34. 64 6. Learning to lead Python AI Heuristics Time saving

    tools Transparent and trusted tools Proven language and tools
  35. Impact your world 69 Instead of imagining that our main

    task is to instruct a computer what to do, let us concentrate rather on explaining to human beings what we want a computer to do. – Donald E. Knuth, Literate Programming (1984)
  36. 74 Brown, Neil C. C., Felienne F. J. Hermans, and

    Lauren E. Margulieux. “10 Things Software Developers Should Learn about Learning.” Communications of the ACM 67, no. 1 (January 2024): 78–87. https://doi.org/10.1145/3584859. Cai, Carrie J., and Philip J. Guo. “Software Developers Learning Machine Learning: Motivations, Hurdles, and Desires.” In 2019 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), 25–34. Memphis, TN, USA: IEEE, 2019. https:// doi.org/10.1109/VLHCC.2019.8818751. Chakravorti, Bhaskar. “AI’s Trust Problem.” Harvard Business Review, May 3, 2024. https://hbr.org/2024/05/ais-trust-problem. Cogo, Filipe Roseiro, Xin Xia, and Ahmed E. Hassan. “Assessing the Alignment between the Information Needs of Developers and the Documentation of Programming Languages: A Case Study on Rust.” ACM Transactions on Software Engineering and Methodology 32, no. 2 (April 30, 2023): 1–48. https://doi.org/10.1145/3546945. Deters, Hannah, Jakob Droste, and Kurt Schneider. “A Means to What End? Evaluating the Explainability of Software Systems Using Goal-Oriented Heuristics.” In Proceedings of the 27th International Conference on Evaluation and Assessment in Software Engineering, 329–38. Oulu Finland: ACM, 2023. https://doi.org/10.1145/3593434.3593444. Ding, Jiepin, Mingsong Chen, Ting Wang, Junlong Zhou, Xin Fu, and Keqin Li. “A Survey of AI-Enabled Dynamic Manufacturing Scheduling: From Directed Heuristics to Autonomous Learning.” ACM Computing Surveys 55, no. 14s (December 31, 2023): 1–36. https://doi.org/10.1145/3590163. Donoho, David. “Data Science at the Singularity.” Harvard Data Science Review 6, no. 1 (January 31, 2024). https://doi.org/10.1162/99608f92.b91339ef. Dutta, Subhabrata, and Tanmoy Chakraborty. “Thus Spake ChatGPT.” Communications of the ACM 66, no. 12 (December 2023): 16–19. https://doi.org/10.1145/3616863. Eng, Richard Kenneth. “How to Measure Programming Language Complexity,” n.d., 4. Forrester, Jay W. “Digital Computers: Present and Future Trends.” In Papers and Discussions Presented at the Dec. 10-12, 1951, Joint AIEE-IRE Computer Conference: Review of Electronic Digital Computers on - AIEE-IRE ’51, 109–14. Philadelphia, Pennsylvania: ACM Press, 1951. https://doi.org/10.1145/1434770.1434789. Gonzalez, Eric. “Improvisational Research: How I Learned to Stop Worrying and Embrace Uncertainty.” XRDS: Crossroads, The ACM Magazine for Students 30, no. 3 (March 2024): 10–11. https://doi.org/10.1145/3652615. Gosline, Renée Richardson, Yunhao Zhang, Haiwen Li, Paul Daugherty, Arnab D. Chakraborty, Philippe Roussiere, and Patrick Connolly. “Nudge Users to Catch Generative AI Errors.” MIT Sloan Management Review, May 29, 2024. https://sloanreview.mit.edu/ article/nudge-users-to-catch-generative-ai-errors/. Guo, Philip J. “Six Opportunities for Scientists and Engineers to Learn Programming Using AI Tools Such as ChatGPT.” Computing in Science & Engineering 25, no. 3 (May 2023): 73–78. https://doi.org/10.1109/MCSE.2023.3308476. Guzdial, Mark, and Daniel Reed. “Securing the Future of Computer Science; Reconsidering Analog Computing.” Communications of the ACM 56, no. 4 (April 2013): 12–13. https://doi.org/10.1145/2436256.2436260. Hao, Karen. “Inside the Fight to Reclaim AI from Big Tech’s Control | MIT Technology Review.” Accessed June 24, 2021. https://www.technologyreview.com/2021/06/14/1026148/ai-big-tech-timnit-gebru-paper-ethics/. Hinsen, Konrad. “The Approximation Tower in Computational Science: Why Testing Scientific Software Is Difficult.” Computing in Science & Engineering 17, no. 4 (July 2015): 72–77. https://doi.org/10.1109/MCSE.2015.75. ———. “The Power to Create Chaos.” Computing in Science & Engineering 18, no. 4 (July 2016): 75–79. https://doi.org/10.1109/MCSE.2016.67. Hope, Tom, Doug Downey, Daniel S. Weld, Oren Etzioni, and Eric Horvitz. “A Computational Inflection for Scientific Discovery.” Communications of the ACM 66, no. 8 (August 2023): 62–73. https://doi.org/10.1145/3576896. Jacobs, Adam. “The Pathologies of Big Data.” Communications of the ACM 52, no. 8 (August 2009): 36–44. https://doi.org/10.1145/1536616.1536632. Kesari, Ganes. “Building a Data-Driven Culture: Three Mistakes to Avoid.” MIT Sloan Management Review, May 14, 2024. https://sloanreview.mit.edu/article/building-a-data-driven-culture-three-mistakes-to-avoid/.
  37. 75 Kirkpatrick, Keith. “The Carbon Footprint of Artificial Intelligence.” Communications

    of the ACM 66, no. 8 (August 2023): 17–19. https://doi.org/10.1145/3603746. Kohls, Christian. “Patterns for Innovation: 6 Patterns for Idea Implementation.” In Proceedings of the 24th European Conference on Pattern Languages of Programs, 1–8. Irsee Germany: ACM, 2019. https://doi.org/10.1145/3361149.3361156. Koreeda, Yuta, Terufumi Morishita, Osamu Imaichi, and Yasuhiro Sogawa. “LARCH: Large Language Model-Based Automatic Readme Creation with Heuristics.” In Proceedings of the 32nd ACM International Conference on Information and Knowledge Management, 5066–70. Birmingham United Kingdom: ACM, 2023. https://doi.org/10.1145/3583780.3614744. Kosch, Thomas, Jakob Karolus, Johannes Zagermann, Harald Reiterer, Albrecht Schmidt, and Paweł W. Woźniak. “A Survey on Measuring Cognitive Workload in Human-Computer Interaction.” ACM Computing Surveys 55, no. 13s (December 31, 2023): 1–39. https://doi.org/10.1145/3582272. Kugler, Logan. “What’s Old Is New Again.” Communications of the ACM 66, no. 11 (November 2023): 11–12. https://doi.org/10.1145/3624009. Lu, Yuwen, Tiffany Knearem, Shona Dutta, Jamie Blass, Clara Kliman-Silver, and Frank Bentley. “AI Is Not Enough: A Hybrid Technical Approach to AI Adoption in UI Linting With Heuristics.” In Extended Abstracts of the CHI Conference on Human Factors in Computing Systems, 1–7. Honolulu HI USA: ACM, 2024. https://doi.org/10.1145/3613905.3637135. Melbourne, Associate Professor Jenny Waycott and Dr Wafa Johal, University of. “The Women Putting the Intelligence in Artificial Intelligence.” Pursuit, March 7, 2023. https://pursuit.unimelb.edu.au/articles/the-women-putting-the-intelligence-in-artificial- intelligence. Melbourne, Dr Mor Vered and Associate Professor Tim Miller, University of. “What Were You Thinking?” Pursuit, August 23, 2018. https://pursuit.unimelb.edu.au/articles/what-were-you-thinking. Nassif, Mathieu, and Martin P. Robillard. “A Field Study of Developer Documentation Format.” In Extended Abstracts of the 2023 CHI Conference on Human Factors in Computing Systems, 1–7. Hamburg Germany: ACM, 2023. https://doi.org/ 10.1145/3544549.3585767. Norman, Donald A. “Twelve Issues for Cognitive Science.” Cognitive Science 4, no. 1 (1980): 1–32. https://doi.org/10.1207/s15516709cog0401_1. Perkel, Jeffrey M. “Ten Computer Codes That Transformed Science.” Nature 589, no. 7842 (January 20, 2021): 344–48. https://doi.org/10.1038/d41586-021-00075-2. Potter, Hannah, Ardi Madadi, René Just, and Cyrus Omar. “Contextualized Programming Language Documentation.” In Proceedings of the 2022 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, 1–15. Auckland New Zealand: ACM, 2022. https://doi.org/10.1145/3563835.3567654. Quinn, Clark. “The Cognitive Science Behind Learning.” Chief Learning Officer - CLO Media (blog), December 23, 2016. https://www.chieflearningofficer.com/2016/12/23/cognitive-science-behind-learning/. Savage, Neil. “Revamping Python for an AI World.” Communications of the ACM 66, no. 12 (December 2023): 13–14. https://doi.org/10.1145/3624987. Sochat, Vanessa. “The 10 Best Practices for Remote Software Engineering.” Communications of the ACM 64, no. 5 (May 2021): 32–36. https://doi.org/10.1145/3459613. Stigliani, Kimberly D. Elsbach and Ileana. “Evaluating New Technology? You’re More Biased Than You May Realize.” MIT Sloan Management Review, September 23, 2020. https://sloanreview.mit.edu/article/evaluating-new-technology-youre-more-biased-than-you- may-realize/. Teng, Shang-Hua. “‘Intelligent Heuristics Are the Future of Computing.’” ACM Transactions on Intelligent Systems and Technology 14, no. 6 (December 31, 2023): 1–39. https://doi.org/10.1145/3627708. Tshukudu, Ethel, and Quintin Cutts. “Understanding Conceptual Transfer for Students Learning New Programming Languages.” In Proceedings of the 2020 ACM Conference on International Computing Education Research, 227–37. Virtual Event New Zealand: ACM, 2020. https://doi.org/10.1145/3372782.3406270. Writer, AIT Staff. “Explainable AI: 5 Popular Frameworks in Python.” AiThority (blog), February 14, 2023. https://aithority.com/technology/explainable-ai-5-popular-frameworks-in-python-to-explain-your-models/. Ziegler, Albert, Eirini Kalliamvakou, X. Alice Li, Andrew Rice, Devon Rifkin, Shawn Simister, Ganesh Sittampalam, and Edward Aftandilian. “Measuring GitHub Copilot’s Impact on Productivity.” Communications of the ACM 67, no. 3 (March 2024): 54–63. https:// doi.org/10.1145/3633453.
  38. Lessons in Leadership PyCon Uganda Oct. 13, 2024 Python, AI,

    and Heuristics 76 Carol Willing End of presentation