What Kind of Software Company Should You Work For?

I met Peter Griess last night and heard him talk about his career. Even though he still has plenty of years ahead of him, he has already worked for NetApp, Yahoo, and now Facebook. He was part of a nine-person startup that worked on some interesting social email apps that eventually got acquired by Yahoo. Along his career he has seen very different kinds of cultures in these various software engineering departments, and as I was listening to his talk, I thought about the many software companies that I have covered over the years.

I would break them down into three different kinds of cultures (the names are my own construct):

  • Mature Turtles. Until the Internets came along; this was your typical enterprise software company, such as IBM, Microsoft, Sun/Oracle and others. It was a slow adopter, came out with new releases once a year or so, after careful testing and lots of quality control. The company would have extended maintenance windows of several years, because customers would latch on to one release and stick with it, without upgrading because they were fearful that changes would break something that was mission-critical. Developers had firm specs before they wrote any code, and took that code through a lengthy dev/test process before it ever left the premises. There is a hierarchy of engineers and different silos depending on which pieces of the code you are working on, and usually you can’t cross over easily from one silo to another. Customers often had to wait months to see their suggestions make it into a code base.Why work for them: Not all departments are as evil as others. For example, being a data scientist at IBM right now is probably one of the best gigs going. If you can deal with the silos and the hierarchies, then this is a good place to learn some solid skills.
  • Middle Earth.This is the type of company that was founded in the early Internet era, say the late 1990s. They want to be a changeling but are stuck in the slow-moving past. Yahoo and Cisco are good examples, but there are lots of others. They have large and mature markets but don’t know what to do with them. They have oddball product strategies and conflicting products that segment their own focus and split their development teams’ attention. Silos are still ever-present, and accentuated by frequent acquisitions that were never really absorbed into the corporate mainstream culture. They have legacy products and users who are reluctant to move off of them.Why work for them: If you want to get experience with an international company and find out how to support legacy products, these guys are the places to be. If you want lots of exposure to mergers and acquisitions, they have the cash. If you want your own office and peace and quiet while you code, this is the place for you.
  • Internet Chameleon. This is the type of online software vendor that we are used to these days, such as Facebook, Google, Twitter and others. They move quickly and tend to break things as they add code on the fly. They get the cloud or are wholly based on it. They are using agile coding techniques and everyone is sitting in bullpens often at close quarters. Releases happen daily, if not more frequently, and get pushed out to real users, often to their dismay and frustration when they find something that is broken. There is a development culture where any engineer can add code anywhere: silos are gone and forgotten about. Features get added, morphed, or cannibalized whenever and wherever. These companies are controlled chaos sometimes. Gone also is the whole QA department: if you want to test something, roll it out to a small subset of the active population or try your code out on some internal staffers. Of course, it helps to have a level of trust with your end users so that you don’t lose them in the process of making these enhancements.Why work for them: Obviously, most of you are probably focused on this type of company right now, or want to start one yourself. But you have to have the fortitude to roll with the punches and be able to adapt to the constant flux of changes.

I’d love to hear from you about your own experiences in different engineering departments, and if you think there are subspecies to the three that I mentioned.

The Worst Uses of Excel

Over on ReadWriteWeb, we ask a daily question and cull the answers from our readers. Yesterday’s question was to find out the worst uses of an Excel (or any) spreadsheet, and the responses were funny to the point of being poignant and somewhat sobering. Clearly, people need to learn at least one other software package to do many of the things they stick Excel with.

There is something about the rows and columns of a spreadsheet that I guess just invite a lot of abuse. I always knew that Excel was the go-to database program for those who were confounded by SQL or Access or even Filemaker, but still some of the posts from our readers were extraordinary. One group of three took nine days to code up an inventory tracking app. That is just insane.

But it was when folks mentioned, several times, that they had seen word processing done on Excel that I had to just say, stop me before I hurt myself. Printing out labels? Or other documents? Drawing a map? Company brochures? Resumes? Don’t people know of Word or its equivalent? Haven’t they been taught anything about some other software tool? Apparently not. “They didn’t know that Word existed,” said one of our readers.

Others use Excel for presentations, putting each slide on a separate worksheet. Yes, I guess you can do that. But if you are going to go through the motions of cut and pasting a graphic, why not use something that already is made to do that, like, uh, Powerpoint?

Excel of course isn’t the only spreadsheet game in town, and now there are any number of online services that can be abused and twisted into odd applications. The online database company TrackVia recently came up with their own quirky apps that their customers have built in their service, including tracking the schedule of “exotic dancers”, free taco nights at the local ball park, and a museum in France that has an antique wine database. You can read that one here.

How about you? What is the worst Excel app you’ve seen in your career? Feel free to email me or share your comments below.

Startup Rules of the Road

