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.
Contents
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!
Awesome article, Nick! It can be really tough to know where to even start when you get into making websites, so it’s always nice to see posts like this with helpful, actionable advice. Anyway, I thought my readers would enjoy this and I wanted to let you know that I included your post in my roundup of February’s best web design/development, CMS, and security content. http://www.wiredtree.com/blog/februarys-best-web-designdevelopment-cms-security/ Thanks again for the nice post.
Rachel
Really enjoyed reading this blog and appreciated the fact that it didn’t take long to read but at the same time was packed full of interesting ideas.
I have recently joined Treehouse and I’m really enjoying learning in this way. I became a web developer a few years ago but for a long time in my career I had to do jobs I didn’t like such as working in call centres. I was always stressed out about what I didn’t know and I found myself trying to learn everything as quickly as possible. Now I feel more confident and I enjoy learning a lot more because I see it as an opportunity rather than feeling intimidated by the things I don’t know.
Thanks again.
Paolo
Spot on.
Thanks for sharing.
Kr,
Jan
http://www.jakency.be
Last point was spot on! Love all the posts on this blog, keep em coming!
Well, I’m an old dog compared to you, Nick, and most of the commenters here. I learned Basic on an old commodore 64 (cutting edge back then) at age 12. In college, they didn’t have web design classes or computer programming for that matter. But they did have mathematics. I did well in algebra, trig and calculus but could not grasp discrete math. Since math is where most of the programming languages are derived from, I would tell my younger self to stick with it, learn it, and learn it well. It will make you a better programmer. There is nothing wrong with wanting to develop your logical mind. Believe it or not, it can be creative too. Thanks Nick for the share! Katherine.
Thanks Nick for this post, When I see myself how I started my web designing I have a feeling of cringe. I would really like to emphasize your point that one needs to have a mentor before starting in any field to guide and to shape you.
Thanks Nick for this post. I would have to agree with everything you’ve mentioned. I’m finding mentorship in whatever form you can get it makes learning coding much easier and saves so much time. I come from a background in graphic production and my biggest challenge has been with web page layout. I’m so used to working in a program like InDesign and Quark where I can see the “invisibles” of a page layout such as the bounding boxes of text and images. Working with code and a browser window without seeing those is challenging for me. It would be great if you could see those things (along with padding, margins, etc.) so you can see how they react when resizing the viewport and laying out the pages. I don’t want to use a WYSIWYG editor because of the crappy, bloated code. Using Chromes developers tools helps, but wish there was a better solution.
Keep up the great teaching and posting. Treehouse is just so awesome!
I savor, lead to I found just what I was looking for. You’ve ended my 4 day long hunt! God Bless you man. Have a nice day. Bye
Hi everyone, I’m Ernest. I’m trying to build a Blogger Community where I’m trying to unite Bloggers from all over the globe. It’s going to be one of it’s kind. I included many tools in my website. For example, blogging tools, forum, questions & answers, polls, sharing files and many more. I would like to invite all bloggers to sign up. Lets us join our forces in building a better and stronger community. Thanks. Visit at http://diingdoong.com
“You can always make more ideas, but you can’t make more time”
Love this advice. As a creative person I love the act of conjuring ideas, but I hate the fact that I don’t have much time on this earth. Maybe I should embrace the lack of time and turn off the firehose of random ideas.
Same name. Woop.
get a sketchbook and a pencil, carry it with you at all times. I’ve filled shelves of moleskine sketchbooks, it really helps. Katherine
Nick great stuff. I totally share some of the insights you put on here. I went to college for information systems and graduated about 4 years ago. When I got out I didn’t get a job in that field of work but instead started from the bottom as an IT assistant. Basically over the years I’ve been working up and now I’m at a developer at the company. I am pretty much self taught in programming with php and front end work being what I’m best at. It was long and hard (still is today sometimes) when learning something new and you don’t know who to go to for help. I’ve had nights were I spend hours on Google trying to find solutions to my problems and thanks to sights like stackoverflow, I eventually get some help but as you said without a mentor it’s pretty daunting. TreeHouse has been good to me so far only. Sometimes though I wish there was a search feature that can pin point a particular topic or area that I’m looking for… Great read, let’s all keep trucking.
Scheduling, like you mentioned, is the most important aspect for me. Even a simply to-do list gets me focused and on-task.
I started developing in 2005, at the age of 14. Not frequently, just once in a while. After two years I knew my way around HTML and CSS well enough to build little sites. That’s when I started studying webdevelopment.
My education turns out to be crap. We were taught some very basic syntax of HTML, CSS, JavaScript, PHP, MySQL, AS2, AS3 and C#. After that you were on your own. In all honesty, if I wouldn’t have slacked at secondary school, I would probably have a way better education right now, but that’s life I guess.
In the end, I’ve learned HTML and CSS on my own entirely. I did needed a little guidance for the other languages, but it didn’t took me long to educate myself independently.
Learning without guidance is not unheard of. It’s just… hard and you need to know where to look. I must admit, with the amount of tutorials, blogs, documentation and learning services nowadays, it should be much easier.
Anyway, the advice is good. If you don’t like spending time to figure things out, webdevelopment is not your dream job. I’m about to go on a three week holiday and I plan to shut down my internet entirely. My biggest fear -apart from a plane crash- is missing all the news about new features, techniques and SO MUCH COOL STUFF. Actually, I plan about 15 minutes to check my Twitter feed (which is full of web) when I wake up and when I go to bed. Nobody does that, I’m just obsessed.
“You won’t just magically pick it up by checking out the code of a website you like ”
This is exactly how I learned html and javascript when I was 10.
Looking at code helps, but I’m sure you used some sort of HTML or JavaScript reference to help guide you. Learning through trial and error takes forever and might not always teach the most accurate lessons.
“You can always make more ideas, but you can’t make more time. ” This took me way too long to learn, great advice!
Thanks Nick. I follow you already one year and I feel I have learned a lot from your courses and blog posts. This is another great insight. Thanks again for sharing your thoughts and experience.