I’ve always known since I was young that I wanted to work with computers as a medium for creating work. I entered college, initially majoring in graphic design, ended up graduating with a degree in Interactive Multimedia, a partial minor in Fine Arts, and a specialization in Digital Media arts–none of which I can/want to use in my current career. No one really told me what to expect from school and how to make it in this field, but I’ve still managed to break into the world of web development through my own experimentation and persistence. Developers come in many varieties and many employers have different expectations, so I figured that I’d speak from my own personal experiences and observations to give young prospects some simple advice and a little background on what they may be getting themselves into.
Education is Key:
Don’t rely solely on your college education. College generally takes 4 years to complete, 2 of which you are taking mostly classes that have nothing to do with your major. By the time you graduate, a lot of what you know might be obsolete because many curriculums don’t adjust fast enough to the changing nature of web development, especially front-end. Keep abreast of web design, development, and tech blogs. Follow some renowned experts on Twitter if you want. Read books or look online for tutorials. Take elective classes for additional web development classes if your school offers them, because as I learned with my program, it didn’t have many of those as a requirement for graduation. Most importantly, do as much hands-on work with web development as you can.
Hands-on work can be through networking, freelancing, or internships. If your college campus allows students to create organizations, join one related to web/multimedia/interactive development. If there isn’t one, try to start one. This means finding a professor to sponsor the group, acquiring members, and scheduling meeting times. This shouldn’t be as hard as it sounds, assuming that all development related majors should be in the same classes in the same building. A large part of my own success was having that consistent network between others in the major and graduates from the college to produce work together and visit agencies, some that alumni worked with. The combination of exposure to the group and agency process beforehand, and visits to possible future agencies throughout the year was helpful, although I never ended up ever working at those places. I still keep in touch with the Multimedia Society at my college, as they still make trips up to New York City and other locations every year.
When it comes to freelancing, picking up a few small projects for cheap or free is acceptable, but as you start to get more experienced and the projects get heftier, it is definitely expected that you earn reasonable compensation or else you can easily be taken advantage of. College is already hectic enough, the last thing you need is someone wasting your time. When freelancing, define a solid contract to have your client sign (I don’t care if it’s someone you know, people you know can be the worst clients). There are many good templates for contracts online if you’d rather not try to put one together from scratch.
When it comes to internships, make sure they are as hands on as possible. Being a webmaster for a website is NOT enough. You hardly learn anything about development itself and being challenged to produce code that may be new to you is important to the learning process. There are 5 types of positions I’ve held as a developer: Freelancer, Front-End Developer at an agency, Front-End Developer at a startup, webmaster, and a media specialist at a duplication company. None of them are easy and all of them required a lot of work, but agencies provided the best, well-rounded experience and is more conducive for learning when you are starting out. If you can get a temp. position at any agency, you are likely to leave with several projects under your belt in a short period of time. From there, you should have plenty of opportunities and resources to venture into any other work environment of your choosing after graduation.
Know Your Field of Development:
Know what type of development you want to do. There are several fields in which development exist, and within those fields there are a dozen programming languages and programs that are beneficial to you. Being a jack-of-all-trades probably won’t get you very far, unless you are freelancing and running the operation mostly on your own. Often times, you will come across job postings that list upwards of 11 or so programming/scripting languages that they want the developer to know to apply for the position. This might not be the type of job you want to take, as you can find yourself overworked. Realistically, development is often a multi-person task. It’s best to specialize in one area of development and have a working knowledge of other related fields.
Back-End Developers – Popular programming languages for web include: PHP, ASP.net, Python, and Ruby, but to be competitive, learn as many languages as possible ex: Objective C and/or Java for mobile app development. It is also important to know SQL or MySQL for database design. It is in your best interest to know basic HTML and CSS. CMS platforms are often something you will have to deal with, but in other aspects. You may find yourself integrating CMS into custom applications or modifying or creating plugins. Knowing how to work with API’s will be important, as Facebook, Twitter, Google Maps, bitly, Four Square and other platforms are becoming integrated more and more into websites.
Flash Developers - As HTML5 is taking over the interactive part of the web, it is important that on top of Flash you know other languages as well. I firmly believe Flash will still have a purpose in video game development and advertising, but its presence in every day web design is diminishing more and more. Depending on what you would like your focus to be, for instance video games, having mobile app development as part of your arsenal would be handy. If your specialty is animation, then maybe you’d want to learn more about motion graphics. There are a lot of ways to incorporate flash skills into other skills, because with Flash you work with timelines and with scripting, and those skills are easily transferable into web, animation, or programming.
So What’s the Point of All This?
In conclusion, the world of development is very broad and often misunderstood by outsiders and even the people looking to get into it. It’s often assumed that college will give you all the tools you need, but it didn’t work that way for myself of any of my other classmates and colleagues. It is up to you to know what you need to do in order to succeed and find the right type of job for you, which can be hard when you’re not sure of the beast you’re dealing with. If you can apply as much of this advice as you can in those 3-5 years and build up your portfolio with good work, then you should be able to break into the job market fairly easily, as developers are becoming more and more in demand since I’ve graduated and the job market was bad. This formula has worked for myself and several classmates and colleagues of mine as we’ve all found our own individual niche in the development job market.