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
140
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
Verilogで学ぶCPU自作入門
uyuki234
8
4k
dotNET_vulnclicker_intro.pdf
deka_morita
0
110
JRuby: Past, Present, and Future
headius
0
220
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.5k
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
2
2.8k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
480
最近”作らせてる” ローカルAIアプリの話
akit37
0
210
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
460
SalesForceを内製化!? ~ HR事業を支える顧客管理基盤のインフラを大公開 ~
oku053
0
150
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
1.1k
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
2.9k
Jetpack Compose Mechanisms
skydoves
2
540
Featured
See All Featured
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
440
GraphQLとの向き合い方2022年版
quramy
50
15k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
510
Claude Code のすすめ
schroneko
67
230k
Building the Perfect Custom Keyboard
takai
2
900
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
550
Discover your Explorer Soul
emna__ayadi
2
1.3k
My Coaching Mixtape
mlcsv
0
340
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
The untapped power of vector embeddings
frankvandijk
2
1.9k
Writing Fast Ruby
sferik
630
63k
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