Holy Shit, I’ve Been Hacked

Apparently there is some wordpress vulnerability that allows someone to replace my header file with a whole bunch of viagra links. Awesome.

Anyway, it actually overwrote the file on the server, so my design is all busted and I don't have it backed up in any way.

I'll be upgrading wordpress and fixing my site theme. This may take some time. Bear with me.

No, this is not an April fools thing. I actually got haxx0red, for realz. :/

Update: Alright, I've upgraded wordpress and removed the viagra links. It appears that someone was able to override my footer and header.php files for my theme. To an extent, I'm not terribly surprised, as those files are set world writable so that wordpress can write to them, allowing me to edit from the admin console.

This whole thing could have been much worse. The hack left my database untouched, all of my blog posts look the way they are supposed to. All it did was modify the files to my theme.

That said, because it so thoroughly destroyed my theme and I didn't back my theme up on my local machine (it's just a blog), I have set the site to use the default ugly wordpress theme until I can work up another one. It's just as well, I was sick of the old one anyway.

Extra Update: I just wanted to share the comment that informed me something was wrong with my site. It's humorous. These were both anonymous:

Real quick…I want an explanation for what the hell happened to your site or I’m reporting it to your hosting company and to Google. Two days ago I found this post and this site through Silicon Alley Insider and bookmarked it because I liked the blog design and wanted to work on something around it. I come back tonight and obviously the CSS file is gone. I clicked “view source” and not only is there no CSS file, there is no document head, no robots file, but there are about a thousand links to spam drug sites embedded in the source? You really don’t want me screencapping and posting this here and there, and you definitely don’t even want me to get started with Google, of all companies, reporting your ass if this isn’t a case of a your website being hacked.

Then later, same person:

You can hold my comments for moderation, I don’t care. I think you’re fucked either way. Looks like this site is owned and operated by the (fictitious?) Rod Hilton, whose own website is on a Google server. Try explaining that and all the spam links served to this site dynamically, viewable in the page source, before I get going on explaining it for you. You definitely don’t need to show my comments here to bury yourself in a world of shit.

Jesus, what a spazz. Well, thanks for letting me know my site was hacked, even if you did so by being a crazy person.

My First Caucus: The Tale Of The Reluctant Delegate

This past Super Tuesday, I participated in the Caucus in Colorado. This was my first experience doing anything like this. I vote in every election, but typically I have absentee ballots mailed to me in order to vote. I'm normally registered as an independent, so I can't do much more than vote in the election itself anyway. This year, however, was quite different. I actually got involved.

Getting involved, in short, sucked. This is my story of why. Normally I would put pictures into a post this long, but I didn't realize until the Caucus was over that it was going to be such a ridiculous experience as to warrant a blog post, so I didn't take any pictures. Good for you if you manage to get through all of this anyway.

Background

For the first time, hearing a politician speak actually got me excited. Normally I view voting as a choice between the lesser of two evils, but for the first time a candidate was talking about things that really mattered to me. Ron Paul talked not only about how we shouldn't be in Iraq, but about how our foreign policy is actually making us less safe, from a practical standpoint. Ron Paul talked about how the executive branch has gotten too powerful, and it needed to be trimmed back. He talked about empowering states, and he talked about decreasing the overall power of the federal government. These were all things that were important to me, and hearing a person actually running for president talking about those things got me excited enough that I registered as a republican so I could support him.

