So, fellow traveler, you've decided you want to be a web designer. You fire up your computer, look for a couple tutorials, and spend a few hours trying to find a resource that is a good fit with your learning style. Then, maybe you download half a dozen text editors to decide which one will help you write the coolest looking code. You whip up some really nice looking divs, and you spend hours (days?) trying to get them to float this way and that. You are really accomplishing things now, and your cat GIFs have never looked cuter.
Soon you're a div master, and you kinda know how media queries are supposed to work, at least in theory. You graduate to sifting through all of the many bazillion front-end frameworks that exist to make your great ideas shiny, responsive, and "mobile-first," though you're not exactly sure what that means. You hear things like "mixins" and "Sass," you get lost in CodePen and Github, and you're wondering what you've gotten yourself into.
Next, your grandmother's homemade cookie company wants YOU to make a Spiffy New Website for its national launch. Grandma has heard that you do some web design (because you're telling all your friends!), and she's looking for an awesome, responsive site that will help with brand recognition and support an e-commerce solution for her cookie sales. Question is...
Are you ready?
It might not feel like it, but you could be in a better spot than you think. Just review this simple checklist to gauge your gig-readiness. Remember, going from mediocre to good to great takes a lot of time and practice, but everyone has to start at the beginning!
One test that has always worked well for me: If you can troubleshoot it, you know it. You might not have all the answers ready at hand, but with a little Googling and sifting through articles from StackOverflow, you can solve almost any design problem.
Have you built websites?
There's a podcast I enjoy called the Shop Talk Show. The guys who run the podcast field a lot of questions from folks who are just starting out in design, and a lot of the questions sound like "how do I learn new things/take my designs to the next level/build a portfolio?" Chris Coyier (one of the hosts) has one thing to say to all of these questions, and it's pretty simple: Just Build Websites. That's it. That's really all you have to do. Build websites for grandma. Build them for your favorite non-profit. Build them for your friend who wants to start a business. Build them for your side projects. Build them EVERYWHERE.
Another thing: In this era of ubiquitous content management systems like WordPress, it's almost a requirement that you be able to craft a website from start to finish on a platform that will allow your client to update and edit content easily, especially if you work with small businesses. Pick a platform and know it inside and out. Learn how to design themes/templates for your CMS of choice. Know some good plugins. Know how to help your customers solve problems. Which brings me to...
Are you ready to solve real problems?
This is really the golden ticket to a successful business in web design and development (and, not to be intimidating, business in general). Solve Real Problems. What does this mean? It means observe the world and find a pain point. Find something crummy. Find something that makes people unhappy. Fix that.
Your idea for a new app is probably really cool, but if it doesn't solve a problem, nobody will be interested in using it. Your really sleek design might be the most awesome bit of artistry on this side of the Internet, but if it doesn't speak to a client's customers, or if it causes too much confusion because of its uniqueness, you haven't done your job. Look at the world and see what it needs. Be an ethical designer. Help people, and do it with a smile.
That's about all you need to get started. Get out there and get designing! Don't give up. Ask your fellow designers for help. Participate in the social side of an online design community. Volunteer to design websites for friends, family, and local businesses to get your feet wet. Do some good!