Body feels like heck today as a result of
breaking demolishing a personal fitness record yesterday. The heat isn’t helping.
I’m not in the mood to conduct research so here’s a follow up to a previous cheat post.
Learning basic web development and photo editing is not enough to be competitive in the IT industry. Here are other necessary skills for a fresh grad to learn.
Practice your Google-fu.
I don’t really need to explain why you should learn how to efficiently use Google to find the information you need. Between finding answers to software problems up to stealing code, Google is an indispensable tool for a software developer.
Unfortunately, not a lot of people know how to choose the proper keywords or determine which keywords should be enclosed with quotation marks (I’ve even lost count of how many times I’ve seen this happen in my previous company). With a bit of practice, though, you could overcome this problem and eventually learn to
stalk people find solutions in Google in no time.
Get enough Linux/SysAd/programming experience to install a LAMP server from scratch.
This might sound impractical to people working with .NET, Java, or any development tool whose primary audience does not use the LAMP platform, but the sheer amount of useful free/open source software built for LAMP makes it hard to ignore.
When you build a LAMP server, from installation of OS up to setting up some basic apps like WordPress and MediaWiki, you will learn a lot of basic skills in the process. Installing the OS is a no-brainer, but the other stuff aren’t so trivial especially to people used to working in Windows: using a shell (and optionally installing SSH to allow remote terminal access), using vi, emacs, nano, or any console based text editor; learning the Linux user security model e.g. setting file permissions, etc. The learning doesn’t stop once you get to the AMP part, as configuring Apache, MySQL, PHP, Perl, and Python for basic usage still requires a bit of research (and trial and error).
In line with learning LAMP, you might also want to learn how to create virtual machines via VirtualBox or VMWare Server to remove the need for dual booting or getting a dedicated machine. LAMP servers are lightweight compared to modern OSs so the host machine’s performance will probably not be affected by hosting a virtualized server.
Understand how the Internet works.
This one’s essential for web developers. No, I’m not saying you need to do crazy impractical stuff like memorize the OSI Model. What I’m saying is that as a person creating dynamic websites, you should at least know the basics of networking, especially HTTP.
People who know these stuff might find it funny that there are web developers who aren’t familiar with how browsers and servers interact via HTTP, but in reality, a lot of people don’t know these basics. I myself didn’t know the difference between POST and GET requests until my second year in the business.
Learning how to use common network related tools like packet sniffers and port scanners is also useful in web development. Having Wireshark in my machine actually gave me “unfair” advantage in my projects, allowing me to isolate and fix difficult bugs that other devs couldn’t handle.