Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
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
140
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
370
Privilege Arbitrage: Making Your Culture More Inclusive
kojoidrissa
0
48
Using Privilege Arbitrage to Increase Inclusion
kojoidrissa
0
130
PyTexas 2015: Building a More Inclusive Python Community Culture
kojoidrissa
0
50
DjangoCon US 2015: Practicing Inclusion
kojoidrissa
0
61
DISCUSSING PRACTICAL INCLUSIVITY
kojoidrissa
0
62
Other Decks in Programming
See All in Programming
PHPUnitの限界をPlaywrightで補完するテストアプローチ
yuzneri
0
270
可変変数との向き合い方 $$変数名が踊り出す$$ / php conference Variable variables
gunji
0
230
SQLアンチパターン第2版 データベースプログラミングで陥りがちな失敗とその対策 / Intro to SQL Antipatterns 2nd
twada
PRO
27
8.1k
効率的な開発手段として VRTを活用する
ishkawa
1
180
AIコーディングエージェント全社導入とセキュリティ対策
hikaruegashira
12
7.4k
Workers を定期実行する方法は一つじゃない
rokuosan
0
130
CDK引数設計道場100本ノック
badmintoncryer
2
560
[DevinMeetupTokyo2025] コード書かせないDevinの使い方
takumiyoshikawa
2
170
可変性を制する設計: 構造と振る舞いから考える概念モデリングとその実装
a_suenami
2
580
AI時代の『改訂新版 良いコード/悪いコードで学ぶ設計入門』 / ai-good-code-bad-code
minodriven
24
10k
Porting a visionOS App to Android XR
akkeylab
0
910
抽象化という思考のツール - 理解と活用 - / Abstraction-as-a-Tool-for-Thinking
shin1x1
1
700
Featured
See All Featured
For a Future-Friendly Web
brad_frost
179
9.8k
The Cult of Friendly URLs
andyhume
79
6.5k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
21
1.3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Building Adaptive Systems
keathley
43
2.7k
Practical Orchestrator
shlominoach
189
11k
Raft: Consensus for Rubyists
vanstee
140
7k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
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