The Artima Developer Community
Sponsored Link

Weblogs Forum
Where's the Bottleneck?

33 replies on 3 pages. Most recent reply: Oct 16, 2007 6:18 AM by Achilleas Margaritis

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 33 replies on 3 pages [ « | 1 2 3 | » ]
John Zabroski

Posts: 272
Nickname: zbo
Registered: Jan, 2007

Re: Where's the Bottleneck? Posted: Oct 7, 2007 3:38 AM
Reply to this message Reply
Advertisement
Everybody wants to rule the world: http://blogs.msdn.com/philipsu/archive/2006/03/19/554743.aspx

Granted, I am 23 years old, but I think this is dead-on. In a way, that blog post is directly addressing me.

It's also not just about the perfect process and figuring out how to run a faster marathon. I think development is about rhythm. If I am programming on a dream team, then my top wish is rhythm.

Most of my efforts in improving my programming skills don't necessarily equate into ways into improving my productivity, either. First, I believe the biggest productivity bottleneck I can have as a single developer is only one computer and one monitor, which is easy to take care of. The next biggest productivity bottleneck is tools. Both of these don't require any education on my part, REALLY. The next biggest productivity bottleneck might be memorizing shortcuts to common operations, like which function key to hit to compile, which function keys to use while in debug mode while isolating a bug that slipped past a unit test, etc. Point-blank: increasing my productivity as a measure of how much stuff I can get done has diminishing returns already and I've only made three optimizations, none of which required any real RESEARCH investment on my part.

So, what I spend most of my time doing is RESEARCH investment. I basically train myself to never have to rely on heroic programming abilities. In fact, I am not sure I can be a heroic programmer, because I've never performed a heroic programming task. Heroic programming is time consuming and basically something I don't envy. I believe superb programmers expend this sort of enormous effort to avoid ever having to find out how good their heroic programming skills are. In the end, I want to develop the skills that help me finish projects faster. I don't want to be sold on technologies that help me get started faster, because incomplete work ain't how I get my mojo rising. I get excited about getting things done.

This so-called "RESEARCH" investment is a considerable investment on my behalf. Add-in trying to have a thorough knowledge of the problem application domain I am programming in and basically the greatest Risk Factor in MY programming in research. And I'm not Microsoft. I'm a one man gang -- I'd like to believe I don't have communication problems.

Vincent O'Sullivan

Posts: 724
Nickname: vincent
Registered: Nov, 2002

Re: Where's the Bottleneck? Posted: Oct 7, 2007 6:58 AM
Reply to this message Reply
> I'm not interested in Microsoft-bashing here.

Unfortunately, by doing so you've reduced the whole article to exactly that. You should have kept the argument more generic "big old corporations are less innovative than little new ones" and the focus could have been retained.

Vincent O'Sullivan

Posts: 724
Nickname: vincent
Registered: Nov, 2002

Re: Where's the Bottleneck? Posted: Oct 7, 2007 7:00 AM
Reply to this message Reply
All Google's innovations exist to place more adverts on more web pages. It's a development model I could live without.

Mark Thornton

Posts: 275
Nickname: mthornton
Registered: Oct, 2005

Re: Where's the Bottleneck? Posted: Oct 8, 2007 1:07 AM
Reply to this message Reply
> You should have kept the
> argument more generic "big old corporations are less
> innovative than little new ones" and the focus could have
> been retained.

I really doubt that not mentioning Microsoft would have had that effect. I would give good odds that the very first reply would have mentioned them.

Joao Pedrosa

Posts: 114
Nickname: dewd
Registered: Dec, 2005

Re: Where's the Bottleneck? Posted: Oct 8, 2007 6:27 PM
Reply to this message Reply
First there's the goal of making everybody work together to produce coherent results. Then there's the goal of allowing folks to work in parallel and many times work on the same things multiple times and still produce innovative results. The balance seems to get lost in the dance and folks will be forced to work together when they shouldn't, and other folks will be forced to work in parallel when they could deliver better and faster results by integrating with existing stuff.

