Topic: Perpetual Learning (e.g. What Should I Learn Next?)

Evenin' all.

Let me shoot you some background info first.

As you may have noticed if you've dropped by my site / blog before, I am a Pentecostal (technically Assemblies of God) minister. I'm also currently raising the funds to go do some collegiate missions work in Portland, Oregon. However, I also have been doing design work occasionally on the side for the past couple years as a way to supliment income.

Well, that and I really enjoy the daylights out of design. Apart from seeing the Kingdom advance, there's not much else on planet earth I enjoy more. Tragically, I made a big mistake in college (graduated in '05) by pursuing a Business degree rather than Graphic Design. I really regret that - so basically things shape up where all I know in the industry is self-taught.

Ahem, now with that epic prologue, here's what I want to know.

Most of my experience lay in the print realm, typography, and identity/branding work. I'm pretty good when it comes to front-end design / conceptual work, but my skill in executing my Photoshop mockups can be lacking at time. I'm working on making my xhtml / css coding skillz top-notch, but now I'm wondering what's next?

I've started to pick up the very rough basics of php (gah! only because WordPress is making me), but what would be a good area to look into teaching myself? PHP / MySQL? Ajax? Ruby for Rails? Heck, I don't even really know what the last two actually do on any substantial basis.

What books and/or publishers/brands should I pick up? Which ones should I avoid?

A bit of an open-ended question, I know - but I would certainly appreciate any of your more experienced types' input.

-Will
(Malachi 2:5-7)

Lorem ipsum dolor sit amet, consetetur sadipscing elitr.

Re: Perpetual Learning (e.g. What Should I Learn Next?)

If you are already good at the design, and getting good at the XHTML/CSS, I would recommend a logical next step of AJAX.  Think of it as working from the outside of a Website in:

Front: Graphic Design
One Step Deeper: XHTML/CSS
One Step Deeper: Client Side Code/interaction (Javascript, DOM Scripting, AJAX, which all go together)
One Step Deeper: Server side code (PHP et al)
One Step Deeper: Database Design (MySQL et al)
One Step Deeper: Server Admin (Apache, etc)
One Step Deeper: Hardware Admin

At least that's the way I think of it.

Re: Perpetual Learning (e.g. What Should I Learn Next?)

I feel like this is the way I'm learning currently: inside-out, from basics to more interactivity on the server/client sides...

PHP «— XHTML/CSS —» JavaScript

Give me liturgy or give me death.

Re: Perpetual Learning (e.g. What Should I Learn Next?)

Thanks for the commentary, Matt & Nathan.

What brands / publishers should I look at for instructional books? Is there a single publisher that puts out consistently good work, or is it more like a lot of the CSS work I've run across, in that it's the small guys on the front lines that write the most helpful material?

Lorem ipsum dolor sit amet, consetetur sadipscing elitr.

Re: Perpetual Learning (e.g. What Should I Learn Next?)

Hey Will,

PHP is one of the most widely used languages on the web, so I always suggest learning that. MySQL is a must or SQL in general.

Whether or not you start with Javascript then go to PHP or visa versa is really your own personal choice and where you see yourself working in the future. I think a healthy dosage of both at the same time would be wise.

Once you are fairly comfortable in PHP, I'd then look to another language, like Ruby. Ruby is really coming on strong as some large companies are moving their development over to it.

Apress has some great tome's on PHP/MySQL. SAMS has some great intro's to the language. Pragmatic Programmers are great for Ruby/Rails stuff.

One very useful book to pick up for DOM is DOM Scripting by Friends of Ed. Check some of the book reviews here on Godbit for some good tips on books.

Re: Perpetual Learning (e.g. What Should I Learn Next?)

Books-wise I always recommend O'Reilly stuff - but I lean a little  left-brained so I tend to prefer a nice function reference with some examples as opposed to a book with lots of talking and no doing (I love the php.net manual with user-submitted notes - it's perfect in my opinion).  As with everything, though, running stuff through amazon and reading reviews can be quite helpful, even if you don't pick stuff up there.

"Take up your cross before your crown" :: http://no-spec.com

Re: Perpetual Learning (e.g. What Should I Learn Next?)

Friends of Ed books all sit really well with me. CSS Mastery and Web Standards Solutions: The Markup and Style Handbook are absolutely essential (IMO).

In terms of the learning process, I just love the question. And I love these answers. I think we are proving that the learning process is quite volatile---it changes for every one of us. I look at Matt's list and think, wow, I chopped that in half, started there and then caught up on the rest. Others may have the EXACT same process that Matt had though. I know Robert is a talented designer, but his process (and encouragement to you) sounds heavy on the programming to me. (Again though, maybe that's just me.)

Perhaps I have it all wrong---but I usually learn whatever I'm into or whatever I need to get the job done well. That might make my "knowledge base" a little less streamlined, but it's a process that's always worked for me. It seems I learn best when I'm passionate about something. And somedays MySQL in all it's glory just doesn't crank my tractor. Other days I spend more time reading technical articles on MySQL (or whatever) than anything else because of something that has intrigued me.

So that might be ZERO help to ya. But that's where I'm at.

Re: Perpetual Learning (e.g. What Should I Learn Next?)

Agree with David... learn whatever will fill the gap of your clients needs.

Here is my learning timeline:

DESIGN > XHTML > CSS > CMS Solutions > PHP/MySQL > DOM Scripting > Ruby on Rails

Having already learned html/css, I am now getting into Content Management and this is forcing me to learn a new language as the applications I use are written in PHP: Textpattern, Expression Engine or WordPress are all very capable packages. They all have PHP running under the hood and you will find yourself tinkering when you have a unique problem to solve.

Though hand-coding MySQL is not essential, you should at least have a working idea of how databases work and know your way around PHP MyAdmin (or similar interface)

Personally, I see Javascript and AJAX as icing on the cake.. they do some cool things but not truly necessary for most of the stuff my clients pay me for. It's something I find myself studying on those rare occasions when the need arises..

As for Ruby, it's relatively new on the scene and only a small percentage of hosts actually support it.. for now. The popularity of the Rails framework for this language it is taking off pretty fast and I plan on being prepared for this. I am teaching myself the basics at a relaxed pace because it will be a good while before it catches on and matures to the level of PHP.

Learning Resources

XHTML - Visual Quickstart Guide

CSS - CSS Mastery

PHP - Beginning PHP & MySQL but php.net should be one of your well-worn bookmarks.

Rails - Agile Web Development with Rails

Ruby - Highly recommend Chris Pine's book Learn to Program to start with, followed by Ruby for Rails

There.. that should keep you busy for a while smile