how to stop being a php developer and become a software engineer
TRANSCRIPT
![Page 1: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/1.jpg)
How to stop being a PHP developer and become a software engineer
![Page 2: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/2.jpg)
MVK for PHP programmer
PHP
SQL
html / css
javascript
http
memcache, nginx, *nix, frameworks
![Page 3: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/3.jpg)
Frameworks
![Page 4: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/4.jpg)
Hipsters are coming
![Page 5: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/5.jpg)
What if PHP6 will be fancy?
PHP 6
![Page 6: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/6.jpg)
So what should I learn?
![Page 7: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/7.jpg)
Berkeley University
![Page 8: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/8.jpg)
Dreifus model of skill aquisition
novice
advanced beginner
competent
proficient
expert
![Page 9: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/9.jpg)
GET vs POST
I have no idea (using “register_globals”)
$_GET vs $_POST
URLs vs forms
http methods
http request with headers
![Page 10: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/10.jpg)
Step outside of PHP world
![Page 11: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/11.jpg)
![Page 12: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/12.jpg)
MATH
![Page 13: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/13.jpg)
Have you seen my math teacher?
![Page 14: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/14.jpg)
Discrete mathPretend there’s nothing between 1 and 0
![Page 15: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/15.jpg)
Probability
![Page 16: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/16.jpg)
Combinatorics
![Page 17: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/17.jpg)
Optional math
Formal languages and automata
Number theory
Computational geometry
![Page 18: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/18.jpg)
How to learn math?Practice
![Page 19: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/19.jpg)
![Page 20: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/20.jpg)
Data structures
array (real one)
list
dictionary (map, hash)
set
stack / queue
heap
tree
graph
![Page 21: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/21.jpg)
Fancy data structures
skip lists
self-balancing trees
tries for compact string representation
b-trees
bloom filter
![Page 22: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/22.jpg)
Learn python
This slide uses 25th frame to make you learn Python. Obey.
![Page 23: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/23.jpg)
Algorithms
![Page 24: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/24.jpg)
Big O notation
![Page 25: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/25.jpg)
Sorting
![Page 26: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/26.jpg)
Searching
![Page 27: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/27.jpg)
Graphs and paths
![Page 28: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/28.jpg)
Books & courses
![Page 29: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/29.jpg)
![Page 30: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/30.jpg)
Computer architecture
![Page 31: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/31.jpg)
Integers and floats
year 2037
your math teacher was lying: 0.1 + 0.2 !== 0.3
![Page 32: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/32.jpg)
Memory hierarchy
![Page 33: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/33.jpg)
CPU, I/O, asm
![Page 34: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/34.jpg)
Books & courses & curiosity
![Page 35: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/35.jpg)
OS design
![Page 36: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/36.jpg)
Real OS
![Page 37: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/37.jpg)
Scheduler, processes, threads
![Page 38: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/38.jpg)
Compiling vs VMs
![Page 39: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/39.jpg)
Books
![Page 40: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/40.jpg)
![Page 41: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/41.jpg)
Computer networks
![Page 42: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/42.jpg)
Physical and link layer
copper cables, optics
wi-fi, bluetooth, mobile
![Page 43: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/43.jpg)
Network layer (IP)
![Page 44: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/44.jpg)
Transport layer
TCP and UDP
![Page 45: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/45.jpg)
Application layer
DNS, mail, http, RTP
CDNs, streaming
![Page 46: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/46.jpg)
Computer networks
![Page 47: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/47.jpg)
Network security
symmetric key
public/private key
certificates
digital signatures
MAC
![Page 48: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/48.jpg)
Network security
![Page 49: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/49.jpg)
Books & courses
![Page 50: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/50.jpg)
MVK for software engineer
Math
Algorithms & DS
Hardware and architecture
OS design
Computer networks*
OOD
testing
tools
compilers
application architecture
etc.
![Page 51: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/51.jpg)
New language every year
asm*
C
Java
python
![Page 52: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/52.jpg)
Learn functional language
![Page 53: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/53.jpg)
Be curious
Break things
Build things
![Page 54: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/54.jpg)
Keep learning
![Page 55: How to stop being a php developer and become a software engineer](https://reader033.vdocuments.net/reader033/viewer/2022051314/55a4def31a28aba00e8b45e4/html5/thumbnails/55.jpg)
Thank you