Bill Blogs in C# -- News

Bill Blogs in C# -- News

Created: 8/31/2011 1:18:01 PM

With Steve Jobs leaving Apple, our industry faces something it hasn’t faced in decades. The two men that built the PC era, Bill Gates and Steve Jobs, have both left the companies they founded.

I don’t think it’s possible to overstate the effect these two men, and the companies they’ve built have had on the IT industry. Before Apple and Microsoft, individuals did not have computers. The most powerful device most people had in their homes was probably a programmable HP calculator. Now, it’s just expected that people have a computer (either PC or Mac), and a phone with much more power than those early computers.  Students at college, high school, even middle schoolers are expected to have access to a computer. Before Gates and Jobs, students were lucky if a high school had a single computer, or any kind.

The proliferation of personal computers spawned so much in the industry. The web would not be what it is today without the industry these men created. Amazon would not have succeeded without computers in almost every home. Buying online makes no sense if you can’t be online at home. Google would be a research toy if the only way to be on the internet was at a research institution. eBay would be a few research geeks trading used disk drives for mainframes and workstations.

It’s right to give the credit to these two men. Remember that they won’t the only companies or people involved in the start of the PC movement: Commodore PET, Atari, TRS-80, and a few others all tried to compete in this space. Apple and Microsoft made home computers, and personal computers a world wide mass-market. Other large companies could have owned this space, most notably HP. These two men had the vision to grow this market, and to own it.

So, what’s next?

I’m not sure, but it’s a fun time in the IT industry, because of that uncertainty. Will we look at Larry Page and Mark Zuckerman the same way we look at Jobs and Gates? Will someone else emerge? Or, will Microsoft and Apply both manage to remain leaders after iconic founders have left? How far is the industry moving beyond the personal computer/mac?

Most importantly, how much value is in new hardware, and how much value is in the software? And where does that software live?

Their 2007 joint session

A great way to get some perspective on these two men is to watch this video of Gates and Jobs in 2007. There’s a lot of perspective from two men who built an industry.  Here are some of my favorite bits:

Bill Gates discussing his first trip to Apple, to work on Apple Basic’s floating point handling. All his data was on cassettes, “which was how everyone did it”. Yes, software written by Bill Gates ran in the Apple II.

I liked how both men said what they remember most was always being “the youngest guy in the room” at most business meetings.

Steve Jobs credits Gates with creating the first software company, a company where the business model was around selling software.

Bill Gates crediting Apple with recognizing that the home computer was a mass market machine, and an “incredibly empowering phenomenon.”

Throughout their careers, both men said that they “created the products they wanted to use themselves.” I think there’s a lesson there for every business: the farther you are from your target market, the less likely you’ll be able to succeed.

Jobs talks extensively about his return to Apple. He credits Apple’s turnaround with a change in attitude. He said when he came back, Apple’s culture had become one of a zero sum game: for Apple to win, Microsoft had to lose. Jobs said that was unsustainable: If that was the game, Microsoft had already won. He took investment from Microsoft, found new markets, and grew Apple to where it is today. I’ve had similar conversations with business reporters in our area. They are so tied to the American auto industry that they see every market as a zero-sum game: gains by one company must (be definition) mean some else is losing. They don’t understand when companies like us see competitors grow, and find that a good thing. It’s a high growth industry, and I want our area to see as much of that growth as possible.

Jobs shows how you can attack what looks like a mature market, if you have something worth selling. He talks about the fact that the portable music player market was dominated by Japanese companies (Sony, in particular) before the iPod. Not anymore.

Two segments from Jobs point very clearly to the future (even 5 years later). First, listen to him describe the iPhone maps application. Software that is tailored for the device a user has will always win over a general solution. Period. The iPhone maps app uses the same data that Google maps in a browser uses. But, it’s tailored for the device, and works much better.

As they talk about what’s next, Steve Jobs says, “Everything is a computer in a different form factor.” He’s right. You will probably use several different devices today where the value is not in the physical device, but in the software running on that device.  It’s still a growth market, because more and more devices we use are really computers. They just look differently.

My take on the future of software

I think the computer and mac markets are going to grow more slowly. They are still growing. The high-growth markets are in the other devices and cloud + device based software.

These two men, and their companies, created a completely new ecosystem, and that ecosystem is now morphing in ways these men didn’t predict.