Now, that was many months ago. Since that time, my support for Ron Paul has decreased. Not dramatically, but I'm nowhere near as enthusiastic as I was once. While the idea of adopting the gold standard for currency and abolishing the IRS both appeal to me, they both seem too extreme to do anything other than hurt the country. Ron Paul's stances on technology greatly irritate me - particularly that people trumpet it as a good thing (many clamor that "he voted against regulating the internet" like it's a reason to vote for him. I don't think people understand that was a vote AGAINST Net Neutrality). He has pushed numerous pieces of legislation forward that seem to contradict his world view of limited federal government, most notably bills that have to do with his personal religious beliefs. He is pro-life (I'm not). He trusts the free market a bit too much for my personal taste (a common problem with Libertarian candidates, who would seemingly like to remove things like the FDA). Despite all of these reasons (which would normally make a candidate lose my support), he still trumpets more than any other candidate how important our civil liberties are. In a "post 9/11 world", it's rare to see a politician actually espouse the position that our liberties are more important than our safety, and Ron Paul still does - vehemently. The short of all of this is that, by the time the caucus rolled around I was still a big Ron Paul Fan, but I was no longer a Ron Paul Zealot.

At the same time, Barack Obama was talking about a lot of things that mattered to me as well: the war, civil liberties, the war on drugs, and he also got bonus points for his views on technology. Between Obama and Ron Paul, I would have a hard decision to make. Yes, the two disagree on a LOT, but that doesn't mean it's impossible for me to support either one. Support for Paul would only exclude support for Obama if I supported ALL of Ron Paul's policies, which I do not. Their overlap is significant, and they both appeal to different aspects of what is important to me.

By February 5th, the republicans still in the running were Mike Huckabee, Ron Paul, Mitt Romney and John McCain. Of those four, Ron Paul is, in my opinion, the best candidate by miles. There was no need, at that point, to consider the fact that I was growing increasingly partial to Obama, since Obama wasn't running as a republican. On February 5th, I had two options: one, I could stay home and not participate at all on the grounds that I might not vote for Ron Paul if he were running against Obama, or two, I could recognize that Paul is the best republican of the bunch, and as a registered Republican I only had a say in the Republican Caucus.

I figured that the experience alone was worth the price of attending. I had specifically registered as a Republican in order to support Paul, so I figured I may as well do just that. It was either that or do nothing, so I picked do something.

Next time I do something "for the experience", I may want to think twice.

Continue reading ‘My First Caucus: The Tale Of The Reluctant Delegate’ »

My Interview With Google (Continued)

I didn't expect the story of My Interview With Google to be a two-parter, but it turns out the story didn't end where I expected.

Not too long after I made the post, it was submitted to Reddit.com where it enjoyed front-page status for two days. During that time, I got a lot of visitors and a lot of comments, some even from Google engineers.

I also got a private e-mail. It was from someone at Google. He explained that my post had been circulating around the Google office and when it got to him, it piqued his interest.

Essentially, he wanted me to come work for him in Mountain View. He was looking for Java folks for his team, and he thought I'd be a good fit. I jumped out of my chair when I read this, amazed some additional life had been breathed into my foray into the world of Google. The more I considered the e-mail, however, the more a part of me wanted to say no. Why?

His offer was essentially doing some semi-internal development for Google. I wanted to work on their web application back-ends, so that was a tad disappointing. Could that be the reason I wanted to turn him down? That didn't seem right, I had been joking for a while that I'd be happy to clean toilets at Google. Writing code is writing code.

The position was also contract-to-hire, which didn't roll my socks up and down. But I had been saying that once I got my foot in the door, I'd be alright. I knew I'd do fine at Google if I worked there, so I wasn't too concerned I wouldn't be hired permanently at the end of the contract work. No, it wasn't the contract aspect that bothered me.

He also told me that I'd have to spend three months in California doing the job. I'd then have to spend three months in California in a permanent position in order to "culturally integrate" before I could go back to Colorado and work in the Boulder office. This definitely bothered me. Since I would want to continue living in Colorado, I'd basically have to live in a hotel in California while Julia (my fiancee) stayed here in Colorado for 6 months. I just got engaged a month ago, and the idea of abandoning the family I'm just starting for Google seemed completely unfair. If I had gotten the job I originally interviewed for, I'd only have to be in CA for one week for training, so 6 months was a pretty big deal. When I told Julia, she told me that she could handle 6 months, and if I wanted to take this position I should. She was completely supportive of whatever I wanted to do. So it wasn't even the 6 months away from my home that was driving me to turn the position down.

I thought about this for days. I couldn't figure out what about the offer I didn't like, so shouldn't I take it?

Eventually I figured out what I didn't like about the situation and I turned it down. I don't think I could explain my rationale better than I did in my e-mail to the guy from Google, so here is what I told him:

I've been thinking about your e-mail for a few days and I've finally made a decision. This was not a decision I made lightly by any stretch.

Let me start out by saying thank you for e-mailing me and giving me another potential shot at Google. I hope you don't mind, but I'd like to update my blog story with this additional bit, though I won't be using your name or any details.

As I said in e-mail and via the blog post, there is no place I'd rather work than Google. Google, to me, is Mecca for software developers. Google does amazing work that improves the entire world. There is no better way to put my software development skills to use than at Google, where I'd be doing good work to make life better for countless individuals.

My personality, my desire to learn, my goal of improving the world - all of these tell me that Google would be the best place I could work. I know Google is right for me.

But am I right for Google? The interview process concluded with a resounding "no". Google decided that I am not a good fit for the company, and sent me back to Colorado. The fact that I made a funny blog post describing my journey doesn't change the fact that, from a technical standpoint, Google considers me below their standards.

Despite the conclusion of the interview, I believe I *AM* right for Google. I believe that, if I interview again after improving my algorithm skills and becoming more confident in my own abilities, Google will see that I am a good fit and hire me.

In short, I want to work at Google more than I can describe, but I want to work there because I earned it. I want to start my first day at Google knowing that I belong there, and knowing that Google knows I belong there.

As tempting as your offer is, I feel like it's sneaking into Google via a backdoor. I want to enter Google through the front door.

I intend on improving my abilities and learning new skills, as I do all the time as a developer. When I am ready, I will re-apply to Google, and hopefully I will meet you in the cafeteria during my week of training in California. :)

