be able to read minds (anyone’s around you. Selectively. You aren’t forced.)
– OR –
be the smartest person in the world (in any field, you’re a genius)
…a question my wife and I pondered as we cleaned the house the other day…
be able to read minds (anyone’s around you. Selectively. You aren’t forced.)
– OR –
be the smartest person in the world (in any field, you’re a genius)
…a question my wife and I pondered as we cleaned the house the other day…
I just read all about Google Chrome, their new open-source browser, in the comic they put out. No download link at this time, but I’m sure it’s coming. My initial thoughts:
Overall, I felt a big “meh” after reading the comic. While many of the ideas are interesting, overall, I don’t see a compelling reason to switch. I’ll try it out when it becomes available, and my opinions will probably change on some things, but Google is going to have to do a lot more to overthrow IE. Maybe their purpose really is to just throw ideas out there and see what sticks, what gets integrated into competing products, etc. We’ll just have to see what happens next. It’s going to be a fun couple of years!
(P.S. Also, please everyone, especially media, start mocking Chrome for it’s “p%%n mode” just liked you mocked IE.)
My soon-to-be-old-company just announced a deal to give exclusive imagery to my-soon-to-be-rival. Sweet! I am a little disappointed Microsoft didn’t get it, but I don’t know any details of how the deal happened.
The GeoEye-1 satellite will be the highest quality commercial satellite out there when it launches next week. I am a little sad I’ll miss the launch party (my last day is the 2nd of September), but the date is what it is.
Charles Fishman has a wonderful article on a aircraft engine manufacture plant in Durham, NC. There are a lot of interesting lessons in here about teamwork, motivation, and work that make it a highly recommended read.
I’m supposed to be packing up the house and instead just read that.
Update:Jon supplied a link to a Joel Spolsky article counterpointing the above article. Now I’m going to be reading that instead of doing some chores.
I had been planning on writing a blog entry on the apparently sad state of our CS industry these days, and the complete lack of qualified American resumes that come across my desk, when we actually got a decent one today.
Still, there is much to be said about the poor quality of education. At some points, we’ve gone through dozens of candidates that had such weak skills that I’m surprised they graduated from a reputable institution.
Then I noticed on the Google blog today a new initiative to partner with CS programs around the country. I applaud this effort and all like it. Serious companies like Google, Microsoft, Yahoo, Amazon, Adobe, Apple, and everybody else who builds amazing software need to get involved and lay down the expectations.
Does anyone know if Microsoft has a similar comprehensive program? I know that they have MSDNAA, but that seems more like giving software in a marketing campaign than setting the agenda. I do see smaller efforts with robotics that are great, but a more general push is needed.
I consider myself lucky for having gone through a fantastic computer science education at BYU. I found it even much better than my graduate program.
The thought leaders need to start insisting on higher standards, and we need to shame schools that churn out useless bodies whose jobs will soon be outsourced.
I can see some pushback from academic circles because they won’t want big business telling them how to teach, but the reality is that when schools are doing such a poor job of preparing people, they need to change and listen to those who are going to be hiring.
We need to stop complaining and start changing the situation.
The folks on my future team at Microsoft have released a presentation about the diagnosing search engine issues with the recently released Live Search Webmaster Tools (it was out before, but in beta).
If you run a web-site, you should check out the tools and the presentation (even without narration, it’s worth a look).
If you are in the DC area, you must attend the BrickFair LEGO convention on its public days this weekend. The models here will be amazing. There will be over 12,000 sq ft of convention space. Bring the kids. If you don’t have kids, bring yourself–it will be worth it.
I was going to enter a large-scale creation of my own, but sadly ran out of time with dealing with new job, moving, etc. I’m still going to go, though.
When: Saturday, August 30, 2008 – Sunday, August 31, 2008 11am – 4pm
Where: Sheraton Premier at Tysons Corner
More info: BrickFair Website
Pictures of the 2006 event: http://www.brickshelf.com/cgi-bin/search.cgi?q=brickfest+2006&stype=dfc
Be there AND be square…
My last post was well and good (definitely read the comments), but I think I should be serious about my new employer because I really am excited to work there. Here are some reasons why:
What will be more interesting is to compare this list with what I come up with in a year.
(I kid, I kid…)
I had mentioned this in the Tips section, but some people on some sites might still get the wrong idea about studying for my recent Microsoft interview, so I want to write this post, which explains my opinion more (and it really is just my opinion–I have no idea what Microsoft’s policy or opinion is).
I want to make clear that cramming for a job alone will not get you this job. It didn’t get me this job, and it won’t get you a job at any place that really tests you. Thinking it will is a backwards approach.
The two books I mentioned, as well as the links I pointed out, are merely resources to help you focus your efforts. If you have to memorize the questions and answers rather than understanding them, you have a problem. If you didn’t do well in your CS algorithms class, chances are, memorizing the answers isn’t going to do much for you. If you don’t really understand pointers by this point, no amount of memorization is going to help you debug your C++.
Those resources are a way to reflect back on what you’ve learned through your entire career, starting in school. Let’s face it, how many times have you had to implement a hash table, or a heap sort, or even a binary tree? Those basic pieces are always provided for you–almost nobody writes them from scratch in production code. But should you understand them thoroughly? Yes. Should you know common gotchas? optimization techniques? how to write them? Yes, Yes, and Yes.
Even if the interviewer asks you to do some basic problem like writing a linked list function, and you’ve memorized it, then what? Ok, so you write it on the white board. Guess what the interviewer is going to do next? They’re going to ask you to analyze it, they’re going to say things like, now let’s make it circular. How do you detect a loop? Now it needs to bi-directional. Now it needs to be split in half. Now each node also needs to have children. Now it needs to be sorted. Now it needs to represent terabytes of data on disk, now it needs to be faster, smaller, smarter, better in every way.
And that’s only if you answer the problem perfectly at first, which is pretty hard to do.
You see where I’m going with this? It doesn’t matter how well you know the initial question, they will always get to a point beyond where you’ve prepared and you need to actually apply knowledge and skill and come up with something you haven’t thought of before.
I can’t remember where I read it, but someone said that Microsoft will deliberately ask you questions you can’t answer. This makes perfect sense–asking questions you know the answer to does not demonstrate the limits of your understanding. As an example, if I ask you only about basic addition, I learn little about your mathematical skills–only that you’re at an elementary level, which isn’t helpful. I have to ask about multiplication, division, fractions, algebra, trig, calculus, linear algebra, differential equations, etc. up to the point where you can’t answer anymore before I know what level you’ve achieved. It’s the same with programming.
Why did I work so hard for this job? A few reasons, I think. First, I’m a bit of a nutball. Second, I saw an opportunity I was not going to let go through any fault of my own. In the end, if they didn’t want me, so be it, but I was going to satisfied that I did everything possible to ensure success. Third, I expected the interviews to be harder than they ended up being, and I expected them to ask obscure questions about all sorts of data structures. Knowing what I know now, a lot of that preparation wasn’t necessary, but I don’t regret it–for the confidence alone it was worth it.
In the end, I thought they did a great job of discussing only basic data structures and algorithms, but really making sure they got you to think. No interview system is perfect, but theirs is really good.