I met with two 20-something budding entrepreneurs this week, just by chance. I love working with and mentoring these young people. There is so much energy and hope to better themselves and make the world a better place too. And so much they need to learn. I thought I would encapsulate some of my advice that I gave them, and perhaps motivate you to reach out to someone you know who is looking to start their own business and send this post their way too.

  • First, it is so often said that you have to find your passion. But it is very true. If you are going to suffer the long hours and the many frustrations of starting your own business, you need to have something that is going to power you through the darkest times. If you come up with a business idea that doesn’t get your groove on, drop it and think of something else.
  • Find the narrowest niche you can and fill it completely and hopefully exclusively. It doesn’t really matter what you do. What matters is what everyone else isn’t doing, and how you can complement or fill in the gaps. The narrower the niche, the better. It helps if you can explain your niche in a short sound bite too, because that is what you are going to be doing a lot of. And don’t be afraid to change to a new niche when the market shifts or as you get better at understanding what your customers need, too. You aren’t going to be running MegaCorp (at least, not yet), so being flexible is key.
  • Understand your own limitations and use them to decide on the nature of the businessyou wish to create. For years I have had a one-person freelance writing business, designed purposely not because I am anti-social, but because that is my preferred work style. You need to think through the implications of your ideas and understand what you are getting yourself into with the particular business you have in mind. One friend of mine designed her freelance business around a small staff, because that was what she was comfortable with. Different strokes….
  • Building a website because isn’t the same thing as building a business. While is certainly is the case that many businesses are going to have some kind of online presence, they just begin with the website. A corollary to this is:
  • If you aren’t technical, find someone who can help and treat them well.Make that: treat them extra well. When I built my first website back in the early days, I hired a kid all of 19 years of age. Now I would hire even younger: they have the skills, and they work cheap. But sometimes you want to partner with someone with more maturity, and realize when that is needed.
  • Pick domain names, corporate names, and other names to match and be easy to speak and remember. This is so important. There is a site called KnowEm.com that can help you figure out if your chosen name is available on hundreds of social networks, and even search the US Patent and Trademark Database. This is a good place to start.
  • Don’t forget about email newsletter marketing.Email may be going the way of the dinosaurs, but it is still a very powerful tool that can help spread your word and get you customers. One friend of mine built up his business big time with a weekly newsletter: over a year he had more than two thousand subscribers, and a regular business. The service provider that I use for my email newsletter charges me the grand sum of less than $5 a month.
  • Speaking of monthly costs, keep your recurring costs low. It is amazing what kinds of services you can get these days for free or nearly so in just about everything. Look at what you can get on open source sites. You can host your own blog, set up your own domain, sign up for cloud-based accounting, and a lot more for less than $500 a year, in some cases a lot less. It used to cost me $500 just to have a server sit in a rack someplace. My friend Bruce Fryer has a site called CheapBastardStartup that has links to running his 100% virtual corporation. He suggests raising $50,000 and get a product and customers and then go after the big money once you have proven your concept. But I suggest starting with even less dough – say $5000 – and see how far you can run with your idea with that. Don’t figure on paying yourself a salary, at least initially.

I am sure that there are lots more ideas for getting started. Feel free to share them in the comments.

Do We Need A Desktop OS Anymore?

In a word, no. We may be reaching the point where the desktop OS is no longer important, eclipsed by the developments of the browser and ironically a victim of better integration by Microsoft and others.

Photo @ Creative Commons by kerplunk kerplunk

Yet we are all huddling around the news feeds coming out of Build 2011 as we try to figure out what Microsoft is attempting with Windows 8 and Metro. My prediction is that this will become the OS/2 of the modern era: an OS that is so elegant but instantly obsolete by events, designed for the wrong chip (the mobile ARM CPUs) and based on a cellphone design ethos that no one could care less about. Yeah, but it has a great new set of APIs!

It wasn’t all that long ago that Internet Explorer became almost indistinguishable from Windows Explorer. And with the rise of Chromebooks and how much of our time is spent online, the days of the particular desktop OS is almost irrelevant now.

Remember when the desktop OS did things like keep track of directories, protect us from viruses (and Windows still doesn’t really do that all that well), make copies of files to removable media, and handle printing? Who really cares about any of that stuff anymore? Yes, I know I still can’t print my Web pages out with any kind of fidelity. But is that the browser’s fault or my OS?

Now that you can get gigabytes of free file storage in the cloud, do you really care what is on your hard drive? Well, some of us dinosaurs (and I count myself among them) still cling to our hard drives but soon they will be totems from another era, much the way many of you look upon 5 inch floppy disks, or even 8 inch ones if you can recall back that far. Wow, we could carry an entire 360 kB of something around with us! (Of course, we didn’t have mp3s or videos either, but still.) And all this cloud storage is happening as hard drives are getting so cheap that they will be giving them away in cereal boxes soon: a 2 TB drive can be had for less than $50.