Thank you again for your e-mail.

I never imagined I would pass up a chance to work at Google, but there it is. I think I very well may look back and regret this, but for the time-being I'm comfortable with my decision.

This, I imagine, actually concludes this story. At least for a while.

Bigger and Better Things…

Right after I graduated, I decided I needed a change of scenery and decided to move from New York to Colorado. I assumed that a Computer Science degree would get me a job pretty quickly after I graduated, so I thought nothing of driving across the country with no job lined up. I figured I could move into an apartment and find a job in a few weeks. What I discovered was that my lack of experience was a major problem for most companies. My previous job had been working for a small company being run by a professor. He recruited me into his company when he saw one of my projects for his class. They were tiny. We had our company meetings in coffee shops around campus. I did all of my work in my own dorm room.

It became apparent that I lacked a great deal of real-world industry programming experience. I definitely needed to be molded, and all of the companies who saw my resume seemed to realize that.

I applied for a ton of jobs, and only heard back from one. I bought a suit the day before my interview, the only suit I had owned since I bought one for a funeral when I was a teenager.

My First Interview

My first interview

The company was in Denver. I drove into the city (for the first time since I moved to Colorado) and looked for the office. The buildings seemed to skip over the address I had written. Eventually I discovered that I had to walk between two buildings, into the side entrance to the basement of one of them. No logo was on the door, so I knocked, terrified at what might open the door. A woman opened, told me I was at the right place, and invited me in. Once I stepped inside, I was asked to take my shoes off, so I didn't track dirt onto the rug. While I sat in the "waiting area" a guy came out from an adjacent room and fiddled with a cable modem plugged in behind me. The "company" consisted of 3 people, including the receptionist. Once my "interview" began, I was asked to write some code in JSP. I had explained in my cover letter that I didn't know anything about JSP, but I've used Java and I'd be happy to learn JSP. He told me to write the code anyway. "Figure it out."

I sat in front of the computer, using the internet to look up information about JSP. Having never used it before at all, I was impressed that I managed to figure out what I did. Unfortunately, the task was connecting to a database. I needed the database connection string from my interviewer, but he refused to give it to me. He told me that was part of "figuring it out". To connect to a database, I needed to know the server address, login, and password. How he expected me to figure that out, I have no idea. Needless to say, I was unable to complete the task, and I didn't get the job.

