So I got my first job recently as junior web-developer.
My company creates small/medium sites for wide variety of customers: autobusiness companies, weddign agencies, some sauna websites, etcetc, hope you get my point. They don't do big serious stuff like bank systems or really big systems, it's mostly small/medium-sized websites for startups/medium sized business.
My main skills are PHP/MySQL, I also know HTML and a bit of CSS/JS/AJAX.
I know that good web-developer must know some backend language (like PHP/Ruby/Python) AND HTML+CSS+JS+AJAX+JQuery combo.
However, I was always wondering. In my company we have web-designer. In other serious organisations I often see the same stuff: web-developers who create business-logic and web-designers, who create design.
As far as I know, after designers paint design of website they give it to developers either in PSD or sliced way, and developers put it together with logic, but design is NOT created by developers. Such separation seems very good for full-time job, but I am concerned with question how do freelance web-developers do websites ?
Do most of them just pay freelance designers to create design for them? Or do some people do both? Reason why I ask - I plan to start some freelancing in my free time after I get good at web-development. But I don't want to create websites with great business-logic but poor design. Neither I want to let someone else create a design for me. I like web-development very much and I am doing quite good, I like design aswell, even though I am a bit lost how to study it and get better at it.
But I am scared that going in both directions won't let me become expert, it seems like two totally different jobs and getting really good in both seems very hard. But I really want to do both. What should I do? Thank you!
I recommend to choose one base (propably best is development) and try to grasp some experience in the other area (design). If you do both together, you won't be a good dev nor a good designer. Both areas are quite broad and being a decent specialist gives you more reputation than an all-rounder.
There is a job description called frontend developer, which seems to match dev and some UI design. This might be a suitable goal for you.
Good design isn't about icons and style only, its about logical structure of pages/UI, user needs, expectations, motivation and a wow-factor.
If you are going to freelance, you will cope with logical structure (sitemap, workflow, user paths, single page layout aka wireframe) anyway. May be you are trying to get your feet into this first. You can study online a lot be reading blogs, boards, etc and get an idea what is it about.
With the advent of templates like bootstrap, its become easier to create clean looking sites that can work with mobile and desktop devices. But a template doesn't do it all - UI + biz logic + copy all come together to present an experience to the user.
Outsourcing the UI can be done, but if you're delivering the final product you need to deal with all elements and how they interact. That's the difference between simply coding and creating a deliverable product (donning my flame retardant suit now.)
The tl;dr here is use bootstrap for simple things and consider specialization in the future. Which bus to get on depends on what interests you. You can work in UX, Frontend JS / SPA, HTML5 mobile apps, etc. The options are endless.
Example: there is the whole issue about how the app should work vs how it looks (here is an article for review or google ui vs ux for some background)
Finally, there is the whole mobile area, where html5 + js frameworks vs native / semi-native development toolsets blur the lines even more.
Good luck with whatever path you choose.
I think it would be easier if you do both. When you outsource your web design, you may consume some time if you are not in synch with the designer you hired. You can also enjoy all the salary from the given project. Well, if you got tons of websites to develop, you must have a designer handy. ;)