In a comment to one of my posts I got this:
"I'm a poor college student living in the middle of nowhere... I know a bit of Java, a lot of HTML, and I've got the gist of XML... I was wondering, what should I focus on if I wanted to get a real job in the tech industry? (Not something that any fool with an A+ can do, something where I don't have to wear shoes to work, where the caffine's free, and a life is optional)
My problem is that my local college doesn't teach anything, programming-wise. And quite simply, I don't know where to start. No car, no job, and not knowing anyone in the business is kinda putting me in a corner."
That's a tough situation. In today's market, it's pretty hard for veteran programmers to get a decent job, let alone people who have little to no real world experience as software developers. Also, your "requirements" from the job are pretty unrealistic, to say the least. After the bubble burst, employers have much more choice from many experienced developers who mainly need to put some food on the table, with almost no requirements other than to let them to their job. You can't be choosy these days. If you're looking for a job where shoes are optional, I suggest you start your own company and make your own shoe policy. You are more than likely to never come across that kind of work in any other situation.
What I can almost guarantee you is that the "life is optional" part will be true. Employers will expect you to put in more hours and more effort in order to keep your job in today's "hellish" market. You just can’t afford to be one step behind. I'm not talking about MSFT , which is my dream job at the moment. I'm talking about the "rest" of the companies out there, who usually treat their employees as disposable material. Simply put, what you're looking for probably does not exist today.
If I were in that position, knowing what I know today here's my To-do list:
· Get a more real-world priority list of what you want from your job. These could be
o I want a big/small/startup company
o I want to become a manager/technical guru
o I want to experience working with [specific field of expertise such as hardware, software,real-time,embedded,web…]
· Now that you've finished learning in college, make sure you understand :
o You have much more to learn
o Your college experience will not help you for anything but job interviews and puzzels
o You might have to look for a job for a looong time ,several months or more
· What you need to do:
o Go learn the area that you find interesting(For me it was VB and then .Net)
o Learn it and get a certification(for MSFT certs – MCSD is preferable)
· What jobs you can look for:
o I'd look for places that let you start at the bottom – as a QA or tester
o Learn while you work there(maybe you'll have to get certified first to get that job ,though)
o Microsoft has a career site and is always looking for people. Yeah, even you.
o Create a resume listing all your merits and what you've done in college involving technology
o Become an intern somewhere. It's hard for an employer to turn down a free employee…
· Start Networking
o Making a blog is one of the best ways to get noticed.
o Start a blog about what your going through(if you'll learn .Net – start a blog here!)
o Create a personal web site with your resume (If you have a home computer you can make into a server, this would be a great ASP.NET learning experience)
o Make a demonstration project to show to potential employers. It always makes a great impression if you can whip out a diskette and say "I have some code here, would you like to check it out?"
o Join mailing lists, forums and news groups involving what you are learning. There are also forums and lists explicitly for the purpose of distributing your CV, and lots of sites out there for this purpose, all for free.
· Once you learn how to program, get real world experience on your own
o Get friends and colleagues or your parent's friends to agree for you to do some software related project for them. Something you can brag about
o Make up open source projects and share your code. Make them cool, so people will notice you and what you do
o Learn design patterns and practices, and get some good books about project management.
o Add all this to your resume
Yeah. It's tough out there.