As I drove home, I was terrified. I thought I'd be able to get a job, but the only one that even called me back was a place for which I was completely unqualified. Do I not know enough about the "industry" to get a real job? How will I pay my bills while I read all the books I need? How will I afford those books? As shady as that company was, I needed the job. It sucked I didn't get it.

I stopped applying to jobs for a while. I bought three books on J2EE and tried to read through them as quickly as possible, but I found the content difficult since I lacked any kind of context. I put my job hunt on hold for a while, figuring I was unfit for the working world. About a week later, I decided to look at jobs again. I saw a job post by a company called InsightAmerica. Without a second thought, I pasted my cover letter and modified a word or two, then sent it off. I expected nothing to come of it, but the job description only mentioned Java, so maybe my lack of EE experience wouldn't be a problem.

Within an hour, the hiring manager called me. I got a quickie phone interview and I was told someone would call me later for a technical interview. Later in the day, a guy named Duke called me and asked me some questions. I tanked his SQL questions, and I remember distinctly doing terribly with his "how many barbers are there in the U.S." question. Somehow, though, I got an interview the next day.

My Second Interview

Conrad

I showed up in my suit again and interviewed with Duke, a woman named Lisa, a skinny guy named Neal, and a big guy named Conrad, who was the first person who called me.

Conrad didn't ask me anything at all. It seemed clear he had already decided that he wasn't particularly interested in me. He wouldn't even answer my questions about the company, presumably because I'd never be working there if he had his way. He spent the entire interview making jokes, clearly detached from the process and uninterested in evaluating me.

Lisa stared me down the entire interview. Every time I tried to make a joke, she knocked the wind out of my sails. She saw that I wrote "Scheme" on my resume and asked what it was. I explained it was like Lisp, and she asked how often I used it. I said I wrote some programs with it in school, and she laughed in my face, telling me if she had known you could put that on a resume she'd have put Cobol on hers. Every time I answered a question, I was met with a skeptical snarl on her face.

Neal was quiet for most of the interview. It was clear, however, that he didn't like how young I was. One of my interview questions was "If you didn't have any work to do, how would you spend your day?" I thought about it and realized that I'd probably read articles on the internet or advance a chapter in a computer book, since I like learning new languages and technologies. I responded "I guess I'd read," and Neal chimed in with "comic books?"

Duke asked me more technical questions, but I didn't do very well with them. Most of his questions were geared toward the kinds of things a professional programmer would know, centering around writing maintainable code. Since my previous job didn't need the code to be maintainable, and I was never graded in school on code elegance, this was experience I lacked, and it showed. He asked me about the software development life cycle, and I didn't even know what he meant. I was feeling my age and inexperience dragging me down.

I drove away from the company feeling like I had once again wasted my time. I didn't hear from the company after that, and I applied for a job at Best Buy. I started thinking about working at a fast food joint, or working for my old company remotely. I felt like my life was falling apart. "I'm a smart guy," I thought to myself, "I'd be great as a developer, I just need someone to look past my inexperience and take a chance on me."

My First Real Job

Cubicle

InsightAmerica took that chance. I actually got an offer from them a week after that horrendous interview. I remember thinking at the time I'd never be able to spend the money they offered me. When I showed up for work the first day, I was so excited. A real office! Real cubicles! Holy hell, I get my own cubicle!

I jumped into my project and learned as much as I could. It turned out that I was hired as Lisa's errand boy. She inherited an enormous Java application, and needed to devote herself to modifying the code, so she needed me to take over operational tasks on the system (like rebooting servers, manually fixing records in a database, etc). It was boring work, but I had access to the code. I read through it whenever I could. I learned a great deal about good OO development during that process, and I eventually got to a point where I understood the code better than Lisa. At one point, we both got an e-mail requesting a change. An hour later, an e-mail arrived from Lisa where she responded to the requestor by saying that the change would take weeks. I saw it appear in my inbox just after I hit send on my own e-mail explaining I had made the change and pushed it out to the server.

