I'm a reasonably smart guy. I'm not the smartest guy you know, but if you stick me in a room full of people, I'm probably not the dumbest guy there either.
So, what's so goddamn unnerving about this new job is that I'm always the dumbest guy in the room there. Everyone else is more familiar with the business, and the computer languages they use, and even the very computer on my desk (a Mac!) than I am. Me? I'm the guy in the corner, sitting in a puddle of his own drool.
This is in stark contrast to how I was at my previous job, where I knew the technology and the product pretty damn well. There, I was the guy who could answer questions as opposed to what I am now, which is the guy who can't even figure out which question to ask, or where I should hang my drool cup. I haven't been the dumb guy in nearly 18 years ago, which is when I started my first job after college.
This week at work, I had my first code review, which is where your peers scrutinize the lines of code you've been writing, and tell you what's wrong with them. Unless you relish having your work criticized, it's typically a humbling experience.
I'll tell you this though, one of the benefits of acknowledging myself as the company idiot is that it has removed my ego from the code that I write. I know that I don't know the business well. I know that I don't know the computer language well. I know that everyone else in the room can do my job better than I can. So, it's pretty damn easy to sit back, accept the criticism and learn from it. I was actually looking forward to having people critique my work, because it seemed like a great chance to learn from my co-workers. During the code review, I kept thinking, "Of course there's a better way for me to write that line of code! I'd be surprised if there was a worse way!"
Although this ego-less attitude has been handy, I hope I'll last long enough in this job to see someone else take over the mantle of the dumb guy.