The document discusses reasons for pursuing a career in web development, predicting its continued growth. It outlines the skills needed, including front-end technologies like HTML, CSS, and JavaScript, as well as back-end options like PHP, Ruby, Python, and Node.js. Testing, frameworks, and devops skills are also important. Overall, the document argues that web development offers an in-demand and exciting career path.
6. IT IS THE FUTURE
The 100 BestJobs of 2014:
1. Software Developer
2. Computer Systems Analyst
9. Web Developer
11. Information SecurityAnalyst
12. Database Administrator
24. ITManager
30. Computer Programmer
52. Computer Systems Administrator
8. PROGRAMMING IS THE
FUTURE
Whydo we need marketanalysts
risk management
people
checkoutoperators
etc...
if machines can do
thatthemselves?
WE CAN CODE IT (ALMOST) ALL!
14. DESKTOP APPS ARE LEGACY
e-mailclients
clientmanagement, sales managementsystems
office applications
communication programs (remember mIRC?)
... and bunch of other apps
NOW IT'S ALL AVAILABLE IN BROWSER
and it's better than desktop apps =)
23. WE STRONGLY BASE ON OPEN
SOURCE
almosteveryweb framework is an open source project
no closed licenses -mostof projects are based on
Apache/MIT-like licenses
mostof developmenttools are available for free -no entry
bareer!
24. WE HAVE A HUGE COMMUNITY
alotof tutorials, guides, forums, examples on github
you can google almosteveryproblem/error in ~30 seconds
alotof devevents and meetups (mostof them for free)
25. WE IMPROVE ALL THE TIME
THERE ARE CREATED NEW WEB FRAMEWORKS AND
LIBRARIES EVERY SINGLE DAY
29. WE HAVE HIGH QUALITY CODE
code style guides
code linting
code metrics
code reviews
pair programming
unit, integration, end-to-end tests
This is our bread and butter everyday!
30. IN WEB, ALL TEAMS WORK
TOGETHER
UX DESIGNERS GRAPHIC DESIGNERS
FRONTEND DEVELOPERS BACKEND DEVELOPERS
SYSTEM ADMINISTRATORS TESTERS
Wantto switch from one categoryto another?No problem!
You can even be afull-stack webdeveloper =)
35. ASK YOURSELF
Whatitrepresents?
How should itrepresentit?
Who is the targetaudience?
Whatdo theyneed?
How do we help them achieve it?
What's the goal?
How do we know me made it?
39. LEARN THE SLANG
wireframe, mock-up
paper-prototyping
persona
storyboard
GraficalUser Interface
User eXperience
user stories
information architecture
usability, accessibility
conversion
focalpoint
A/Btesting
mysterymeatnavigation
56. LEARN THE SLANG
semantic HTML /CSS
AJAX
callback
REpresentationalState Transfer
DocumentObjectModel
framework vs. library
Model-View-Controler
Single Page Application
Search Engine Optimization
Software as aService
ContentManagementSystem
Responsive Web Design
Gracefuldegradation, Progressive enhancement
58. BACKEND WORK SCHEMA
1. Receive requestfrom server
2. Do some stuff
3. Render response and return itto the client
59. BACKEND STUFF
read/write datafrom/to database
do some calculations, validations
check user permissions
connectwith externalAPIs
save files on disk
cache some results
render the response (HTML, XML, JSON, anyother)
schedule background jobs
64. PHP - BEGINNER
1. installPHP + Apache ( on Windows) to startcoding
2. visit for "hello world"examples and full
documentation
3. learn itallfrom any , untilyou learn itall:
syntax, variables, conditionalinstructions, loops
arrays, functions
objects and classes
4. learn aboutthe web:
cookies, session, HTTP variables, GETand POSTrequests
5. playwith database: installMySQL and use to read and
add some records
WAMP
PHP Manual
PHP tutorial
PDO
65. PHP - INTERMEDIATE
6. install and -make your own theme, create
a , customize some plugins
7. learn to create modern web applications
8. create aweb application in modern PHP framework:
9. Beware of old, unused frameworks /libraries!
Useonlythoselibraries, that arestill maintained and being
updated! (justcheck the lastcommitdate on GitHub)
10. learn abouttesting, security
11. don'tstick to only-PHP -learn also other languages =)
WordPress tweak it
widget
the MVC way
Symfony2
Laravel
67. RUBY - WHAT?
+ veryreadable, beautifullanguage -easyto write in
+ connects programmingparadigms like functional, object-
oriented and imperative
+ huge, matured open source community
+ verypopular atthis moment-lots of today's startups are
based on Ruby(and Rubyon Rails)
69. RUBY - BEGINNER
1. install to startcodingor
2. learn Rubybasics from or justdo one/all
of the ( , , , , )
3. read or two
4. after youlearned programming and Ruby, go have fun with
Ruby tryitonline
Rubydocumentation
interactive tutorials 1 2 3 4 5
abook
Rubyon Rails
70. RUBY - INTERMEDIATE
5. learn how Gemfile works
6. know the differences between Rubyand Rubyon Rails
7. read about:
dynamic programming, metaprogramming, monkey
patching, duck typing
unittests
8. create an advanced projectusingRubyon Rails (with database
migrations, some customized gems, deploymentto server,
tests)
72. NODEJS - WHAT?
+ itis emergingfor ~2-3 years now and is becomingquickly
popular
+ remember Atwood's Law?Now we can create servers in
JavaScript
+ examples?PayPal
+ event-driven -well-adjusted to asynchronous usage (which is
reallyusable in web)
-stillemerging(notallframeworks are mature yet)
-some existingexperience with webdevelopmentand
JavaScriptwillbe essential-it's noteasyto write async code
73. NODEJS - INTERMEDIATE
1. install and run "Hello World"example with HTTP
server
2. know advanced JavaScript:
promises
firstclass functions, prototype programming
lambdas (anonymous functions), functionalprogramming
closures
non-blockingIO
3. create awebserver/web application usingone of popular
frameworks, like or
4. make your web application more interactive and dynamic
redis pub/sub
noSQL database: mongoDB/couchDB
websockets
NodeJS
express sails
76. PYTHON - BEGINNER
1. Install and do some basic examples and
2.
3. After youlearned programming and Python, go have fun with
.
Usefullinks: ,
Python tutorials
Learn Python
Django
1 2
77. OTHER LANGUAGES
Java -see
C++, C# -see
... and alotmore
Spring
ASP.net
Language doesn'treallymatter!
Whatmatter is your skill, previous developmentstack,
frameworks popularityand mostimportant: situationinwhich
you'll useit.
78. BACKEND - COMMON THINGS
firstlearn programming, then the language, then frameworks
&libraries in it
After you learn Rails, learninganother framework like Django /
Symfonywillbe easy(and vice-versa).
81. DEVOPS - BEGINNER
have your own server in the cloud (f.e.
) with Ubuntu 12.04 and tryto configure it
learn about or
build a , with f.e. or try
DigitalOcean -
5$/month
Chef Puppet
continuous integration server Jenkins
Travis
83. TESTING - WHAT?
unit tests to keep your code organized and workingcorrectly
integrationtests to make sure allyour code parts suitwellto
each other
end-to-end tests to make sure, thatin the end your website
actuallyworks
84. TESTING - INTERMEDIATE
1. Learn the technologyyou'lldevelop in
2. Learn abouttestingit:
unittests, integration tests, end-to-end tests and alotmore
3. Write code and tests atonce -master TDD