Hacker News new | comments | show | ask | jobs | submit login
Best syllabus to become a entry-level web developer?
10 points by oceaurill 1561 days ago | hide | past | web | 6 comments | favorite
How would you recommend a complete newcomer to programming and web technologies, to become an employable entry-level web developer in 6 weeks?

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.

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.

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.

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

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... (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!

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

web development tools: https://duckduckgo.com/?q=web+development+tools&t=canoni...

(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.)




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...

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.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact