I'm a Rails developer that can handle the back-end stack of web development, but never invested the time to do any web design or HTML/CSS.
Is it worth investing my time to learn web design and HTML/CSS, or should I source these and focus on other parts of the app?
I'm bootstrapping a site right now, and definitely feel a bit handicapped not being able to create the HTML/CSS and creatives to tie it in with the back end. I figured being able to create sites from start to finish would be helpful for both possible freelancing gigs and bootstrapping sites in the future too.
An option I've thought of was to use free resources for the creatives, and use free HTML/CSS templates, and go from there.
The developer side of me is saying to learn it right from the beginning - start looking into web design tutorials, mainly ones from scratch (PSD/pen and paper to static HTML/CSS).
The business side of me is leaning towards sourcing the web design and HTML/CSS, or partnering up with a web designer (have yet to find one but am familiar with the sites that do that) and trade services or form a team.
I'm sure there are alot of you guys that are jack-of-all-trades and others that specialize in either the front-end or back-end of web development, that have questioned this too. Thoughts?
HTML and CSS are skills that are worth your /time/. Forget the money. You can improve your /own/ life with HTML and CSS.
The more you know, the more powerful you are!
Have you ever been approached by someone from the front end who said, "Man, it's hard to build this page the way I want it because the backend doesn't do XYZ?" and you look at them like, "figure it out!"
You only do that because you can't relate to them. You don't know how hard it is to do a three column layout in CSS so you blow them off and think, "It's been done before go do it."
But that's not the right approach. The right approach is to understand /why/ it's hard from the front-end so you can make your back-end more suitable to the front.
Building complex systems is a conversation between layers. Data comes from the database, goes through the "backend" then gets displayed. At each of these levels, the more one knows about the other, the easier the dialog between the layers.
So, OF COURSE it is worth a back-end developer's time to learn more about the front-end. It's also worth a front-end developers time to learn more about the backend.
YES.