Only one thing is crystal clear: The market for software is growing, and growing exponentially. I’m still grateful for the contributions these men made in creating this ecosystem.

I’m going to close with a look into the future for both Jobs and Gates. What makes me saddest about Jobs stepping down for likely health reasons is that he won’t get to enjoy the second career that Gates is having with the Bill and Melinda Gates Foundation.  To see Gates put his energy and economic resources behind problems like malaria, and global hunger is very hopeful. I do wish Jobs would have the same opportunity to tackle some of the humanity’s biggest challenges. We’d all be the better for it.

Created: 6/23/2011 6:02:45 PM

I’d had this feeling for a while that developers are in high demand in Michigan.  Earlier this week, I had confirmation on that during a meeting with some folks at the Michigan Economic Development Corporation (MEDC).

The MEDC, by working with growing firms, has learned that software development skills are in great demand in Michigan. They recently opened a state wide jobs portal, based on a version run by Ann Arbor SPARK over the last few years. After being open for a few weeks, over half of the jobs posted are software development, or IT jobs. There are 16 different (somewhat overlapping) categories, and still more than half of the jobs are IT and software jobs.

There are several reasons why software companies are migrating to Michigan. All of them are about the talent pool. Smart companies know that the manufacturing sector makes extensive use of technology, especially software. The auto companies have an especially strong background in leveraging software in all areas of their business. That gives the region more software developers than anywhere else outside of silicon valley. Several years ago, we began using the term “Lakeshoring” to describe bringing software development work to the Great Lake state. Companies are responding.  Systems in Motion opened an office in Ann Arbor and has hired by the hundreds. GalaxE Solutions has opened an office in downtown Detroit and is hiring at a pace that has ourperformed their own projections. Google has opened an office in Ann Arbor. Compuware has been a long time fixture in the Detroit area. QuickenLoans, while classified as a financial company, employs a large software development team.

But it’s not just large companies.  Ann Arbor alone has more than 100 software startups or second stage companies (like SRT Solutions). Grand Rapids also has a thriving software community.

The Software Community needs to answer this challenge

The software community needs to continue to ensure that we have the people that can step into these new jobs as they are created. We also need to demonstrate to those companies looking at Michigan that there is a wealth of talent ready to help them succeed. Luckily, we’re already doing much of work. We just need to keep doing the work, publicize it more, and attract more new members.

The obvious first task is to talk up the user groups. Many SRT developers, including me, have spoken to developer groups in Detroit, Southfield, Ann Arbor, Flint, Lansing, Kalamazoo, Grand Rapids, and Traverse City. We’ve talked to students at Michigan, Michigan State, and Michigan Tech.  If you’re here, find a group that interests you and start participating. You’ll learn the skills you need for your next career challenge. If you’re already attending a group, tell your friends. I recommend every developer should find a group to attend. That’s especially true if your considering a job change. Every meeting I’ve attended includes job announcements. You’ll learn more about software development, meet friends, and learn about new opportunities.

We need to promote our regional conferences more. We’ve got GiveCamps, Day of .NET events, CodeCamps, CloudDevDays, The Kalamazoo X Conference, and more that I’ve probably missed. We need to continue inviting new developers to these events, and make it easier for people that want to update their skills to attend.  We need to publicize these events to state leaders that are in the business of attracting companies to the area. I’ve been here a long time, and I know how strong and vibrant our development community is. We need to get that information in the hands of the economic development teams attracting companies to our area.

Finally, we need to do more to encourage the next generation of software developers to consider a career in Michigan. Get involved with one of the universities. Ask to be a guest lecturer to students in Computer Science or Software Engineering. Tell them about the opportunities, and the vibrant software community here. Get them to investigate opportunities here in addition on both coasts.

The software industry has already been an important driver in Michigan’s economic renaissance. It can continue to enjoy that role if the software developer community helps to do more to promote itself and our location. What other ideas can you come up with? If you have ideas, follow up with me on twitter. Let’s show the world how strong our software development ecosystem is.

Created: 4/2/2011 3:58:48 PM

My business partner, Dianne Marsh, wrote her most recent article for annarbor.com on activities happening in Detroit to improve the city. Far too many people have the view presented in the Wall Street Journal article she references. Too few see the home-grown activities that are designed to change Detroit’s future for the better. If your only view of Detroit is through the national, or international media, read the piece. You should learn what people in the area are doing to make their own future better.

