You’re just entering the exciting job world of web development with your fresh college degree, but where do you go next? Working in a team environment is a great way to learn new things, but how do you get your start? Unfortunately, entry-level experience can mean 2+ years of programming experience these days. Here are some of my tips on how to get an edge against other college grads who are also applying for jobs in the web development field.
1. Stop using Dreamweaver.
Let’s explore what tool you really need to best suit your job. Unknown to some novice web developers, there’s actually a great spectrum of software to help you code. Based on your personal preference, you can choose to code in a robust IDE (Integrated Development Environment) or a minimal text editor.
Ask yourself: How am I deploying my code? If you are running a local server and aren’t uploading files, you should consider ditching the bloat of a built-in FTP client. But if you’re developing remotely, tools such as remote file syncing can be a lifesaver. How about if you’re pushing code through a service like Heroku or Git? Time to consider switching to an IDE with terminal.
My main problems with Dreamweaver are its design view, lack of command line, questionable FTP organization, lack of hinting and linting, and numerous seemingly useless tools. If you can get around these limitations, Dreamweaver is fine for development if you really insist on sticking with it, but it certainly isn’t the fastest or easiest to use.
Here’s my short-list of notable IDEs:
And text editors:
2. Use source control. I repeat: USE SOURCE CONTROL.
Source control is simply backing up your source files on a remote server and checking them out to make edits. Doing this regularly will allow you to revert to older versions of a file, branch out and add new features without compromising your old files, and collaborate with your coworkers. Adapting your workflow to include version control will inevitably save you time, and it’s essential for working in a team environment. The two most popular version control technologies are Git and SVN. While they both aim to accomplish the same thing, they have some differences that are out of the scope of this article. I recommend creating a GitHub account and familiarizing yourself with the visual client, knowing that you should move on to the command line. GitHub contains many awesome open-source projects that you can check out and even contribute to! Creating your own public repositories is also a great résumé booster; potential employers will want to see your code and contributions to other projects.
3. Learn where to learn.
It’s your job to solve problems and learn from them. Web development is ever evolving, and best practices continue to improve as new technologies are released. Staying up to date and finding web-dev communities is crucial to your career.
Stack Overflow is the best Q&A site for your technical questions, but did you know other Stack Exchanges exist to address broader programming questions? Check out Programmers Stack Exchange for your conceptual questions about programming architecture. And for your user experience questions, check out User Experience Stack Exchange. If you’re looking for a catchall for discussions relating to web dev, Reddit users offer great commentary. Check out these combined subreddits.
Here are some nods to other sites you might want to bookmark
4. Don’t work too hard.
Whenever something seems daunting, take a minute to step back and consider if your approach is the best solution. Instead of trudging through it, press the pause button. Is there a senior member of your team whom you can chat with? How about spending a couple of minutes Googling or posting on Stack Overflow? It’s likely that someone else has already solved your problem, especially if it’s a common beginner’s fumble.
Being a developer requires you to be a good researcher, you’ll need to read documentation and find solutions to your problems online. Keeping code snippets and notes will aid you in future endeavors. If you solve a problem, make sure you comment your code well for future utility.
5. Think outside of the website.
With your growing knowledge of web development, you are more equipped than you know to dive into general programming.
For example, I once built a photo booth with a local server that allowed almost instant access to photos through a simple API. This was accomplished by simply dumping the photos on to a directory in WAMP, then running a PHP script to detect new files and upload them. From there I created a client-side web app to view the photos and share them.
Perhaps you might want to start learning how to program a Raspberry Pi or interface with a Microsoft Kinect. How about creating some generative art with Processing or using one of the many fractal art programs out there today to create this sort of thing? The skills learned in front-end web development can even translate to mobile apps with PhoneGap and will aid in creating apps for the upcoming Google Glass.