Ask HN: How to progress past being a beginning web designer?

7 points by krasotkin ↗ HN
Hi everybody! I'm an autodidact interested in web design and programming. I've learned enough to make a few sites using html with bootstrap, and I can do some simple backend stuff using PHP. So what should I learn next?

I'd like to get to the point where I can do some freelance web design, but I'm not entirely sure what I'll need to know to be a competitive candidate. Suggestions on material, and places to learn it would be greatly appreciated!

6 comments

[ 3.4 ms ] story [ 19.9 ms ] thread
If you like webdesign, learn HTML, CSS and JavaScript (and jQuery). If you want to program, learn PHP and MySQL. That is the basic.
what are your suggestions on learning PHP and MySQL? Any recommendations for learning resources? :)
Try to create some project, like user database or something else. I you don't know something, find it on internet. And improve and improve your project. I like that style of learning.
This is a school of thought I do not understand at all. Why is HTML, CSS, and JavaScript (+jQuery) considered "design", but PHP/MySQL is considered "programming"? JavaScript is a programming language, HTML and CSS merely a presentation layer (though with quite complicated semantics, hardly intelligible to a non-programmer).

My take on this: if you like web design, learn the fundamentals of both graphic/visual design and interaction design. If you want to program, learn algorithms and data structures. The specific tools of implementation (sometimes common to both fields) are something you can learn along the way, but the fundamentals of each field are vastly different.

Nobody hires an accountant because they know MS Excel. They hire them because they know accounting.

I stand behind this. These days you could spend a year studying just HTML/CSS and still have a ways to go, particularly with developing responsive websites for multiple sites and browsers.
If you like more frontend graphical stuff, start playing around with frontend frameworks like AngularJS [1] or Backbone. Also, take a look at websites like Codecademy [2] that can give you more of a run down of concepts.

If you like the backend stuff, I would probably not go for PHP (though it is a fairly 'easy' first language) and try learning something like Ruby on Rails [3][4], Django or ASP.NET MVC if you are on Windows.

[1] http://campus.codeschool.com/courses/shaping-up-with-angular... [2] http://www.codecademy.com/ [3] http://tryruby.org/levels/1/challenges/0 [4] http://railsforzombies.org/