Software Engineering For Beginners: A Jr. Developer's Guide
Speaking English alone won't make you a journalist or author. The same is true of Python and becoming a professional developer or open source contributor. Many people are 'learning to code' to switch careers, but overlooking the other skills they'll need.
New developers will learn the when, why, and how of those other skills, while experienced devs can use this as a roadmap for mentoring.
2 p.m.–2:45 p.m.
An Outline of the Talk
Version Control (Git)
Protect yourself from mistakes
Enable yourself to take chances & try new things
Learning to work w/ a team
10 or more lines of working code that you're scared to change because it might break
Writing functions, especially if they call other functions
Docstrings for functions (minimums)
What the function does
What it takes as input (include data type)
What it produces as output (include data type)
Next Step: Learn about ReStructured Text and/or Sphinx for general documentation
Testing & TDD
Testing vs "PURE" TDD
Tests protect you from future changes breaking things
TDD: "write tests first" forces you to think before you type
As soon as possible
Art + Science: experience helps
New coders: Python unittest and doctests
Experienced coders: pytest
New coders: pytest
Experienced coders: Continuous Integration
CLI vs. GUI
Kojo Idrissa was an accountant who got an MBA and taught at university in two different countries. He's now a new(ish) software engineer who likes, helping new contributors join tech communities. He also likes, inclusion, Python, Django, and many aspects of east Asian culture (武俠小說, 漫画, 한류). He's spoken at (mostly Python) tech conferences about a LOT of stuff (ask him!) and helps organize DjangoCon US. You can find him online at kojoidrissa.com or as @transition on Twitter.