I developed the information for this post over the course of several years, after answering many questions about how to become a web designer or what opportunities exist in the field of programming and developing for the World Wide Web.
Here is an up-to-date list of information and resources if you are interested in exploring further. Actually, I should say that it’s up to date as of the date of this post.*
Before we dive in, you should know that the single-most important characteristic of someone who is successful in this profession is an eagerness to learn new things and a willingness to keep on learning. Programming languages change, technology evolves, and there are trends and new developments constantly, so if you want a profession where you can get a degree and then sit back and relax, this isn’t it. You need to keep as current as possible and constantly be reading and tapped into what’s going on in the profession. (I’ll write more about some ways to do this in another post.)
However, while new technologies and languages are constantly being developed and refined, there is often some lag time between something being available and its being broadly adopted cross-cultures, cross-browsers, etc. That gives you a little time to catch up or shift focus, or whatever you need to do to adapt. Just bear this in mind as you consider this profession—that’s both the challenge and the thrill, in my experience.
SCOPE NOTE: Many of the resources I mention in this article are online and available anywhere there is an Internet connection. However, some of my information will be DC-Centric because that’s where I live and work and I have a vested interest in keeping a finger on the pulse of #dctech.
Overview of Web Disciplines
First of all, there are several distinct disciplines in web design and development, and each discipline requires certain skills and abilities. This is just a preliminary “thumbnail” or “snapshot” overview; please consult Wikipedia for more in-depth information and particulars.
Web Design—The graphic design and look of a website, the artistic side of the process.
Frontend and/or Backend Web Development (a.k.a. Client-side and Server-side Programming)—The nuts and bolts of how a site functions, which includes HTML, XHTML, CSS, Javascript, APIs, Unix, PHP, etc.
Information Architecture and Interaction Design (a.k.a. User Experience or UX)—The structure of the information/content within a site and interaction design, as well as how a user interacts with the site to find what he/she is looking for.
Content and Site Maintenance—Maintaining a site once it has been developed, which includes security upgrades, content editing and development, etc.
Mobile Development—This field involves programming for mobile devices such as smartphones and tablets; basically, programming for anything that isn’t a PC.
Education and Training
Here is a list of resources, with costs ranging from free, to reasonable, to very expensive, that will help you learn the art and science of webdesign. These resources will also help you to keep current as new technologies and languages develop:
- For very minimal cost, you can certify as a web developer (programmer) with the World Wide Web Consortium: http://www.w3schools.com/cert/default.asp.
NOTE: You can use all of the resources on their website for free. You just have to pay to get certified.
- You can take online courses from Harvard, Yale, Stanford, etc. through EdX if you want to develop a general background in computer science and these courses are all free. Here’s the URL: https://www.edx.org/.
- The O’Reilly School of Technology has an excellent certificate program that is very reasonable: http://www.oreillyschool.com/. They offer online courses with an instructor/mentor and you can learn at your own pace, although they only give you 6 months to finish each course once you start it so make sure you have enough time to work on your course before you buy. Another good thing they offer is a prefab coding environment (they call it a “learning sandbox”) where you can try things out. The mentoring aspect is definitely a big advantage of their program. As one of my mentors said to me once, “If I can do this, you can certainly do it!” My mentors were key in helping me not to get discouraged and to keep going, especially when I got really stuck with a project.
O’Reilly School’s “Introduction to HTML and CSS” course is the first course I took when I was just starting to learn the business. (Look online for promotional coupons–sometimes their courses go on “sale” for 25-50% off!) If you do end up using them, please tell them that I recommended them to you.
- An excellent resource and a frequent source of inspiration for me is lynda.com (http://www.lynda.com), which offers all the video tutorials you could possibly watch about anything web-related and software-related. For a monthly fee (with or without exercise files so you can practice what you see in the videos), you have access to a vast library of tutorials and that can be a great place to explore. You can try it for free for 7 days or try it for a month and stop, then resume when you have more time (kind of like Netflix). NOTE: LinkedIn (http://linkedin.com) recently bought lynda.com so it will be interesting to see what kind of relationship develops between the two organizations. (More to come on this.)
- Code School (https://www.codeschool.com/ ) is another good resource, although I haven’t used them as much as lynda.com or oreillyschool.com. They also offer online video lessons, coding challenges, and screencasts. What I do like about them is they offer a command-line interface so you can try everything they describe in the lessons and see what your code does but you don’t have to struggle through setting up the environment; you can just start coding right away. There is not as much opportunity for exploration as you will find in the O’Reilly courses, though, because of the scripted nature of the courses.
- Pluralsight (http://www.pluralsight.com/) bills itself as “Hardcore Developer and IT Training” and offers a great range of courses—over 37,000 total! Their video series is called “Digital Tutors” (http://www.digitaltutors.com/11/index.php ) and includes an incredible range of offerings, with more being added weekly. You can also sign up for their blog and for email updates about new courses; visit their website for more information.
- Now we get to the more expensive end of things: the graduate certificates. If you are interested in Information Architecture, there is a great website attempting to gather resources for learning Information Architecture: http://iainstitute.org/en/learn/education/schools_teaching_ia.php#usa.
One of the oldest and best programs (In My Humble Opinion) for Information Architecture happens to be at the University of Baltimore (MD), which offers a master’s degree in Interaction Design and Information Architecture (IDIA–I love the acronym!), as well as a Certificate in Information Design and a Certificate in Digital Media Production http://iat.ubalt.edu/graduate-programs/
Both of the University of Baltimore certificates are attractive to me. I like it that I could get a graduate certificate and then stop and not be stuck in a full graduate program, but you could also count these courses towards a degree program down the road if you get into it and really like it (either the master’s degree or the doctorate in Information Design).
- DevBootCamps can be a great and intensive way to learn, although they are quite expensive. However, there are scholarships available for women to attend–otherwise, the cost is $10,000 to $20,000 and you pretty much have to quit your job and move to another city to do it. These devbootcamps last between 6-8 weeks and I don’t recommend doing this until you’ve been programming for awhile so you have a positive experience. The Course Report website (https://www.coursereport.com/) is a good resource for exploring devbootcamp options.
- General Assembly (https://generalassemb.ly/) is an organization that has evening and day classes in coding and they happen to have a facility in Washington, D.C. (https://generalassemb.ly/education?format=immersives&where=washington-dc ).
- Mobile Makers Academy is an online devbootcamp and a great program for learning iOS mobile development, worth checking out: http://mobilemakers.co/#what-is-the-mobile-makers-academy . According to their website, it’s where you can learn to build iPhone and iPad apps in a real-world environment while under the guidance of expert developers and educators using demonstration, discussion, and learning-by-doing.
- Bloc.IO has an intensive, master/apprentice model for learning and they bill themselves as an “online devbootcamp,” similar to Mobile Makers Academy. Check out their website for more information: https://www.bloc.io/web-development-bootcamp. The advantage with them is that they are not focused solely on developing iOS apps so you can choose from a range of different specialties such as Full Stack Web Developer (basically a Front End and Back End Developer all-in-one), Designer, Rails Developer, Frontend Web Developer, UX Designer, and Android Developer, in addition to iOS Developer.
- There are also some charity/not-for-profit coding experiences that you can try out once you get a few programming languages under your belt: CodeDC, RubyforGood, GirlsforRuby, Code for Progress, or pretty much any local Hack-a-Thon is a great opportunity to meet people and try out your new coding skills.
From the last meetup I attended for Women Who Code DC (http://www.meetup.com/Women-Who-Code-DC/ ), they recommended learning the following programming languages first (because they are a bit more accessible): Python, Java, JavaScript. From my own experience, programming JavaScript “from scratch” without using any code libraries is very difficult (at least it was for me), but if you can learn that, you will have an easier time learning other programming languages.
I hope you find this information useful. One of the things I love about the web community–and Women Who Code in particular–is their willingness to help newcomers (a.k.a. newbies or noobies or noobs) learn the ropes. You will also find many online forums for developing web expertise, and many very experienced web designers will offer advice and even help with debugging your code, if you ask. If you have had any trouble with your code before, you’ve probably already discovered http://stackoverflow.com where you can post questions about any programming language and get your questions answered by experts. The site and service are free, but be sure to search the forums before asking a question in case someone else has already asked the same question and they’ve answered it; they frown on redundancy, understandably.
We’ve all been newbies at one time or another, and this is one of the few fields where the “volunteer ethic” is still alive and kicking.
Good luck!
*Beyond the date of this post, there’s no guarantee of the accuracy of the information, although sending me an email to let me know about something new or an error you’ve discovered would be greatly appreciated.