Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Full Stack Software Engineering for Beginners
Search
Kojo Idrissa
December 20, 2016
Programming
160
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Full Stack Software Engineering for Beginners
Presented at PyHouston 2016-12;
https://www.meetup.com/python-14/events/drtltlyvqbbc/
Kojo Idrissa
December 20, 2016
More Decks by Kojo Idrissa
See All by Kojo Idrissa
A Jr. Developer’s Guide to Software Engineering
kojoidrissa
0
440
Privilege Arbitrage: Making Your Culture More Inclusive
kojoidrissa
0
53
Using Privilege Arbitrage to Increase Inclusion
kojoidrissa
0
150
PyTexas 2015: Building a More Inclusive Python Community Culture
kojoidrissa
0
63
DjangoCon US 2015: Practicing Inclusion
kojoidrissa
0
79
DISCUSSING PRACTICAL INCLUSIVITY
kojoidrissa
0
80
Other Decks in Programming
See All in Programming
そのデザイントークン、Flutterでも同じ見た目になりますか?
nakamizu
0
120
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
akihisaikeda
0
180
Domain-Driven Transformation
hschwentner
2
2.3k
Railsバージョンを4倍にした話
optim
0
820
golang-bob.pdf
iwatsukayura
0
150
Next.js: The final boss of Web Performance
guaca
0
350
[JA] Domain Modeling with Vanilla Rails: 「操作」から再考するRailsの設計論
yasaichi
4
1.1k
contenteditable と日本語入力に向き合う
colorful12
0
230
Performance Optimization With LLMs
xleitix
0
220
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
270
Groovy as a human and AI friendly programming language
paulk
0
130
気持ちぃ〜角丸 Squircle
ryu1013
0
370
Featured
See All Featured
The Curious Case for Waylosing
cassininazir
1
590
Designing Powerful Visuals for Engaging Learning
tmiket
1
620
Evolving SEO for Evolving Search Engines
ryanjones
0
340
Color Theory Basics | Prateek | Gurzu
gurzu
1
500
Un-Boring Meetings
codingconduct
0
470
Building Adaptive Systems
keathley
44
3.3k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3.1k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
360
Being A Developer After 40
akosma
PRO
92
590k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
470
Code Review Best Practice
trishagee
74
20k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Transcript
Full Stack Software Engineering for Beginners 0 0 1-22 -2-0
1
Introduction/Premise • Programming vs Software Engineering • Pro Software Development
vs Personal Projects • Coding with a team vs working solo 2
Version Control (Git) • Why? • Protect yourself from mistakes
• Enable yourself to take chances & try new things • Learning to work w/ a team 3
Version Control (Git) • When? • 10 or more lines
of working code that you're scared to change because it might break 4
Version Control (Git) • What/How? • Basic feature branch/ merge
workflow 5
Version Control (Git) • Reference • Pro Git Chapters 1-3
• https://git-scm.com/book/ en/v2 6
Documentation • In Code vs About Code? • Start w/
In Code 7
Documentation • Why? • Help your future self • Help
your teammates help you • Avoid that form of technical debt 8
Documentation • When? • Writing code using a new technique
• Writing functions, especially if they call other functions 9
Documentation • How? • Docstrings for functions (minimums) • What
the function does • What it takes as input (include data type) • What it produces as output (include data type) 10
Documentation • Next Step? • Learn about Sphinx 11
Testing & TDD • Testing vs "PURE" TDD • Why?
• Tests protect you from future changes breaking things • TDD: "write tests first" forces you to think before you type 12
Testing & TDD • When? • As soon as possible
• Art + Science: experience helps 13
Testing & TDD • How? • New coders: Python unittest
and doctests • Experienced coders: pytest 14
Testing & TDD • Next Step? • New coders: pytest
• Experienced coders: Continuous Integration 15
Other • Dependency Management & Deployment • Containers • DjangoCon
2016 Day 2 Lightning Talks Joe Cronyn • VMs • Virtual Env 16
Other • Development Environment • CLI vs. GUI • Linux/Unix/Windows/OS
X 17
Questions/Comments? • @Transtion on Twitter • At this meetup most
of the time 18