The grandeur of great visions and great leaders gets lost in the dynamic of things. While hiring is always difficult, firing is largely impossible so every mistake will accumulate faster than you can handle it. Bureaucracy then becomes the end-goal and the only result which is always under the deadline. :-)

Given the monumental goals you are always thinking about integration issues which just delay your potential successes. Such delays can even make things obsolete before they are released given the way technology changes so fast.

When you run the show like Microsoft, your responsibilities exceed your capacity (all humans). Can you sing, dance, eat, drink, and play guitar at the same time? :-) And when it comes to technology, it's about being eclectic at what you enjoy and do. While anyone can choose or prefer this or that, we collectively choose and prefer all kinds of things and it's not like we can all one day wake up and decide on a list of things to choose from. The Microsoft employees themselves can't just drop what they have been doing for the past 20 years and fully adopt tomorrow a set of new technologies for everything, let alone everyone else in the industry.

If I could give an advice, it would be to support variety and eccentricity as it comes in the winds (of change included). :-) Microsoft is like a moon to the industry's Earth, not the other way around.

Alessandro Ronchi

Posts: 1
Nickname: aleron75
Registered: Oct, 2007

Re: Where's the Bottleneck? Posted: Oct 9, 2007 3:49 AM
Reply to this message Reply
What's more I think MS didn't play any role in the web 2.0 revolution. To me this is basically dued to the fact web 2.0 was born thanks to open source projects which made the web accessible to everyone.
Thank you, Alessandro
---
www.alessandroronchi.com

John Bayko

Posts: 13
Nickname: tau
Registered: Mar, 2005

Re: Where's the Bottleneck? Posted: Oct 9, 2007 5:23 PM
Reply to this message Reply
A few reasons.

The strategy ever since Windows was first introduced was to leverage products to support each other, even at a loss. That was initially not a problem because the "eco-system" (or "hairball" as former Sun CEO Scott McNealy called it) consisted of all new features or products designed to integrate, and could be done quickly and without care for design or compatibility. Now, however, those old poorly thought out interfaces have become a liability to further change, requiring backwards compatibility to undocumented interfaces while trying to add new technology and better interfaces, and somehow wiring up all the existing ones to be able to access the new ones.

Sony is kind of in this same boat, delivering some real clunker products in the past decade or so in order to support other company technology, rather than go with the best available technology.

Along similar lines, Microsoft code is generally not cleaned up or replaced, it's just added to, leading to a maintenance nightmare. Newer projects don't have that, so things like .NET development tools are proceeding fairly quickly. In comparison, Vista would have killed a smaller company.

Fighting that, the security initiative requires basically digging through all that legacy code, and every badly designed legacy interface, and making sure every call is safe, as well as auditing all new code to make sure it doesn't make unsafe calls either. I understand there is a "layering initiative" to try to refactor old code, or at least control the chaos of new code, but it's done on an "as needed" basis, so will take a while before it pays off.

Related to the "ecosystem" strategy was the strategy to enter all profitable and popular areas of software. I don't know if the intent was to choke out the competition, but usually Microsoft would do so, either buying an existing product and slashing prices, or introducing competitive software at a similar low price (usually because it wasn't initially good enough to demand higher prices) and relying on that and its reputation to squeeze out competitors, or bundling the software (sometimes initially, sometimes forever). Without competition, there was no pressure to deliver new products.

Without pressure, managers were free to "shoot for the stars" with unrealistic features. Vista is the best example, with the amazing file system, mind-reading management features, and self-programming software dropped like anvils when the decision to do more than play around with fun concepts to see what implementing them was like was made. Some C#.NET features are looking a bit like this. Also, a lot more time can be spent over-designing relatively simple things without a real delivery timetable - Microsoft has made an art form out of delivering late.

Related to that is the "vision thing", in which new ventures are scaled at billions, rather than millions. Smaller ventures are not considered, even if they have potential. The X-Box is a successful example - not yet profitable I think, but getting there - but MSN is a failed example - I think they're on the sixth thing called "MSN". The Zune looks like another example, but I can't tell if it's headed for success or failure yet. But these are all copycat ventures, not new ideas.

