idcee 2013: notes from 25 years at microsoft - mark zbikowski (senior technical advisor @ jelastic)
DESCRIPTION
http://idcee.org/p/mark-zbikowski/ Mark Zbikowski has more than 35 years of experience in the technology industry, primarily leading the architecture, design and development of operating systems. From 1980 to 2006, he worked at Microsoft and was deeply involved with multiple products and technologies, including DOS, OS/2, Cairo, NT and Windows in many roles, from individual contributor, development manager and architect. Since 2006, he has taught at the University of Washington and acts as an advisor to several startups. Pic's are here: http://www.flickr.com/photos/idcee/sets/ More @ http://idcee.org Follow us on: YouTube: http://www.youtube.com/user/OfficialIDCEEChannel Facebook: https://www.facebook.com/IDCEE Linkedin: http://www.linkedin.com/groups/IDCEE-3940138 Twitter: https://twitter.com/idcee_eu Google+: http://gplus.to/idcee Flickr: http://www.flickr.com/photos/idcee/collections/TRANSCRIPT
Mark Zbikowski
NOTES ON 25 YEARS WITH MICROSOFT
IDCEE ‘13
MSFT in ’81 Many rolesIndividual contributorDevelopment managerArchitect
EXPERIENCE
IDCEE ‘13
Was Microsoft ever THAT small?
I don’t believe it
MSFT in ’81 Many rolesIndividual contributorDevelopment managerArchitect
EXPERIENCE
IDCEE ‘13
I don’t believe it
Slacker.
MSFT in ’81 Many rolesIndividual contributorDevelopment managerArchitect
EXPERIENCE
IDCEE ‘13
Many projectsMostly OS/PlatformsSome dogsSome successful
Small to large teams
EXPERIENCE
IDCEE ‘13
1982
IDCEE ‘13
IDCEE ‘13
In their mind:
Hardware defines the software
IDCEE ‘13
DOS 2.0
IDCEE ‘13
That’s only two songs.
At 128Kbps.
Single directory for 4096 files
Fixed sized partitions
IDCEE ‘13
Don’t always do exactly what customer wantsWhat he asks for is his solution to a problem.
Find the problem and do the right fix
But remember, the customer does pay the bills
LESSON 1
IDCEE ‘13
IDCEE ‘13
IDCEE ‘13
Piece of cake
Still a piece of cake
•User-installable device drivers•Enhanced shell•Multitasking•Graphics•Remote access•Networking•…
IDCEE ‘13
Have a roadmap
Don’t add only customer-generated features
Avoid tactical features; be strategic
LESSON 2
IDCEE ‘13
24K bytes
IDCEE ‘13
No way!
Upgrade the customer“Help” him by giving him a little more in the direction your roadmap is taking you
LESSON 3
IDCEE ‘13
DOS 2.0
IDCEE ‘13
IDCEE ‘13
Good thing you have that extensible
file system, eh?
IDCEE ‘13
Uh Oh…
WELL DEFINED INTERFACES?
IDCEE ‘13
Piece of cake
We’re going to be late
We’re going to be late
Uh oh..Uh oh..
Take schedule hits if they’re right, earlier rather than laterBe open and honest about schedules.Communicate often.
LESSON 4
IDCEE ‘13
Sharing interfaces with partners is not enough, don’t hide detailsSharing != CollaborationKeep that legal protection!
LESSON 5
IDCEE ‘13
IDCEE ‘13
DOS 3.0/3.1
DOS Roadmap:ProtectedMultitaskingGUI
IDCEE ‘13
NEXT FOR MZ…
“New DOS”ProtectedMultitaskingGraphical
IDCEE ‘13
IBM/MICROSOFT JOINT DEVELOPMENT
IDCEE ‘13
#1: What are we going to build?
When did a list offeatures ever stay
“small”??
#2: What constraints are there?
IDCEE ‘13
IDCEE ‘13
Don’t let today’s technology be a limiting factor
NO unnatural acts (like writing an entire OS in 16
bit segmented x86)
IDCEE ‘13
LESSON 6
IDCEE ‘13
LESSON 6
Only one?
IDCEE ‘13
LESSON 6
What are those?
IDCEE ‘13
LESSON 6
‘New’ is good, right?
IDCEE ‘13
LESSON 6
IDCEE ‘13
LESSON 6
IDCEE ‘13
LESSON 6
But ‘New’ is good!
IDCEE ‘13
LESSON 6
IDCEE ‘13
LESSON 6
Legacy matters – know your customer’s assets!
Who you are breaking?Who pays the cost of
fixing?
LESSON 7
IDCEE ‘13
Understand your constraints early
LESSON 8
IDCEE ‘13
IDCEE ‘13
Don’t design/useone-size-fits-all
process
IDCEE ‘13
LESSON 9
IDCEE ‘13
Don’t compromise your hiring standards
IDCEE ‘13
LESSON 10
IDCEE ‘13
IDCEE ‘13
IDCEE ‘13
IDCEE ‘13
New Object-based World Order
Understand the difference between a collection of
technologies or features and a
productIDCEE ‘13
LESSON 11
IDCEE ‘13
LESSON 11
IDCEE ‘13
C++
PYTHON
HASKELL
IDCEE ‘13
}
IDCEE ‘13
Only gastronomes buy snails
Use features that help the project, not the programmer
Just because you use a higher level language does not mean you shouldn’t care about what
the CPU executes. IDCEE ‘13
LESSON 12
IDCEE ‘13
Directory
Service
Kerberos
ObjectFile
Store
Distributed
FileSystem
IDCEE ‘13
“We’ll solve that later”
IDCEE ‘13
Directory
Service
Kerberos
IDCEE ‘13
Directory
Service
Kerberos
IDCEE ‘13
Directory
Service
Kerberos
Distributed
FileSystem
IDCEE ‘13
Directory
Service
Kerberos
ObjectFile
Store
Distributed
FileSystem
IDCEE ‘13
Directory
Service
Kerberos
ObjectFile
Store
Distributed
FileSystem
IDCEE ‘13
Directory
Service
Kerberos
ObjectFile
Store
Distributed
FileSystem
IDCEE ‘13
Cross-group dependencies will kill you
LESSON 13
IDCEE ‘13
IDCEE ‘13
Are you sure there aren’tmore?
IDCEE ‘13
OFS: Three customers!
IDCEE ‘13
Reviewing a spec doesn’t count as
involvement
IDCEE ‘13
OOPS.
IDCEE ‘13
IDCEE ‘13
OFS: Two customers…
IDCEE ‘13
OFS: One customer…
Oh no…
IDCEE ‘13
OFS: Zero customers
IDCEE ‘13
Designing interfaces without a client is suicide
LESSON 14
IDCEE ‘13
IDCEE ‘13
Cairo Shell => Windows 95 Shell
IDCEE ‘13
Cairo Shell => Windows 95 Shell
Cairo Directory Service => Active Directory
IDCEE ‘13
Cairo Shell => Windows 95 Shell
Cairo Directory Service => Active Directory
Cairo Distributed File System => Windows DFS
IDCEE ‘13
Cairo Shell => Windows 95 Shell
Cairo Directory Service => Active Directory
Cairo Distributed File System => Windows DFS
Cairo OFS Content Query => MSSearch
TECHNOLOGIES != PRODUCT
IDCEE ‘13
LESSON 15
GREAT EXIT?LOTS OF BUZZ?LOTS OF USERS?
All “second order”…
WHAT IS SUCCESS?
IDCEE ‘13
IDCEE ‘13