Posts

Hill climbing problem with your career

Chris Dixon's has an interesting post on hill climbing as it relates to career development. In short, his basic premise is to imagine your career is a 3d surface and your goal is to get as high on this surface as possible. He then outlines a couple of algorithms to do this. In explaining some trivial solutions I was struck by a common problem in people who work for a living. We are creatures of habit and we love the known. In addition, the known pulls at us due to it's immediacy, after all, it's right HERE, right NOW, I'm 100% certain of what it is. If I where to start venturing out into the unknown, I better have a reasonally high expectation of something positive happening. If I'm going into the unknown AND I'm fairly sure I'm going to have a negative outcome, it takes an inhuman (maybe vulcan) amount of logical reasoning to act counter to that intuition. Put another way, I believe the reality of life is that this 3d surface metaphor is further com...

The Curse of Knowledge

I'm currently listening to an intro to psycology course lecture series and during a lecture on intelligence, the speaker mentioned "the curse of knowledge" (it's lecture 12 in this series ocw Brain and Cognitive Sciences . This is the problem caused by a difficulty in seeing the perspective of someone who DOESN'T know it. This means that when I'm describing something to you, I inherently assume you know what I know. I have to consciously stop and think to try and figure out what you may or may not know and develop an idea about how to present what I know in a manner that you will be able to understand. It turns out that this is often difficult, especially if you have a LOT of knowledge about a specific subject. That is not to say it's impossible to see things from the ignorant party's perspective, but it requires a conscious effort to change perspective. I see this all the time and it is particularly evident where I'm working right now. We hav...

Elusive software requirements

Those who have been following know that I moved to a new position about a month ago. I took over as a development lead for a project that was "just about ready" to go live. In speaking with the guys in charge, there was some concern because it seemed like some apparently simple changes where causing HUGE pushback from the development team. In addition, the application actually didn't even work by ANY measure... oh yeah, everybody could get a little tiny piece of it to work on their machine, but there's a whole other story about how we couldn't even actually build the project without having first built the project.... So I've spent an enormous amount of time (weeks) navigating the murky waters of "requirements" looking for the iceberg that caused this hole in our development boat. At first, I was told thing like "well, the requirements keep changing", and "well, things are kinda fluid, we just gotta be flexible". In addition, ...

Upgrading Linux ATI drivers on ubuntu

OK, normally I don't do tech stuff in my blog, but this has been a long standing frustration that, now that it's fixed, I feel the need to share. Background: A year or so ago I bought a fairly inexpensive laptop from Tiger direct. It was a toshiba satellite A215-S740 and only cost around $600. This is a fairly decent machine and I intended to use it for work. It came preinstalled with Vista, but I typically run Linux (ubuntu to be exact). I thought I'd run vista for a while and see how I liked it, tired after two days of the constant interrogation. I felt like Vista was an overly agressive Gestapo agent... so I installed Ubuntu (ahhh, much better). My first problem, however was that the built in ATI driver did not support 3d. At the time I was playing with building 3d visualizations of our systems and I REALLY needed 3d (because software 3d was way too slow). I found the ati proprietary drivers, installed them, and everything seemed OK acceptable, but not quite Grea...

Transition from two guys in a garage to multinational company

There is an interesting difference between how folks do things when its "two guys in a garage" and "a really big multinational company". The first thing I would say is that you can run a company of either size the same way. The second thing I would say is that you CANNOT run a company of either size the same way EFFECTIVELY. If you are a working in a web based software startup with 16 people and you have 2 developers, 4 project managers, 6 vice presidents, a CIO, CTO, CFO, and CEO... you are destined for failure (if you don't know why, I bet your title had the word "Chief" in it). On the other hand, you have an established company with 1600 employees, 24 well known brands, a B2B application that does a billion dollars a year in sales, you might need a couple of managers who try to keep things organized. You really don't need 40 developers all "doing their own thing" with little rhyme nor reason. I've been on both ends of this ove...

Cakes, Onions, and Ogres have layers, are you sure your code needs them?

Anybody write java code out there? Anybody have a data access layer? How about a business layer? How about a service layer? Why? I've heard all manner of crazy answers like: It makes my code more flexible. I can dynamically swap out components for one layer or another. I need to keep things isolated so that a problem in one layer don't impact the other. Convince me, because I'm just not sold at this point. I went through a number of projects with this fad back in the 2001-2005 timeframe and none of the theoretical benefits never seemed to emerge...

Project insanity

I've been rereading my journal (not blog) and realized that every year, for the last 3 years, I've been engaged in a crazy "meet the date at all costs" project that ultimately ended up being canceled around the March to July timeframe. This year was no exception and I raised red flags, drew charts, rang warning bells, blew whistles, rang gongs, frankly I think I did everything but set myself of fire and for some reason... we continued to mindlessly tool along using an outright crazy set of expensive tools to "deliver" a project that was totally behind schedule, didn't do what we wanted, and frankly was one of the most ridiculously avoidable failures I've had the misfortune to be involved with. Mind you I'm sure it ended up "working" and probably wouldn't be canceled this year because it had good buy-in from senior management, it's just we did it the hard and expensive way and relied on heroics of individual people instead of ...