Google is almost the opposite - trying everything it can in small amounts at first, to see what they can get to work. They have lots of cash to burn, like Microsoft, but are more likely to hit on the next big thing (search, web mail, maps, and ads have taken off so far).

There's also the developers moving to management positions. Usually they aren't good at it, meaning Microsoft not only gains poor managers, they lose good developers.

And finally, they are the status quo. Changing the environment risks upsetting all the things they're successful at, in the same way that PCs were resisted by the mainframe and minicomputer makers of the past. Microsoft seems to have some good collaboration technology to oppose internet based applications, but it's closed technology, and the people who have the freshest perspectives and newest ideas are outside the company. Only when everyone can play with that sort of technology will the really innovative applications be discovered, so even though I think web-based applications are generally terrible, they're a rapidly advancing terrible, as opposed to stagnating good technology. This fear of losing control is also preventing really new products from coming out of Microsoft.

There are probably other things I haven't thought of here, but I think those are the major points.

Ram Sambamurthy

Posts: 2
Nickname: ramsamba
Registered: Jun, 2007

Re: Where's the Bottleneck? Posted: Oct 9, 2007 9:55 PM
Reply to this message Reply
Disagree...that isn't innovation from the company. that's a response.

Silverlight to thwart Adobe Flash
IronPython did not start from MS, but by an outsider who MS later brought into their fold
ASP was to thwart Java

What else? Scratch, scratch...

Ram Sambamurthy

Posts: 2
Nickname: ramsamba
Registered: Jun, 2007

Re: Where's the Bottleneck? Posted: Oct 9, 2007 9:58 PM
Reply to this message Reply
Sorry, my previous post

ASP to thwart Java, should read
.NET to thwart Java.

Also please remember that Bill Gates was in denial about the Internet, so how can ASP be an innovation? Clearly a response.

Vincent O'Sullivan

Posts: 724
Nickname: vincent
Registered: Nov, 2002

Re: Where's the Bottleneck? Posted: Oct 10, 2007 1:43 AM
Reply to this message Reply
Everything developed anywhere can arguably be defined as a response.

All Apple products? Neither the first PC, nor the first mp3 player nor the first mobile phone. An operating system that was originally based on work out of Xerox and is now 'just' a Unix variant. All Open Source? Another Unix variant designed to run home made clones of propietary products.

Any product, by anyone, that's beyond version 1.0? Just a response to demand, market forces, bug fixing requirements, etc.

It very easy to dismiss stuff out of hand that doesn't fit in with the way you want things to be especially when it's big bad Microsoft. Unfortunately, as soon as someone introduces that company into a computing argument then all pretence at discussing the original premise is lost and replaced with a pointless void of "yes it is", "no it isn't" spats.

Rene Clabaugh

Posts: 6
Nickname: abcdefghi
Registered: Oct, 2006

Re: Where's the Bottleneck? Posted: Oct 10, 2007 11:39 AM
Reply to this message Reply
"...Finding interesting things to work on at Microsoft only becomes difficult if you've worked there for at least five years at a senior level and either aren't good at or don't care about developing the network of relationships you need to compete for the relatively few senior level technical positions that are open on interesting projects ..."

Dave, It sounds like the culture at Microsoft treats people as "cogs in a machine," at least for those people destined to stay at the Senior level or lower (aka reduced corporate mobility). If this is really true, actual productivity of most of the workers is not a serious goal.

Read Steven Covey's latest, "The Eighth Habit," which outlines how to provide people with the freedom and responsibility to innovate where they find themselves in life. Covey takes the perspective that forming appropriate corp culture is a responsibility shared by all.

Rene Clabaugh

Posts: 6
Nickname: abcdefghi
Registered: Oct, 2006

