If you blow a tech interview because you are greatly under qualified and honestly don’t know the things required for the job, but they still give you an offer anyway, DON’T TAKE THAT JOB. It’s a trap. It most likely means the people hiring you are less competent than yourself and you’re going to be doing all the work.
In some cases, this might be OK though. If you are straight out of school and you don’t have “real world” experience, this might be a great way to get a lot of it very quickly. The thing to keep in mind when going this route is to try to learn the proper way to do your duties (training, researching, books, etc…), and then instilling those best practices into the organization.
Over the past five and a half years, I seem to have been building from the sub-basement up, but I feel like I’ve accomplished quite a bit in terms of infrastructure and software development practice that this company will be much better off with after I’m gone. I mean come on! Before I started here no one was using version control! Argh. At least it only took one major disaster to convince the CEO we needed to get off our butts and put some common sense things in place. Here are the things that I’d recommend you set up immediately, if they are not already in place when you get there.
Email. This is so easy nowadays. Don’t buy an email server. Don’t host it yourself. Under your desk is not a reliable hosting situation. Get someone to do it for you, and make sure they’ve got a good SLA in place for backups, downtime, etc. It can be as cheap as $50/year/user (Hello Google Apps!) or as expensive as RackSpace managed Exchange hosting, but please, just get something reliable in place.
Source Code Version Control. For the love of all that is holy in this world, I don’t give a frak if you are a Flash designer, a email marketer, a JavaScript ninja, or the badass mother who invented C, use version control system. Use it for everything. Everything goes in there! Config files? Yes. Images? Yes. Database schema? Why the world wouldn’t you? Build files? (Hint: YES). Make sure it’s secured. Make sure your developers can access it from home.
Anti-virus software. OK this is really only necessary on a company-wide scale if you are a Windows shop, but jeez, get something that can be managed distributively so you don’t have to spend three weeks updating all your sales people’s computers when their subscriptions expire.
Reliable, Competent Office Firewall. When I first started here, there was a POS that couldn’t even do simple VPN pass through. Our web server (at that point hosted by Digex [memories...they used to be great before MCI got their hands on them]) was only accessible through a VPN connection – good. So, in order to remedy this problem, some genius decided the most efficient solution would be to order up hm let’s see, how many developers do we have?, four? five? Good! Five External IP addresses! Jump on it Verizon! Bad! Now each development machine could sit outside the firewall, directly connected to the internet, and not have an issue VPNing into the web server. Sweet monkey Jesus. No. I’m not kidding. And if you really want to be shocked, this was happening well before anti-virus was even a thought on the horizon. Get a decent firewall for the office. At this point for less than 10 people, you could even get by with a WRT-54G hooked up with DD-WRT and be more than fine!
Those are the top four I can’t imagine living without again, but if I find myself in this position again, depending on the influence my role has, I’ll be hooking this stuff up, or running for the door.
This Greenhouse business is ridiculous. Most downloader-type applications are. Do I really have to:
Download the Greenhouse installer (2.6M)
 Open the file only to have it immediately start downloading what I can only assume is the core of some bit-torrent-esque windows client (Indeterminate size)
Start the application to go download the FREE content I’m looking for
Has the world gone mad? I should be able to log on to a website, see a list of games I’ve purchased, and download them indiscriminately.
On the good side, it’s nice that they are thinking about OS X and Linux from the get go. Well, OS X anyhow.
My first programming internship used VB6 (1998), and it was great at the time. My first real job was mainly Classic ASP (2001), and I didn’t have a problem with that either. We just got back a proposal from a consulting company to revamp one of our aging CD-ROM based products and my jaw hit the floor when he suggested VB6 as the platform of choice. You have got to be fraking kidding me. Microsoft came out with the final version of VB6 in 1998 and is ending extended support this year.
This says a bunch of things to me about this guy. Mainly though it’s that he’s too damn lazy to learn anything new. Now, I must say, I’m not thrilled about keeping up with the changes in .NET that seem to happen on a daily basis, but most of the time these changes are meant to address some deficiency and it’s usually a fairly transparent process documented from a .NET team member’s blog.
What irresponsibility for the poor clients of yours that don’t know any better! I really thought this is was an April fools joke, but no. Sadly, it was a real proposal. One thing that I did notice from this was that MS has been pretty consistent about standardizing the naming of their products to include the year of projected release date. Office XP was really 2002 but since then it’s been Office 2003, Office 2007. NT4 gave way to Windows Server 2000, Windows Server 2003 and now 2008. Visual Studio 2003, 2005, 2008. Imagine if VB6 was actually named VB 98? Would anyone actually still try to sneak it into their client’s projects?
HPC: “Yeah, so we’ve determined VB 98 is the best solution for rebuilding this product.”
Client: “You mean VB 2008 right?”
HPC: “Nope, 98! I’m a fraking moron!”
Who knows though. I’m still wary about moving anything in our organization to Vista and XP is starting to show it’s age. Maybe someone will think I’m this big of an idiot one day, but if I ever get this lazy, someone should revoke my computing license.
Marc Andreessen is one of my heroes, but I realized today that he’s indirectly responsible for inflicting goatse and tubgirl on the world. I guess someone would have proposed this sooner or later.
Alt+Enter brings up the properties panel for items in Windows. I did not know this. Equivalent in most cases to right clicking, properties but much much faster.