55
How to stop being a PHP developer and become a software engineer

How to stop being a php developer and become a software engineer

Embed Size (px)

Citation preview

Page 1: How to stop being a php developer and become a software engineer

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

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

Frameworks

Page 4: How to stop being a php developer and become a software engineer

Hipsters are coming

Page 5: How to stop being a php developer and become a software engineer

What if PHP6 will be fancy?

PHP 6

Page 6: How to stop being a php developer and become a software engineer

So what should I learn?

Page 7: How to stop being a php developer and become a software engineer

Berkeley University

Page 8: How to stop being a php developer and become a software engineer

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

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

Step outside of PHP world

Page 11: How to stop being a php developer and become a software engineer
Page 12: How to stop being a php developer and become a software engineer

MATH

Page 13: How to stop being a php developer and become a software engineer

Have you seen my math teacher?

Page 14: How to stop being a php developer and become a software engineer

Discrete mathPretend there’s nothing between 1 and 0

Page 15: How to stop being a php developer and become a software engineer

Probability

Page 16: How to stop being a php developer and become a software engineer

Combinatorics

Page 17: How to stop being a php developer and become a software engineer

Optional math

Formal languages and automata

Number theory

Computational geometry

Page 18: How to stop being a php developer and become a software engineer

How to learn math?Practice

Page 19: How to stop being a php developer and become a software engineer
Page 20: How to stop being a php developer and become a software engineer

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

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

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

Algorithms

Page 24: How to stop being a php developer and become a software engineer

Big O notation

Page 25: How to stop being a php developer and become a software engineer

Sorting

Page 26: How to stop being a php developer and become a software engineer

Searching

Page 27: How to stop being a php developer and become a software engineer

Graphs and paths

Page 28: How to stop being a php developer and become a software engineer

Books & courses

Page 29: How to stop being a php developer and become a software engineer
Page 30: How to stop being a php developer and become a software engineer

Computer architecture

Page 31: How to stop being a php developer and become a software engineer

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

Memory hierarchy

Page 33: How to stop being a php developer and become a software engineer

CPU, I/O, asm

Page 34: How to stop being a php developer and become a software engineer

Books & courses & curiosity

Page 35: How to stop being a php developer and become a software engineer

OS design

Page 36: How to stop being a php developer and become a software engineer

Real OS

Page 37: How to stop being a php developer and become a software engineer

Scheduler, processes, threads

Page 38: How to stop being a php developer and become a software engineer

Compiling vs VMs

Page 39: How to stop being a php developer and become a software engineer

Books

Page 40: How to stop being a php developer and become a software engineer
Page 41: How to stop being a php developer and become a software engineer

Computer networks

Page 42: How to stop being a php developer and become a software engineer

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

Network layer (IP)

Page 44: How to stop being a php developer and become a software engineer

Transport layer

TCP and UDP

Page 45: How to stop being a php developer and become a software engineer

Application layer

DNS, mail, http, RTP

CDNs, streaming

Page 46: How to stop being a php developer and become a software engineer

Computer networks

Page 47: How to stop being a php developer and become a software engineer

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

Network security

Page 49: How to stop being a php developer and become a software engineer

Books & courses

Page 50: How to stop being a php developer and become a software engineer

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

New language every year

asm*

C

Java

python

Page 52: How to stop being a php developer and become a software engineer

Learn functional language

Page 53: How to stop being a php developer and become a software engineer

Be curious

Break things

Build things

Page 54: How to stop being a php developer and become a software engineer

Keep learning

Page 55: How to stop being a php developer and become a software engineer

Thank you