I first started making websites when I was 11 years old. My dad showed me how to drag out tables in Microsoft FrontPage and I was hooked (which is now a very outdated technique). It was amazing to me that I could arrange text and images onto the screen however I wanted. Between school and chores, it was a piece of my life where I felt like I could fully express myself without compromise. I’ve always loved art, too, and I remember playing around a lot in programs like PaintShop Pro.

I turn 27 next month, and lately, I’ve been reflecting on where the last 15 years have led me. It’s been a long tumble “down the rabbit hole” that is the web industry and I wouldn’t change much if given the chance. Being able to teach our students at Treehouse is a dream come true for me.

However, there’s a lot that I wish I knew when I was first getting started that might have made things a bit less frustrating. Many of these lessons might sound similar to advice from teachers, parents, and other mentor figures, but they might not gel unless they’re put into context. I’m one of those people that has to learn everything the hard way by cringing at my own naivety.

There’s no way around it: Learn to code.

For those of you that are more experienced, this first bit might sound obvious. However, when I first started, I made lots of websites using FrontPage and later Dreamweaver. These WYSIWYG applications (What You See Is What You Get, pronounced wiss-E-wig) are still around in various forms and they can help you make things with little to no code. In fact, I’ve had many Treehouse students ask me if they should learn HTML and CSS, or if they should just learn a CMS like WordPress instead.

Like many things in life, it depends™.

If you’re happy with just picking a theme and rolling with whatever features it gives you, then that’s fine. However, as soon as you need to customize anything, modifying code will be nightmarish and frustrating if you don’t know what you’re doing. Every day you’re being designed by other peoples’ choices, but learning to code allows you to relinquish some of that control and make your own decisions. Taking the time to learn programming will give you the potential to accomplish so much more in life.

Programming websites is not an intuitive skill.

If you look at a piece of wooden furniture, you can get some idea of how it’s built. Sure, if you tried to do it yourself with no instruction, you’d probably have lots of spectacular failures from trial and error. A mentor would help you learn much faster (and probably safer). However, you could conceivably start sawing and nailing stuff together just by observing the work of others. After enough tries, you might even learn something.

Programming is also a skill, but it’s not at all intuitive or tangible. Without guided learning, it’s impossible to even get started. Being a consumer of websites and software gives you no clues about their inner workings. The language tokens in code are symbols you’ve seen on your keyboard, but without guidance, a first time programmer probably won’t guess their meaning. You won’t just magically pick it up by checking out the code of a website you like or hacking around in a CMS until you haphazardly stumble upon a solution. No. You have to make the effort to actually learn. It will be difficult but rewarding.

It’s easy to focus hard on the wrong thing.

I hear about cool new ideas every day and I come up with lots of ideas on my own. These could be new web apps, iPhone games, new features for existing software, or whatever. Ideas are plentiful because coming up with ideas takes no effort. However, once you commit to an idea, you usually have to work very hard to see it through with any sort of quality. Actually completing an idea is a grind, especially when you’re midway through the work and another shiny new idea comes along. Write it down for later, then ignore it.

You can always make more ideas, but you can’t make more time. If you decide to work on an idea, make sure you’re serious about it. Sleep on it, think about it, share it with other people. If you’re still crazy passionate about it, then do it.

One thing that I’ve started doing is setting a schedule for myself from the onset. If I decide I’m going to work on something, I create an outline that details what I’m going to accomplish each week or each month. Looking at an idea in terms of time can really help you decide if that’s how much of your life you’re willing to exchange for its creation.

Brevity is beautiful.

I die a little inside any time I see things I wrote many years ago, because the passages are always so unnecessarily long! Especially emails. Oh good grief, the epic emails I would write! Sometimes there’s no way around a long email, but I used to write almost every email as if it were a tome of illuminated manuscript. Don’t do this.

Twitter, Vine, and Instagram are all successful because people don’t have time. Attention spans are shorter than ever and the world is moving faster and faster. Do everyone a favor and express yourself in fewer words. Your words will be more impactful and will be more likely to get read, whether it’s the copy for a marketing page or an important client proposal. You’ll get more signups, more responses, and more positive karma.

Get to the point and learn to love brevity. It’s a beautiful thing.

Nobody has it all figured out.

It’s easy to get wrapped up in blog posts (like this one) and think, “Wow, I really need to get my life figured out. Why don’t I have a personal manifesto that I follow to the letter?” The truth is, nobody has it all figured out. The more I learn, the more I realize just how much I have left to learn.

The best web professionals continue their education constantly because there’s no end to the knowledge that can be gleaned. Compared to other fine arts, the web is an incredibly young medium and there’s decades (maybe even centuries) of innovation ahead. If you stop learning, you’ll start to feel miserable after a year or so because your once cutting-edge skills will now be the status quo. Worse, you’ll fall behind. The trick is to just learn a little something every day. Write a little code, read a blog post, wireframe an idea you’ve had… anything to keep your mind engaged and moving forward.

If you have any additional tips that you wish you could go back in time and tell yourself, I’d love to hear about them in the comments!