Thursday, February 25, 2010

Are you a .Net or Kernel Dev?

Seems to me there are about three types of programmers. I'm sure there are many more, but I'll focus on these three. You've got the .Net developers, the Runtime developers (those that are coding .Net or the standard C library), and then finally the Kernel developers.

I'm sure these developers dabble in other areas but I'm also pretty sure someone will admit to being in one of these distinct categories.

The .Net coders


Not necessarily a ".Net" programmer, but a programmer most at home using APIs to build larger systems. A coder who doesn't care about the underlying implementation but rather that it just works. Not as much technical knowledge required, but probably a higher depth of design philosophies. These are the "business logic" programmers employed throughout the world to get things done.

The Runtime developers


Still a firm grasp of design principals and patterns, but also more focused on some technical details. Questions they have probably asked themselves, "How should I split up a chunk of memory the OS gives me into smaller 'new' and 'malloc' sizes?" Or "How would I implement printf?"

The Kernel developers


These are the crazy ones. Memorizing op-codes from the Intel x86 Instruction Manual or reading up on page table entry structure formats. These developers do need to know about design but also need to have the technical expertise to work right on the bare metal.

I guess I'd like to see job candidates that classify themselves into one of these classes. It's important to understand what they are interested in and what questions to ask. It's also important for the candidate to know so they apply for the right jobs. There's no wrong answer to this question -- the world needs all three types!

It's also important to continually evaluate where you want to be. I definitely think you can change your path.

Tuesday, February 16, 2010

Interviewing

I've been interviewing candidates at work lately. It feels like a giant responsibility -- hire someone who will perform well at Microsoft. Although there seems to be a lot of lore online about what sort of questions are asked during a Microsoft interview, I don't know where this comes from! The questions I ask are intended to find the candidates understanding of coding but also understanding their problem solving skills with respect to coding.

I don't really care if they can answer why a manhole cover is round (so it can't fall in... sigh). I want to know how they react to conflict, what they worked on in their previous jobs, maybe even give them existing architecture and ask *why* they think it was designed the way it was.

It's no secret what any employer is looking for. They are all looking for the same thing: a person who brings value to the company.

Being involved in the interview process is a GREAT way to understand what interviewing is all about. It's a great way to understand why questions are asked and how you can help the interviewer come to the correct conclusion about you. I definitely value the experience I've gained and I hope to get much more in the future.

It's also important to make sure the candidate knows how VALUED they are. Right now we have positions we cannot fill in our group. To think that someone is willing to move across the country to work for your company is quite amazing. I appreciate every person whom I speak to.

Just my 10b bits.

XNA Ruin Engine

Wow, I haven't worked on my "Ruin Engine" for quite a long time. I started reviewing the code after thinking about what I would want from an engine. All I can say is there's a lot more work to do.

I've forgotten some basic scene graph concepts and I have no idea how I could have done that! There's no position or orientation data in the Blender output format. Apparently I thought I'd just always use the origin. This doesn't work if I want to do anything like scene layout in Blender (which I do). I'm going to get to work on it in the next few weeks -- I've had a hankering for 3D lately.

Monday, February 1, 2010

Break Room Etiquette

I really want to sent this mail out...



From: Jon Ward
Sent: Monday, February 01, 2010 2:16 PM
To: XXX
Subject: 3rd floor blender?

Hello All,

Can someone please return the 3rd floor blender back to the breakroom? I’ve noticed the upper container in there many times but I have never been able to find the blender “motor” portion. I have filled the blender container with a wicked awesome concoction of creamer tabs, left over milk cartons, and that sweet ass fermenting oatmeal I occasionally find in the sink.

The only thing missing is a high torque electric motor to realize my culinary dreams!

Thanks!

Jonathan Ward

Tuesday, December 1, 2009

A Cop Killer is dead...

... thank GOD!

If I ever go off that deep end, here's advice to my family and friends that would consider helping me: TURN ME IN!

If you haven't been following the news please read the context. Here's a shout-out to my family and friends, if I ever go FUCKING NUTS and do something horrible like this (rather than killing myself for even thinking about doing it), please TURN ME INTO THE POLICE.

Okay, that said, they finally caught the asshole that shot 4 cops in a coffee shop up here in Seattle (actually, a suburb of Tacoma, but "seattle" < 1 hour drive of "Seattle" for the national news).

Thank God they caught this guy. The only better news in this case would be if they charged all his family and friends that helped him for the last 2 days with ATTEMPTED MURDER for the acts he committed against the officer that found and shot him.

That's the end of my rant.

(If you want to protest the cops.... PROTEST, don't shoot.)

Monday, November 23, 2009

Silverlight!

I've been working on a project at work using Silverlight. It has actually been pretty nice. Some advantages of Silverlight over Flash:

1) It's free.
2) It's C#.
3) The power of WPF-like UI.

So, that's about it for now, but it says a lot. I'm really impressed how Microsoft has been giving away dev tools in the "Express" versions of Visual Studio. If you have access to a PC running Windows and you are a developer, I suggest giving Silverlight a try. Also, there appears to be continual support for Moonlight -- the opensource version of Silverlight.

Just something to think about. I've been impressed and I bet you would be too.

Wednesday, November 4, 2009

Voting Methodology

I've been accused of not having sound voting methodology. I think it's really up to the voter though.

Here's what I went with on yesterday's election:

1) Of the candidates, whom have I heard the most about (whether positive or negative).
2) If no candidates are familiar, whom is lowest on the ballot (has the highest last name sorted alphabetically).
3) If candidate from #2 is female, vote for the candidate above her, unless there isn't one.

Here's my justifications:

1) Candidate with most "media coverage"
- By voting for the candidate with the most name mentions, I'm discouraging negative campaign advertising, such advertising typically names the opponent in much more meaningful contexts than the smearing candidate.

2 & 3) This is the most likely criteria for me to be elected.
- My last name starts with "W" and I'm male, so I'm voting for the candidate most like "me" (in as much as I can tell).

I think it's as good as any voting methodology. It's not like I'm going to try understanding what a candidate stands for -- they stand for whatever they think will get them into office. Also, it's not like voting for a liberal conservative or a conservative liberal is going to make much of a difference when policy is concerned.