As time went on, Lisa was taken off the project and I was made lead developer on it. I learned more and more about what it means to develop code professionally, and eventually became well-regarded by the rest of the team. I actually learned enough to be regarded as something of an "expert" on OO development. Along with Duke, I became the "Java Guy" at the company, answering questions other developers had. I even led a few presentations on various computer science concepts. Within a year or so, I was conducting technical interviews and I had the word "senior" attached to my title. A 23-year-old with "senior" in his title.

During my time at the company, Conrad and Lisa were both fired. Neal became the manager. Duke became one of my best friends. Neal told me one day that Conrad and Lisa were both adamant I not be hired because I was so young, but he and Duke both wanted to take a chance on me, figuring I would turn out to be one of their best employees. Neal explained that he was right, and it was one of the nicest complements I'd ever received.

Moving On

InsightAmerica was my first real job in an office. It's hard to believe I've only been working here two years, since I feel like I've learned so much. I'm Sun-Certified in Java, highly knowledgeable about OO and Design Patterns, and almost finished with a Masters program. I also have a Sun Certification in JSPs and Servlets, so fuck you, basement-company. I'm a much better developer than I was two years ago, and nothing illustrated that to me better than my recent job search.

It was difficult to decide to leave my company, since I was so grateful for the experience. However, I had to be realistic, and it was definitely time to move on. Even Neal left the company.

My new company is smaller, and they do really interesting work. They deal with open source software, one of my passions. Everything about the job is perfect (including a salary bump). It's a team of really bright geek types doing work that can make them proud.

I'm extremely excited about my new job, and I can't wait to start. It is tough, however, to leave the first company that took a chance on me. The first company to teach me what it meant to write truly maintainable code. The first company to mold my understanding of Computer Science into something applicable to the software industry. The first company to encourage me to learn new languages and technologies, allowing me to finally feel worthy of employment at a real company. InsightAmerica taught me what I needed to know to get a job better than the one at InsightAmerica.

People have told me during my two years that I've taught them a lot about Java, OO, and Computer Science.

The truth is, it was I who learned the most from the experience.

My Interview With Google

Update: Apparently this site (talking about the ways in which people blew their Google interviews) links to me, and also used my picture. It kind of sucks that an article titled "How I Blew My Google Interview" has my face on it, but that's what happens when you put a picture on the internet, I guess. More disconcerting to me is that the portion of the article below that was highlighted was my discussion of my interview with the guy with the thick accent. The implication of the linked article is that I blew the interview by not understanding him. I'd like to clarify, that part of the experience was just a relevant part of the story, which is why I shared it. I blew the Google Interview not for that reason, but because my algorithm skills simply were not up to snuff at the time. Blaming the rejection on having a hard time with accents would be petty and silly. I was rejected because I wasn't good enough, plain and simple.

Recently, I had the pleasure of interviewing with Google. It was very exciting, as I've wanted to work for Google for quite some time, and they opened up a branch near my home through an acquisition recently. I wanted to share the process of interviewing with Google, not because it was particularly noteworthy, but because I wondered about interviewing with Google before I did so, and I figured others might. I've had to sign an NDA, so I'm going to be pretty careful about what I share in this post.

Me, excited

The position I interviewed for was a Software Engineer position in the Boulder, Colorado office (near where I live), but they still conduct their interviews from the California office. Because I'm not in California, I had to go through two phone interviews first. The questions Google asks are pretty interesting for a number of reasons. I think the best word I could use to describe the questions is "fair". I didn't get any tricky puzzle questions. Nobody asked me what I would do if I were shrunk to the size of a nickel and thrown in a blender. Not a single question was an "a-ha!" type brain-teaser. Pretty much every question was a good question for figuring out if someone can write code. Even though I was interviewing for a Java position, I only had one Java-specific question. I could really feel from the questions that Google wasn't concerned with me being good with a specific language; they really wanted to know if I was just a good coder.