Meanwhile, Adobe next week is announcing a slew of features in the next version of Flash (I can’t tell you about them quite yet, sorry). They fully intend Flash to take over the kinds of OS-like services that I mentioned above (ditto on the protect us from malware issue too, at least so far). And Google is trying mightily to rejigger HTML with its Dart Web programming language. And VMware has a new version of its View too, which is probably the OS that I really will end up spending most of my time with going forward. Whatever comes of these efforts, it almost doesn’t matter whether we are running Windows or Mac or Linux. Because we don’t need them anymore for our online lives.

Now stop and look over that last paragraph. Whom have we trusted for the next OS? It isn’t Microsoft, and it isn’t Apple. It is a bunch of folks from the valley that have never built an OS before (well, give Google half credit). Think about that for a moment.

Back at the dawn of the computing era in the 1980s we all wrote dBase apps (and saved them on those darn floppies too). Then we moved up to use Lotus Notes, before the Web took root. Then we branched out in a dozen different directions, using all sorts of programming languages that used HTTP protocols. That was the beginning of the end for the desktop OS.

Now we’ll still have desktops of one sort or another. And yes, Windows isn’t going away, much as Microsoft is determined to pry every last copy of XP from our cold, shaking hands. But when Adobe, Google and VMware gets done with their stuff, it won’t matter what will be running on them.

Lessons Learned from Jonathan’s Starbuck’s Card Experiment

Last week the latest viral craze brought about the end of an experiment by a programmer who wanted to make it easier for folks to get free coffee,Jonathan Stark, who works for Mobiquity. Over the course of several weeks, Stark shared a scanned image of his Starbuck’s stored-value card online, so that anyone could download the image and use it to pay for coffee at most Starbuck’s. He also set up a Twitter feed to report on the current value of the card, and showed the processes that he used to set the entire experiment up. Let’s look closer at the whole situation, examine some lessons learned for corporate app developers, and also try to set the record straight. We have a Storify page that puts all the links in context if you would rather go there.

During this time, thousands of dollars were loaded to the card, and spent by numerous unrelated people. Andy Matthews wrote a short program to track the withdrawals and deposits on the card, saying “The fact [is] that thousands of people stepped up to pay-it-forward. Thousands of complete strangers chose to collectively contribute thousands of dollars to help out someone else.”
starbuckscard.png
Then last week things started getting interesting. Another programmer, Sam Odio, wrote some more code to scrape funds out of Jonathan’s card and move to his own Starbuck’s card. He would sit in a Starbucks and go to the counter when the value climbed to make the transfer. He even published his code online so that others could do it. Odio eventually collected $700 from his hack, and is selling his card on eBay. This eventually led to Starbuck’s cancelling the card.

Since then, others have stepped up to offer their own pay-it-forward experiments. And the conversation over whether Odio or Stark were right or wrong to offer up their programs continues on many sites across the Internet. Some commentators feel that Odio “ruined a great social experiment” or that his “arrogance represents a side of humanity which I find terrifying; I have decided that your approach sucks so I will take it from you without your consent because I can do better with it.” Others said that “I don’t know why people come up with all these social experiments when the conclusions are always the same, simple equation:” where the number of bad actors is always greater than the number of nice people.

So what are some lessons that corporate developers can learn from this experiment?

  • You can never be too transparent. Stark was accused of being in Starbuck’s employ because his firm once did some work for the coffee company: all parties denied any current connection and made it clear that Stark was acting on his own. But rumors of collusion still floated around the Internet. Stark and Starbucks acted quickly to counter them, which was key. If you are going to participate in social media experiments, you have to be online constantly to make sure you nip these issues in the bud.The most interesting reactions could be seen on Stark’s Facebook page, for example.
  • The notion that greed will always win isn’t always true. Thousands of dollars were donated over the course of the experiment, mostly in $50 or less increments. Yes, some folks took advantage of the free coffee but most acted responsibly.
  • The original idea doesn’t always get the most traffic. Stark’s card gained more attention once Odio produced his “hack” to drain its value quickly, and ultimately what led to its demise. A quick Google search shows “Sam Odio Starbucks” has many more hits than “Jonathan’s Card Starbucks.” And as we mentioned, since Starbucks ended Stark’s experiment, several others have cropped up.
  • It is still about the API, not the app. As we wrote about earlier this summer, what made the experiment work was an interface between Twitter and the stored value of the card. Mathews and Odio were just two of the folks who jumped on board and wrote their own programs. And really, you didn’t need to scan the card number itself: the whole operation could have been accomplished with publishing a phone number that is tied to the card, since many vendors accept this when you don’t even want to bring your card with you to pay for food.
  • Finally, it is a cautionary tale for app developers, to be sure. What if someone figures out the coding for your airline boarding pass to allow you entry to any local airport? Certainly, if you are responsible for running a stored value program at your company, you might want to examine whether this experiment is something you want to encourage or not.

