

Best syllabus to become a entry-level web developer? - oceaurill

How would you recommend a complete newcomer to programming and web technologies, to become an employable entry-level web developer in 6 weeks?
======
anujkk
1\. Get someone who is a good web developer to help and guide you.

2\. Understand that web works on a client/server architecture and a web
developer has to deal with both client side technologies(that your browser
renders e.g., HTML, CSS, JavaScript) and server side
language/frameworks/databases(you've got many language choice in
PHP/Python/Ruby/JavaScript/C#/java/etc)

3\. Focus on front-end first. It will make you a web designer if not a web
developer. You don't need any web server to do this. Just write code in files
and run it using your web browser.

\- Learn how to make web pages using HTML5.

\- Learn how to style it using CSS3.

\- Learn how to do client side scripting using javascript. I will recommend
you to use the book - "JavaScript : The good parts".

\- You can then learn javascript libraries like "jQuery" or front-end
frameworks like "twitter bootstrap" which will make life easier for you.

4\. Setup server environment on your PC. I would suggest you to start with PHP
programming language, MySQL database, Apache Web Server. You can also choose
python, ruby, etc but php will be easy to learn if you are new. If you are
using linux you can install LAMP(Linux Apache MySQl PHP). If you are using
Windows you can install WAMP. If you are using Mac you can install MAMP. Learn
how to serve your html/css/javascript code using server and access it on your
browser using localhost.

5\. Learn server side scripting using PHP. Use MYSQL as database if needed.
Learn to use tools like phpmyadmin.

6\. Do a small web development project like making your own Website/Blog.
Don't use blogging softwares like wordpress. Make everything yourself.

7\. Buy a domain for your personal website and a shared hosting account from a
web hosting provider(e.g., <http://www.webfaction.com/>). Use a FTP client to
upload your code and host your website online.

9\. You can then choose to learn MVC architecture and any MVC php framework
like codeigniter, kohana, symfony, etc. Rewrite your website/blog using
framework.

9\. Once you are comfortable you can think about switching to any other
language/framework combinations like Ruby/Rails, Ruby/Sinatra, Python/Django,
Python/Flask, JavaScript(Node.js)/Express.js , C#/Asp.net MVC, etc.

10\. Remember that it is a long and slow process and it will take you years to
evolve as decent web developer. Focus on "learn-do-learn-do" approach. keep
learning new things and use it to make new things. Best of luck.

------
AshleyWysocki
So I did Dev Bootcamp: we learned the basics of programming in 8 weeks and
covered a lot of guides and such. This is what I would recommend:

Start with <http://www.codecademy.com/> for learning basic HTML, CSS and
Javascript.

Then I'd recommend learning Ruby as a programmer. It's easy and fun to learn,
there's a lot of demand for jobs (good jobs from startups to big companies to
consultancies) so you can find a job pretty easily and there's a great
community of people willing to help you out with it. Here's some resources for
learning Ruby and Ruby on Rails:

<http://tryruby.org/> (15 minutes beginner tutorial)

[http://tutorials.jumpstartlab.com/projects/ruby_in_100_minut...](http://tutorials.jumpstartlab.com/projects/ruby_in_100_minutes.html)
(basic intro to Ruby to read)

<http://rubymonk.com/> (interactive learning ruby exercises)

<http://tutorials.jumpstartlab.com/projects/eventmanager.html> (Ruby project
dealing with CSV files)

<http://tutorials.jumpstartlab.com/projects/jstwitter.html> (Ruby project
integrating with twitter)

<http://www.codeschool.com/courses/try-git> (git tutorial, very important for
web development with others)

<http://railsforzombies.org/> (basic intro to rails)

<http://ruby.railstutorial.org/> (Rails project to build a Twitter site- long
and intense but VERY worth it)

<http://tutorials.jumpstartlab.com/> (more tutorials and info on Rails along
with Ruby)

<http://railscasts.com/> (more advanced stuff on Rails, covers some basic
stuff as well, video plus text)

<http://www.rubyquiz.com/> (Ruby exercises to try with answers from others-
these are more advanced)

More text based:

<http://guides.rubyonrails.org/> (read these to really understand Rails)

Books to read: Agile Web Development with Rails (newest edition, considered
THE book on Rails)

Programming Ruby (considered THE book on Ruby) The Rspec Book (about testing,
super important to learn, AO3 gives free copies to coders there)

Metaprogramming Ruby (great for understanding the intricacies of Ruby and how
to bend it to your will)

Crafting Rails Applications by Jose Valim (great for understanding how Rails
really works, more advanced)

The MOST important part is after a week or so (or less) of reading and
practicing tutorials in the like, find something you're passionate and try to
build it. Ask for help from other programmers, Rubyists love to help and try
to find RL meetups if you can.

Good luck!

------
antidoh
I'm not one, so I don't have a good answer.

In the worst case, if no one provides a good answer, I would approach it
starting with the following. Refine as it makes sense to you.

