I'll admit that I am very unhappy with my current job.

Part of this is whining, I know, but just hear me out.

One major, major, major problem with my job is that I work for a small company, and am the only person here that knows tech at all.

This was really great for me at the beginning. I am very proficient in BSD and Linux, so everything (mailserver, file server, FTPs, VPN, firewall, etc.) was built on one the two. I've had the opportunity to work on some really fun projects. One of my favorites was building access points out of soekris boards and ubiquiti wireless cards (this was before ubiquiti started offering their own, vastly superior, vastly cheaper solutions).

I'm also pretty proficient at python and perl. Because of this, I've had the opportunity to build some really fun in-house stuff that people have loved. I built us a contact management system on python, and I've built countless extraction tools (grrr...text files) on perl. Currently, I'm working on a content management system for our marketing department. This is all really fun and great, but remember how I said I'm the only person here?

My typical day involves arriving here at 8:00 (or so, my commute is an hour long), then sitting in front of my monitors for about 9 hours, until 5:00 rolls around.

During the day I CANNOT get anything done. I'll end up reading HN, or working on my own website. (errr..this is inaccurate. What I mean is that I don't get any of what I consider real work done. Just managing the little problems that the users have)

Why is this?

Well, a major part of it is the almost constant flow of interruptions from people who's computers are "broken" (I am "the I.T. guy" [a title that I despise], so every problem from a phone cord with a loose connection to a user that has pressed the insert button on their keyboard and now how a "broken email" gets handled by me). I'm sure that every coder here can relate to the frustration of getting halfway into a problem, then being rattled out of it by something like somebody not being able to figure out a numlock key and why, after they press it, their "numbers don't work". The overwhelming majority of code I have written has been done from the comfort of a barstool sitting at a local bar that I like. For some reason, I can get more work done there, or sitting in my backyard in a camping chair in my pajamas playing fetch with my dog, than I could ever even DREAM of getting done while actually sitting where I am now, at my desk.

But that is just one part.

Another part is that I am the the only person here who has even a basic understanding of computer systems. Remember the wireless network that I mentioned earlier? Here is how it works. It lives on a physically separate switch from the rest of the network. On this network lives an openBSD machine running openVPN. If a client on the wireless network wants to connect to anything on the "other side" of the openBSD machine (which has three interfaces, one of them on the private lan, another on the wireless lan, and another virtual interface that is a VPN tunnel between the two) it has to authenticate with openVPN.

Pretty cool, huh? (maybe not, but I think so).

Nobody here understands this. Is this narcissistic whining? OMG THEY DON'T APPRECIATE ME! Yes. Yes, it probably is, but it is difficult to get motivated to do anything when there is no payoff of "good job" from the boss. (judge if you would like). The only thing that gets noticed is that things aren't broken. Holy hell though, when they are...

There was one time. One of our T1s went down (there are two, one of them for our private LAN, another for the internet lounge that we offer to our customers). My solution to this was to take an OpenBSD machine that I had sitting in my office, put it on both networks, and make it act like a gateway for our private lan so that we could route outbound traffic through it, and out the working T1.

This wasn't a problem, but it took about an hour (at first I was going to try and do it without NAT, the problem was getting the router on the public LAN to route traffic destined for our private subnet back to my new gateway).

Nearly the entire hour was spent in front of a terminal in our server room with my boss standing over my shoulder going "what are you doing? Why isn't this working yet? Blhack, we REALLY need this to work RIGHT NOW! I don't think this is going to work. We really need to think about another way to fix it, can't we just use the wireless (the public LAN has a wireless network available, I hope I do not have to explain why this would not work). Can't you just try it this way? (this person does not even have a basic understanding of routing, or what it is), have you tried rebooting it. Here, I'm going to reboot it. Just unplug it and let it sit for a while!"

sigh

I apologize for the stupid senseless whining here, guys, work can just suck sometimes when you're the only one here, ya know? Gets kinda lonely :(

Thank the gods for HN.