When I was first told by the recruiter that the questions would be algorithm-based, I was worried I'd have to reproduce quicksort or something. In fact, the questions were far, far more reasonable (though reviewing sorting algorithms WAS a good idea). Most of them involved manipulating data in an array for some purpose. I'd give an answer that worked, and they'd ask me if there were any corner cases. I was asked to solve the problem in a way that avoided those problems. Then I was asked to improve the space efficiency or running efficiency of the solution. A solution that "worked" was never enough, the interviewers always pushed me further, trying to squeeze out performance. I had to say the runtime complexity for nearly every solution I suggested. I would NOT recommend interviewing with Google without a Computer Science degree. You need to be able to look at a function and know the Big-O for it immediately. Specifically, you need to look at YOUR OWN functions and know the Big-O immediately.

Me, humming the Full House theme in my head

After doing well with both of these interviews, Google actually flew me out to California for a weekend for an all-day interview on the Google campus. They paid for my plane ticket, hotel room, rental car, and some food. I bought a second ticket for my fiancee and we did touristy crap around San Francisco. Overall, it was a lot of fun, but I couldn't help but keep the back of my head occupied with the thought of an all-day interview.

On Monday, I went to the Google campus. In the main lobby, they have a projector with a scrolling list of Google searches. I sat in the lobby waiting for my interview to begin, happily watching the searches scroll by. Lots of female celebrities were being searched, and someone searched for "vista crack" which made me laugh out loud, ensuring the receptionist thought I was an idiot. I sent my fiancee a text message telling her to search for "Rod is awesome" but it didn't show up. They also had a neat visualization showing where people were doing searches on a spinning globe.

Pictures of Googlers with celebrities adorned the wall next to the new Google whiteboard. For those that don't know, Google has a giant whiteboard which was finally erased not too long ago. Before being erased, someone took pictures and posted them to the internet. The new board was already mostly full by the time I saw it, and a large section of it was devoted to complaining about the board being erased.

Some random Google building

I also had lunch in one of the cafes on campus. The Google cafes are all buffet-style, and completely free. You simply walk in, grab whatever the hell you want, and leave. My "lunch-date" was one of my phone interviewers, and he took me to the health food cafe. Salads, tofu, bean sprouts, and similar food items filled the buffet. I searched desperately for some meat and filled my plate when I finally found it. I'm definitely NOT a California person. People looked at me like I personally killed a cow in front of them.

The on-site interviews were much like the phone interviews. I had one-on-one meetings with a handful of people, one after another. Each person asked me algorithm-type questions. I did some whiteboarding, but was mostly able to write the answers in my notebook, which was better for me as I could keep up with my brain much more easily on paper than on a whiteboard. It was sometimes difficult to focus on the questions while "OH MY GOD I'M INTERVIEWING WITH FUCKING GOOGLE" whizzed by in my brain over and over. Luckily, pretty much everyone was extremely friendly, which helped calm my considerable nerves.

The biggest difference in the questions between phone and on-site interviews was how my answers had to be presented. On the phone, it was sufficient that I explain, at a high-level, how the solution to a problem would work. On-site, I had to actually write it out. Of my four interviewers, two actually wanted it to be valid Java.

I finished early with one of my interviewers, and he asked me a joke question: if a Stormtrooper shoots a red-shirt, does he hit? It was comical how universal this seemed. Of course I'd know what he was talking about, I write software. Luckily, I was familiar with the term redshirt from being a film nerd, and I was able to come up with a joke answer that didn't let him on to the fact I've never seen a single episode of Star Trek in my life.

Part of the Google Campus

The worst part of the process was my fourth and final interview of the day. The guy was from Moscow, and he had a very thick accent. All of my life, I've had immense trouble with accents, even slight ones. My project manager at work has a thick accent from Italy, and she basically sounds like Chewbacca to me. I'm not complaining that Moscow Guy had an accent (all tech companies have folks with accents), but it sure made the rest of the interview process challenging for me. My interview with the Moscow Guy resembled one of those satellite interviews on the news. He'd say something to me, and there'd be this long pause before I responded. To make matters worse, he told me his first question was going to be "an easy one", so when I barely understood what he said at all, I imagine I looked like a complete imbecile. "What was that? You want me to WHAT two numbers together? Mo de ploy? Mah dah bu? Oh, multiply! Right, two times two is four. I'm obviously partially retarded."