web development:
[https://duckduckgo.com/?q=web+development&t=canonical](https://duckduckgo.com/?q=web+development&t=canonical)

web development tools:
[https://duckduckgo.com/?q=web+development+tools&t=canoni...](https://duckduckgo.com/?q=web+development+tools&t=canonical)

(Your browser, Safari, Chrome or Firefox, has good to excellent front end
tools and debuggers.)

(And, since you said _complete_ newcomer, be sure to use a text editor (vim,
emacs, notepad++, etc), _not_ a text processor like wordpad, word or libre
office.)

<https://en.wikipedia.org/wiki/Web_developer>

[http://www.hnsearch.com/search#request/all&q=%22web+deve...](http://www.hnsearch.com/search#request/all&q=%22web+developer%22)

<http://stackoverflow.com/search?q=web%20development>

Go broad at first, not deep. Eventually you'll get a feel for what's most
interesting to you; then go deep.

Identify the major pieces of web development. Decide where you want to start.
Don't ignore the back end as a possible area of interest. Identify tools and
languages. Decide which ones to focus on. You can't learn everything at once,
you just have to choose, and it doesn't much matter which among the major
choices.

The best way to learn something is to do it. Once you've decided what to focus
on (for now, your career is never cast in stone, so don't worry too much about
it), then build your first portfolio site or project. Keep it simple and
narrowly focused.

You'll want a place to develop and host.

virtualbox, a virtual machine, is widely used by individuals, it will give you
a place to experiment and develop, without messing up your physical machine's
environment and without paying (yet) for hosting.

Linode, AWS (Amazon) and Slicehost are frequently recommended for VPS (Virtual
Private Server). Linode's basic is more than enoough for a first portfolio
site, at $20/month. AWS can be cheaper, but I don't understand the pricing
model very well, nor the various offerings. [Anyone?] My impression is that
google's app server is fading out of favor, but lots like it.

There are many more hosting services and options.

If you host a site somewhere you'll want a domain name.
[https://duckduckgo.com/?q=domain+name+registrars&t=canon...](https://duckduckgo.com/?q=domain+name+registrars&t=canonical)

I use pairnic.com, they're not the cheapest but they're not expensive. Don't
use godaddy for anything, not hosting, not domain registration, nothing. They
hate elephants, people and the internet.

Depending on the nature of your first portfolio projects, you may not even
need a host and domain, it may be enough to put whatever you've done on
github. But if your project is a site and pages, you'll need some sort of
hosting.

People make sites and entire businesses on WordPress. You could look at that
if it turns out to be interesting. I might not call that web development,
others probably disagree. It doesn't matter what you call it, it just matters
if it's interesting and you can make a living at it, and some people do.

Good luck, have fun.

------
sctechie
You should learn to program FIRST. It will take you 6 weeks to learn how to
programming, let alone trying to build a website while doing it.

There are a ton of resources online these days. I'd suggest you mainly stick
to MIT OCW but many schools have online resources for programming these days.
Khan academy is decent but I personally recommend you stick to official
college lectures and try to work as many homework / project problems you can
find.

Once you establish a solid foundation of programming, it will not take you but
a week or two to build the requisite knowledge to put together professional-
ish looking websites.

You need to learn javascript. You need to learn javascript. You need to learn
javascript.

HTML is not a programming language, you can learn the basics in an afternoon.

CSS is a bit more difficult but you can learn it in a day or two.

Without knowing javascript, you will be hopelessly lost.

------
josegonzalez
If you do indeed have 6 weeks - and it's not a spare time thing - you could do
the following:

    
    
      - Find a computer
      - Install a programming language of your choice (mine was PHP, but Ruby and Python are also fine)
      - Learn the basics through some web tutorial, there are plenty, and only spend a week on this until you're comfortable in the language
      - Find a website that you use often, like Facebook or Twitter. Clone it in your chosen language. It does not need to be webscale. You can use MySQL - in fact, you probably should.
      - Once you are done with the above, throw away the shit you wrote, find a framework in your chosen language (preferably a popular one!) and learn the basics of that framework.
      - Rewrite that site in the framework.
      - Go to a meetup in your language of choice. When it comes time to say hi to people, just be friendly and ask for pointers.
      - If you have time, redo these steps in a different language.
    

My recommendations are:

    
    
      - PHP for the language. It is pretty simple to pick up, and while it won't win awards from the HN crowd, you're here to learn how to be an entry-level web developer, not a Node Ninja.
      - CakePHP is my preferred framework. You could try CodeIgniter, FuelPHP, Lithium, Symfony, whatever. Just make sure the docs make sense to you and you can find answers somehow (IRC, Google Groups, the guy at the coffee shop)
      - Just use Twitter Bootstrap for UI. Done.
      - Use jQuery. You don't need Backbonejs. You don't even know Javascript, so as long as you know how to make an ajax post and update the page contents, you're in pretty okay shape.
    

You do not need a webserver for any of this. Just do it all locally. You can
learn about setting up webservers later.

At this point, you should know something about something. Good luck.

------
jyu
You can also look at some curriculums from these rails shops. I think Rails is
a good choice because ruby is a very productive language, there's a pretty
proactive and helpful community, and it doesn't seem too difficult to get an
entry level Rails job.

<http://www.appacademy.io/curriculum> <http://prework.flatironschool.com>

