
Developers don't get to spend a lot of time thinking about design, but many secretly wish they knew how to make their applications look just a little bit better. This book takes you on a journey through a web site redesign, where you'll learn the basic concepts of design, color theory, typography, and accessibility.
"Rework", by Jason Fried and David Heinemeier Hansson
"Web Design for Developers", by Brian P. Hogan
"Scalability Rules", by Martin L. Abbott and Michael T. Fisher
Could experienced developers please tell me whether it's realistic to become a productive freelance developer in 3 months of full time study and practice?
The goal would be to good enough to bill $25/30 hour on odesk.com for building a site from scratch to finish (architecture + code + design).
Other than conceptual knowledge from interacting with freelance developers (OO, MVC, ...) I know nothing wrt developing (coding) applications.
Please find below what I plan to learn over the next 3 months:
1. Ruby - Pragprog.com: Learn to program - RubyLearning.com: Core Ruby - Pragprog.com: PickAxe - RubyLearning.com: Ruby Metaprogramming
2. Rails - Railstutorial.org - Pragprog.com: Agile Web Development with Rails - Rails documentation
3. Design - W3Schools: CSS & HTML intro - Pragprog.com: Web design for developers - Pragprog.com: CSS3 & HTML5
4. Credibility - Build own application - Ruby Silver certification
5. On the (freelance) job - Railsmentors.org if I need feedback - Find freelance developer at same rate to subcontract things I can't do efficiently (and learn from the code and the process).
Should this suffice? As you can see I will try to learn the same stuff from different sources - in my experience that's when things stick the most in my mind.
I am also wondering whether I should finish more advanced books (Rails way, Rails recipes, Ruby Quiz, TextMate, Rake, ...) before becoming a freelancer?
Thanks for the feedback!
"Don't make me think" was a great read to get the right attitude in what to strive for.
I have heard great things from people reading the beta book "Web Design for Developers" from pragprog. (I didnt know about vertical grid layout for margins and line heights).
As for practical things I have learned: Avoid singlepage photoshops. Instead break things down into design elements. Invoking these design elements should be as simple as placing some html elements in a div with the right class. Nothing should be allowed to creep into the page that has not been extracted to a reusable design element.
This is important because all sites will evolve. And while evolving you want to keep using your design, and not add band-aid solutions.
Oh, also: Avoid wingdings. :)
I think websites in 1994 looked better.