Improving enterprise video using Blue Coat MACH5

My latest screencast review is for Blue Coat Networkson using their MACH5 Web optimization appliance to better manage video use across enterprise networks.

We all know that video can be a network bandwidth hog, but these days there are more and more legitimate business needs for video, such as Intel’s site here. . Each minute on You Tube alone, people from all over are uploading more than 24 hours of video content!

It works for live, streaming, and on-demand video, and is easy to setup and configure.

ITworld: NoSQL: Breaking free of structured data

As companies use the Web to build new applications, and as the amount of data generated by them increases, they are reaching the limits of traditional relational databases. A set of alternatives, grouped under the umbrella label NoSQL (for not only SQL), has become more popular and a number of notable use cases, including social networking giants Facebook and Twitter, are leading the way in this arena.

You can read my article over at ITworld here.

ITWorld: Make open source mapping tools work for you

The online mapping world is an exciting place to watch these days, thanks to a combination of open source tools, the rise of hyperlocal search, and ubiquitous and cheap GPS devices. There are applications galore, including some recent innovations that corporate IT managers should pay attention to.

I explain these trends further and go into more details, and you can read the entire story on ITworld here.

Managing your social media mess

There aren’t too many products that have launched their new versions on 60 Minutes that I can think of in the computing industry. Last night we got the first look at the new profile feature on Facebook. (Having trouble finding out how to turn it on? Go here — they sure don’t make it easy for you.)

While interesting, this just points out the real rag-tag collection of tools on your desktop and phone to read, post, and add friends to your various social networks. Sometimes you use your desktop browser, sometimes you are running an app, and sometimes you just have to get real work done and wish you never got started Tweeting or opening up your life to your 14 ex-girlfriends and former co-workers. (Only somewhat kidding)

I have been looking at a few services to try to better manage my social networks, and will talk about three of them here: the new service from Nimble that consolidates your contacts and allows you to collate their conversations on a single screen, the Flock browser that presents the real-time stream on a sidebar and can be used as a reasonable replacement browser on our desktops, and the Open Xchange email service which also can import and organize your Facebook and LinkedIn contacts.

There are lots of services that allow you to concurrently post to multiple networks, such as Pixelpipe.com and Ping.fm. There are many other services that are designed for multiple network access, such as Gigya.com, which has a single sign-on for social media sites. It has to be implemented from a Web site operator as opposed to by an individual.

These products aren’t what I am talking about here: I assume you are already using something like this, or have hooked up your networks so that a post on your WordPress blog automatically goes out to LinkedIn and then to Facebook and Twitter accounts.

No, what I mean is the harder problem: you have been diligently growing your networks, and now you want to dig deeper and manage these contacts. For example, you want to figure out whom to follow and whom not to, what folks that you have in your database that are missing from one or more of your social networks, or add people to one of your networks that are in another one. Ideally, I would like to run queries to see who is on both my Facebook and LinkedIn networks, and who isn’t, to see whether I should spend more time on one or another to expand my network or focus my attention.

Let’s look at how of the three services stack up.

Flock can set up its own ad hoc groups of contacts that can span all your social networks. You set up an overall Flock account on their site, and then import your contacts from Twitter, LinkedIn, Facebook, and YouTube. You can then create various contact groups and then pick and choose who goes into which group, which is great for trying to understand your “social graph” of people that you pay more attention to on each of these services. While I liked the real-time feed that is displayed on the sidebar, it is distracting and there are a few Web sites that don’t display properly in a Flock browser session, and I found myself going back to Firefox and Safari for my daily Web browsing dose.

Nimble can also consolidate contacts, but doesn’t yet have any easy way to organize or group them (although they promise it is coming soon). It will display everything involving that contact, similar to how ACT or other contact managers work.

OX.IO is the site where you can import your Facebook and LinkedIn contacts. You set up a free account, and import them. In the process of doing my Facebook import, something suspicious flagged my account and Facebook wanted to make sure that it was I who actually was accessing my account. It is more of an email client that has some social media stuff bolted on.

Both Nimble and OX can import your Google address book and combine these contracts with their imports of the social media contacts too. But my Google address book has so many contacts that I was loath to try this out. With both of these, the imports can take some time and the service will email you when it is done doing the import, which is nice.

You can also use Nimble and OX.io as webmail clients, although it would take a lot to get me off of using an ordinary browser to access Google Apps and Gmail.

In the end, I probably will not use any of these services with any consistency. I liked all three’s attempts at trying to bring some more order to my social networking life, but they are still not yet ready for production use. In the meantime, I have some fiddling to do to get my Facebook profile the way I want it in the new “60 Minutes” schema.