Re: Where's the Bottleneck? Posted: Oct 10, 2007 11:59 AM
Reply to this message Reply
... then all pretence at discussing the original premise is lost and replaced with a pointless void of "yes it is", "no it isn't" spats.

People who work for long standing companies (I didn't say large companies), invariably learn how to complain about complaining. Thus complaining has a O(2^n) negative effect on any discussion of the good, bad or ugly aspects of anything. In this case, the topic is "Where's the Bottleneck?" Thanks for providing one good example.

Dave Quick

Posts: 22
Nickname: davequick
Registered: Sep, 2006

Re: Where's the Bottleneck? Posted: Oct 10, 2007 12:04 PM
Reply to this message Reply
Every company I've worked at with more than a handful of employees had a tendency to treat employees as "cogs in a machine" at least part of the time. As the pointy haired manager in a Dilbert cartoon once said "employees are our most important asset, and like all assets they lose value over time".

While it's true that you can run into this problem at Microsoft, they do a pretty good job of treating you like a person and not a cog.

I was referring to a problem that is not specific to Microsoft, but happens there. People at a senior level tend to find senior level jobs more interesting than lower level jobs. Normally, there are way fewer senior level jobs available. Unless the people your company hires are not growing, there is always more competition for those jobs than there are jobs. If you have five equally qualified candidates, you will probably go with the one you know the most about and have the best relationship with. Some folks are great at technology but not great at building relationships. Those people will lose out to people who are just as good at technology but better at building relationships. It's likely they will even lose out to people who are better at building relationships and not quite as good at technology. Since software development in most companies is a collaborative activity, the person with the better relationship skills and somewhat less technical ability can often have better results than the more technical person.

Rene Clabaugh

Posts: 6
Nickname: abcdefghi
Registered: Oct, 2006

Re: Where's the Bottleneck? Posted: Oct 10, 2007 12:31 PM
Reply to this message Reply
...People at a senior level tend to find senior level jobs more interesting than lower level jobs. Normally, there are way fewer senior level jobs available

Thanks for clarifying on MS culture, naming names is always a little risky.

I agree with the above excerpt, except this is management via the top down model, where the boss knows best; where people wait for their boss to get promoted, fired or die. Others already stated that this is the model that robs from the technical work force, converting the best technical people to worse managers. The mentality is that productivity of humans can be modeled according to an assembly line. Such a notion misses productivity that individuals bring to the table. (this is just Covey).

Where I work, there is a different model (with different flaws) where the higher level technical people carry more of the "cradle to grave" technical load. These hot-shots are not assigned to fully manage their own team (which off loads some of the people aspects, accounting, performance appraisals, etc). I'm talking about technical innovators who have enough rope to hang themselves. Any of us who need to have the challange of innovation are encouraged to create such a niche for ourselves.

Dave Quick

Posts: 22
Nickname: davequick
Registered: Sep, 2006

Re: Where's the Bottleneck? Posted: Oct 10, 2007 1:24 PM
Reply to this message Reply
You're very welcome, but I never know how much it really helps.

I'm not clear how you concluded that this is top down management from that excerpt?

Let's say your company's management team said that based on customer feedback they need a technical architect to create a brand new product line that would change an industry. Are you telling me that there would not be more than one person at your company who would be interested in that position and qualified for it? Are you saying that your company has more higher level technical jobs than lower level technical jobs? Or, are you saying that your corporate culture is so good that no one is ever disappointed that they can't get the job they really wanted and are always happy with the job they can get? Is it possible you are inferring things based on other posts and not just that statement?

Your second to last paragraph doesn't describe common practice in Microsoft development groups. And, the last paragraph of your post doesn't sound any different than the approach I observed at Microsoft. Please help me understand what I'm missing. Microsoft offers plenty of opportunity and encouragement to create a niche for yourself. However, being encouraged to create a niche for yourself does not mean you will always do so successfully, even if you always have so far.

Flat View: This topic has 33 replies on 3 pages [ « | 1  2  3 | » ]
Topic: Where's the Bottleneck? Previous Topic   Next Topic Topic: Design vs. Architecture

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use