To make matters worse, the Moscow guy was the only person I talked to the entire day who wasn't friendly. He wasn't a complete jerk or anything, but he definitely wasn't as warm as my other interviewers. Right before the interview ended, he asked me what I'd work on for my "20% time" project. Each Google employee gets to devote 20% of their time to a side project, which is why so many of the Google Labs projects exist (like Gmail and Movie Search). I actually had an answer to this question, since I thought about it on the plane ride out to California. There's been a side project I've been wanting to work on at home, but I haven't had time. I figured, if I got the job, I'd just make that a Google Labs project and do it there. I explained my idea to him, and he told me it sounded interesting, then proceeded to write it down right in front of me. All I could think was "I hope I get this job so I don't regret that."

I imagine the four interview feedback e-mails looked like this:

  1. "Candidate knew his stuff, but seemed awfully nervous."
  2. "Candidate knew his stuff and seemed relatively comfortable."
  3. "Candidate kept joking around like I was his friend. Clearly was not nervous enough, given that he was interviewing at FUCKING GOOGLE."
  4. "Candidate seemed to have the brain of a chimp. Was surprised he could speak without forgetting to breathe. Interviewer confident candidate eats glue."

Google Lobby

I flew back to Colorado feeling pretty good about the whole thing. As it turns out, though, I was told over the phone (while trying to push a car out of the snow during the Denver blizzard) that I didn't get the position. I need to work on my algorithm skills, so I guess I got docked for not thinking of the best solution right away. The Google Recruiter told me it wasn't the last guy that did me in, but I imagine if I had tried to come up with the best solution earlier (rather than the naive one so I could improve it) and if I had gotten a different interviewer for my last interview, I'd be writing this blog post from my desk at Google.

Considering how much I wanted the job, I admit I'm pretty bummed about this. I'm allowed to re-apply in a year, but I can't imagine improving my "algorithm skills" without more information on where my problem areas were. What's really unfortunate is that I know if Google had hired me, I'd have done a good job. If I see my idea appear on Google Labs any time soon, I'm going to go nuts.

All in all, it was a pretty pleasant experience. I'm disappointed, but I'm proud of myself for at least being considered seriously by Google. It was honestly kind of fun answering their interview questions. The questions reminded me of my undergraduate work, and it was nice to think about that kind of material again. I'm bummed that my progress into the world of Google came to such a screeching halt, but the journey has definitely been fun and interesting. And hey, I got a free trip to San Francisco out of it.

UPDATE: To my great surprise, this story actually wound up having something of an epilogue.

Removing Comments

I had an interesting task at work today. I maintain a project that has gone through at least 5 other developers before myself. When I was hired, it was to lighten the workload of the current-at-the-time developer. This developer had a bit of a personality problem, and she didn't get along with the rest of the team as a result. She was eventually fired, and I was left as the lead maintainer of the application, making changes as needed and improving it.

I've done a great deal of work on it, but it could only be improved so much, as the system has over 50 dependencies on unstable legacy systems out of our control. It's a real hassle to maintain. Well, the day has finally come where I can stop working with this nightmarish project. At the end of the month, the project is being officially sunset permanently. I'll be bringing a bottle of wine to work.

Unfortunately, one condition of the sunset is that the company we built it originally for gets to buy the source code. This isn't a problem, except that this previous developer generously spread helpful comments all around the system. She spent most of her time on the project simply keeping it running rather than actually improving the code, so most of her comments were along the lines of "this piece of code should be improved!" She never actually improved the code herself, but I'm sure she felt better making it known that she cast derision upon the other 3 developers before her.

My task today was to "clean up" the code so that this other company can buy it from us.

Continue reading ‘Removing Comments’ »