$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Full Stack Software Engineering for Beginners
Search
Kojo Idrissa
December 20, 2016
Programming
1
150
Full Stack Software Engineering for Beginners
Presented at PyHouston 2016-12;
https://www.meetup.com/python-14/events/drtltlyvqbbc/
Kojo Idrissa
December 20, 2016
Tweet
Share
More Decks by Kojo Idrissa
See All by Kojo Idrissa
A Jr. Developer’s Guide to Software Engineering
kojoidrissa
0
390
Privilege Arbitrage: Making Your Culture More Inclusive
kojoidrissa
0
50
Using Privilege Arbitrage to Increase Inclusion
kojoidrissa
0
130
PyTexas 2015: Building a More Inclusive Python Community Culture
kojoidrissa
0
54
DjangoCon US 2015: Practicing Inclusion
kojoidrissa
0
67
DISCUSSING PRACTICAL INCLUSIVITY
kojoidrissa
0
67
Other Decks in Programming
See All in Programming
開発に寄りそう自動テストの実現
goyoki
2
1.1k
なあ兄弟、 余白の意味を考えてから UI実装してくれ!
ktcryomm
11
11k
チームをチームにするEM
hitode909
0
340
モデル駆動設計をやってみようワークショップ開催報告(Modeling Forum2025) / model driven design workshop report
haru860
0
270
実は歴史的なアップデートだと思う AWS Interconnect - multicloud
maroon1st
0
210
生成AIを利用するだけでなく、投資できる組織へ
pospome
2
350
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
410
20251127_ぼっちのための懇親会対策会議
kokamoto01_metaps
2
440
AIエンジニアリングのご紹介 / Introduction to AI Engineering
rkaga
8
3k
Cap'n Webについて
yusukebe
0
140
Socio-Technical Evolution: Growing an Architecture and Its Organization for Fast Flow
cer
PRO
0
370
認証・認可の基本を学ぼう前編
kouyuume
0
250
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
We Have a Design System, Now What?
morganepeng
54
7.9k
Practical Orchestrator
shlominoach
190
11k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
54k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
286
14k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
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