Created: 2/3/2011 4:07:03 PM

We’ve repeatedly said that the best developers learn different technologies and different platforms. I think this is especially true in the RIA space, where your customers may be using a different device, and different platform than you typically use. I believe that if you are building RIA applications, it will be important for you to have some knowledge of both Silverlight and Adobe Flex. 

To that end, SRT Solutions is hosting Adobe Evangelist James Ward for a 3 day Flex Jam. Learn more, and Signup here: http://www.srtsolutions.com/flex-training

If you’re primary focus is Flex, James will help you learn more about that platform in short order. If your primary platform is Silverlight, you’ll learn some of the idioms employed by the other major RIA platform. That knowledge will make you a better Silverlight developer: you’ll learn some techniques that you can use in Silverlight, even though they are more natural in Flex.

Created: 1/20/2010 8:52:06 PM

I have enjoyed reading other posts about how much people enjoyed CodeMash. It is my favorite yearly conference. The people are brilliant, and energized about technology. It’s also one of very few events that embrace people with very different views.

I use CodeMash to learn about technologies I don’t get much time to use during my regular work.  This year, that was Ruby, and Silverlight.

First ruby.  I took a crazy route.  I went to the pre-compiler with Joe O’Brien and Jin Weinrich on the Ruby Koans. But I did it with a twist:  Instead of the reference Ruby implementation, I used IronRuby. After some initial hiccups that worked quite well.  The test harness used by the Ruby Koans makes use of an END block in the test code. An END block (in Ruby) is code that is executed as the interpreter exits. It’s rather common as a test harness: load all the tests, and have the END block reflect on all tests, and execute them. It took me a while to get over that hump, but once I did, I learned quite a bit about ruby during the rest of the morning.

During the main conference, I went to some other .NET and Ruby talks (see My CodeMash Schedule). I’m impressed with the integration story for dynamic languages and the rest of the .NET stack. I am not a Ruby expert by any means, but I’ve whetted my appetite for more Ruby learning. And now, I feel like I can be somewhat productive in the language.

I went to both of Jesse Liberty’s Silverlight talks. Going into a .NET topic may not seem like stretching my horizons, but I don’t have a lot of background in Silverlight (Mike Woelmer knows quite a bit more than I do).

Jesse gave two talks: One was very basic, and the other a bit more advanced. Jesse is a great speaker, he’s very engaging, and provides a great amount of information in a small amount of time. He provided a great foundation for someone starting in Silverlight, with or without a .NET development background. I’m much more equipped to dive into the richness that is Silverlight. Jesse helped me get over that initial hurdle of working in a new environment.

It’s the rest of CodeMash that makes the conference special: The time outside of sessions was filled with great conversations about all kinds of technologies. That’s what makes CodeMash special. Hey, it was such a mixing of different views that the Java Posse even invited Chris Smith and I to be on their CodeMash panel. It was CodeMash, so no one came to blows.

Of course, after the tech talk was over, I spent the weekend at the Kalahari with the family in the water park.

Created: 11/2/2008 10:57:00 PM

"Google Abandons Standards, forks Open ID"

 Excerpt:

Basically, Google has rewritten OpenID. Not only is it not exactly the same as the current OpenID protocol, it’s so different that existing OpenID relying parties won’t be able to use it. Only a handful of “partner sites” have been updated to understand Google’s perverted version of the OpenID standard, and anyone else hoping to authenticate via “OpenID” to Google’s servers will need to do the same.

You can read the entire blog post here.

Current Projects

I create content for .NET Core. My work appears in the .NET Core documentation site. I'm primarily responsible for the section that will help you learn C#.

All of these projects are Open Source (using the Creative Commons license for content, and the MIT license for code). If you would like to contribute, visit our GitHub Repository. Or, if you have questions, comments, or ideas for improvement, please create an issue for us.

I'm also the president of Humanitarian Toolbox. We build Open Source software that supports Humanitarian Disaster Relief efforts. We'd appreciate any help you can give to our projects. Look at our GitHub home page to see a list of our current projects. See what interests you, and dive in.

Or, if you have a group of volunteers, talk to us about hosting a codeathon event.