« Older Entries Subscribe to Latest Posts

31 Aug 2010

Professional Networking

Posted by admin. 1 Comment

One of my most popular talks, and a favorite of mine to give, is “You started an open source project, now what?” It aims to give advice on how to attract developers and others to your project, and how to chase them away – a practical hints and tips session with real world examples. This morning while going through my LinkedIn inbox I realized there is a variant on this topic but then specific to professional networking.

Previously I wrote about the professional networking environment in Rochester and I’ll use some of the organizations to illustrate my points.

Whether your networking opportunity today is online (eg LinkedIn or Plaxo) or in person (eg a Digital Rochester gathering) the first step is to be prepared.

For an in-person event come with business cards an practice answers to questions you can predict: what do you do? what are you looking for?

It’s very easy and cheap these days to have cards printed. There’s really no excuse to be without. When we meet I will try to remember your name, really, I will try. Having your card makes it much, much more likely that the next day I will remember you and send you an invite to connect on LinkedIn. I will certainly not remember your email address. It also helps me network on your behalf. At a Digital Rochester gathering I spoke to a person looking for a software developer with particular skills. That same evening I run into a friend with those skills. Neither had a business card. You know, you’re making this hard for me!

At a conference last year in San Jose, CA I met up with two ex-Sun colleagues. One started a new venture, the other was still looking. She and I trying to help the person still searching:
“What are you looking for?”, we asked.
“Oh anything really,” he responded.
“Yeah, but what in particular do you what to do?”, we tried again.
“Anything. If you look at my last couple of jobs at Sun and Apple I never had a clearly described job and did whatever needed doing.”

The above conversation also happens a lot in open source software projects: “Where do you need help?” asks a newcomer, “anywhere, pick any area you like” answers the project leader. This is miscommunication. In the San Jose conversation our friend tried to be helpful to us by not bounding his interest. The result of course is the opposite: he’s not giving us anything to go on. You need to make choices.

Now, one can also be too abrupt. At an August Group event someone came up to me; we don’t know each other and almost the first question was “are you hiring?” I was not so my answer was “no” and the conversation, such as it was, ended. An opportunity lost. I may not be hiring but maybe I know who is or maybe I’ll be hiring in the future. But I don’t know who you are or what you’re looking for. First, start a conversation. Don’t throw your elevator pitch at me right away but start with a question. Once we’re talking either I will ask you what you’re looking for or there will be a natural moment to perform your 20 seconds sales pitch.

For online networking it is equally important to be prepared and to observe of some of the same points. I’ll stick with LinkedIn in my argument. Make sure there’s at least some professional background info in your profile: what have you done, where have you been? And, if you set email or phone as preferred means of contact then make sure an email address or phone number is in your profile…

LinkedIn is a fantastic tool to reconnect with old colleagues, friends from school or university as well as making new connections. When I receive an invite to connect on LinkedIn from someone I may have worked with in the past then it greatly helps if you put a little context in the message rather than LinkedIn’s default “I’d like to add you to my professional network on LinkedIn.” If you were my boss for seven years then you don’t need to elaborate how we know each other. In all likelihood I do remember. But if we knew each other only casually or we worked on a (short) project quite a while ago then personalizing the invite and giving me some context really helps. Don’t make me hunt for it. Give me an impression that you value re-establishing our relation by investing a little more time than the three mouse clicks to send out the plain vanilla invite.

And your LinkedIn profile should have a good picture of you. When I am searching to reconnect it can help me decide your profile is the right John Smith I’m looking for. And, when we meet in person for the first time it helps us recognize each other at Starbucks, the Bagel Bin, Spin Caffe or wherever our favorite coffee spot is.

Share with me your hints and tips regarding successful networking.

25 Aug 2010

Agility

Posted by admin. No Comments

agile-2010-08-25-11-18.jpgThe summer of buzz words: Cloud computing, tablets, agile, scrum … others?

I plan to write about the first one in a next entry. Today I want to focus on Agile (see its manifesto). Sometimes when looking around on industry blogs, software team mission statements, job descriptions two trends seem to take hold: software development organizations need to be agile in order to attract top talent, software developers need to master agility in order to be hired.

And yes, I am also a proponent of agile development methodologies including some of its variants like Scrum (see Jeff Sutherland’s blog) and Extreme Programming. One reason why agile-like methods are taking hold not only in fast-paced startups but also the stately corporations is that they build upon the lifestyle of successful open source software projects: “release early and release often.”

In past years Big Bang approaches were common. Companies may have attempted to breakdown scope and complexity of projects through variants of the basic iterative waterfall models but still the project would always work towards the big, unique delivery of the final product to the customer.

Successful execution of an agile approach can achieve several results:

  • the product development as a whole becomes more transparent and manageable
  • developers and customer understand each others roles and responsibilities much better
  • the customer sees continuous progress towards a goal
  • makes adjustment to changing circumstances easier
  • more opportunity to recognize and foster talent

Perhaps an unfair advantage Agile has over the traditional models of the past is that we now benefit from the web: abundance of information available through blogs and articles of our experiences with applying this approach.

As illustration I offer a few of favorite blog posts. Some over guidance, some offer a word of caution:

  • Sumeet on “Agile is not…”
  • Adam on “Definition of Done in Agile development”
  • Venkatesh on “Agile Testing”

In case of Sumeet’s post I agree with his concerns regarding the focus on colocation. Apache Software Foundation, Eclipse and others have shown that colocation is not a requirement for success. Even more, a strict focus on colocation limits your organization’s access to available talent. Wiki’s, social media tools, video chat and many more modern communication tools all help break down geographical distance and help create rich communication, collaboration between dispersed team members and even those who are near.

11 May 2010

Fragmentation, Android, Facebook, Crowdsourcing news roundup

Posted by admin. Comments Off

crowdsourcing.jpgMy pre-breakfast news and blog browsing stumbled over a couple of developing trends. Here is a rundown and my thoughts on them.

Fragmentation, Linux, Android
Matt Asay writes “Fragmenting Linux is not the way to beat Apple.”
In this commentary piece Matt draws a comparison between today’s mobile Linux environment and the Unix wars of the 80-ies, and argues that Motorola, Google, HP, Intel, Nokia and others should look at the Linux server playbook. There companies like Red Hat, Canonical, Texas Instruments, IBM and Oracle are “working furiously to build a great core and then competing in the packaging, hardware, etc.”

Matt points out that the fragmentation could resolve itself and see Android dominating the market. Which wouldn’t be dissimilar to those Unix wars from which AIX, Solaris and HP-UX emerged as the main market players (albeit in that case fighting over a shrinking market share against Windows NT).

I agree with Matt that one wonders how many operating system variants these smart phone and other mobile devices really need. Seems like a lot of engineering investment that now can’t be used to compete against iPhone or Blackberry or Windows Mobile.

There is a difference though between the server market and the mobile market that is important here. On the server side each of the companies has direct access to the customer: the stack is already owned. The fight in the mobile market, especially since the introduction of the iPhone, is about who has access to the consumer and who owns the stack. For many years the manufacturers had to be content with a provider role to the likes of AT&T, Verizon, Vodafone who owned the relationship with the consumers, the users of the devices. Each of these companies are since working to own more of the software and hardware stack to gain leverage versus the service providers in who can access the consumer: and thus the need to each to have their own OS.

Read the rest of this entry »

13 Apr 2010

Professional Networking in Rochester

Posted by admin. 1 Comment

prof-networking.jpgFor a municipality of about 700,000 the Greater Rochester Area has an impressive range of opportunities to connect with fellow professionals.

While I have been here for 6 1/2 years, for a good portion of that period I didn’t have a pressing need to network locally. Much of my networking involved other regions like California, Boston area, Germany, France, Finland and St Petersburg in Russia. Over the last months I invested a lot more time in connecting where I live. While at first it seemed that the professional networking centered around Digital Rochester and user groups like RJUG, searching and interviewing local connections revealed many more networks each with a different focus thus together providing you with a complete menu of options.

It took me some time to discover these groups. To enable you to shorten your search time I am sharing what I found. Here’s the run-down:

Digital Rochester
Good for the plain vanilla business networking. Digital Rochester hosts a general network gathering on the first Tuesday of the month. A good chance to meet pretty much anybody but that is its limit as well: the wall of 200-300 people during the monthly evening can be daunting to scale. My tip to get going: just walk up and start talking with whoever is standing by themselves, and slowly you’ll start to collect familiar faces. Another one: bring somebody!

Read the rest of this entry »

5 Apr 2010

BarCamp Rochester

Posted by admin. 1 Comment

barcamp.jpgOn Saturday RIT hosted our yearly BarCamp Rochester. A BarCamp is an ad-hoc gathering for people to share and learn in an open environment. The name comes from the software programming term “foo-bar”. O’Reilly years ago started FooCamps and BarCamps are a response to those.

BarCamp Rochester is in its fifth edition. About 120 people registered beforehand and I estimate that 70-80 attended. Not a bad turnout on a very lovely Easter weekend day!

The organic nature, especially in regards to how the schedule for the day comes about, is a key success element of this style of event. Anyone can attend and is encouraged to present on something. This results in a day of topics that are all technical in nature but for the rest are very diverse. On Saturday talks ranged from how to hack the phones in RIT’s elevators, to cooking, to Clojure programming, to needing more technologists in politics. Regarding the phone hacking talk I hope and assume that the RIT IT department will now change the default passcode on these phones…

I used the event to try out a new presentation that discusses behavioral traits in open source software projects and how these encourage or hinder gaining participation in a project (“So started an open source project. Now what?”). I thought it went reasonably well and I got some more ideas and refinements for the talk.

After lunch was the Lightning Talk hour: series of 5-minute talks on whatever topic one chooses. I used it to give a little plug for the Rochester Java User Group (RJUG). The name starts to become a bit of a misnomer. In the style of GNU what does RJUG mean? RJUG is not Java. Our meeting on Tuesday April 13 is on Google App Engine. Our recent meetings discussed Erlang, Go language, JavaFX and Android.

I especially enjoyed the Interlock talk in the morning (Rochester’s local hackerspace), David Kavanagh’s Amazon Web Services talk, Brion Swanson on Android, Al Biles on GenJam (computer playing jazz!), Chip Moore on stereo photography and Ben Munson on his NewDiggs startup innovating apartment searches. And of course the aforementioned phone hacking talk if only because the student opened his talk with “I’m not sure if this is legal but…”. Illustrious hackers went before him becoming industry icons like Steve Wozniak and Captain Crunch.

I took some photos throughout the day which you can find in my gallery.

25 Mar 2010

Ever and ever better software engineers

Posted by admin. Comments Off

Open source software leads to better job market for software developers, and raises the average skill level of software engineers.

The first part is the thesis of Dirk Riehle’s recent blog entry. The latter is my, hopefully provocative, conclusion that should follow from the first.

Linux’s rising popularity starting in the late 90-ies kicked off the theory but since then the argument has been made in many other open source contexts: Apache’s httpd server, Eclipse, and in the years long quest to get Sun Microsystems to open source Java: open source software leads to higher quality software, more secure software etc etc. I suspect this proposition will be hard to prove statistically or through market research but the reasoning behind it is that more eyes are looking at the code (both those on the inside and those on the outside) and so over time more eyes leads to better pick-your-favorite qualification.

If you extend this to career opportunities for software developers then Dirk makes the argument that developers participating in open source software projects should enjoy more, better career opportunities than those that do not. As source code for these projects is easily accessible, it is somewhat equally easy to assess its quality and thus the quality of the engineer that wrote it. Software developers, probably like any other profession, are quite sensitive to what peers think of the code they wrote. Reputation therefore is very important in the open source community and is fiercely defended (see http://onno-consulting.com/2010/03/reputation/). But a hiring manager can also assess that reputation and evaluate the applicant’s quality of wok and skills in a real-world effort rather than through quizzes or submitted samples during the job interview.

Read the rest of this entry »

11 Mar 2010

Club Rides available in iTunes App Store!

Posted by admin. Comments Off

mainscreen-200.pngRun over to install Club Rides on your iPhone or iPod Touch!

Club Rides helps you keep track of your bicycling club’s activities, see the yearly schedule of rides, keep track of your participation and mileage, view elevation profiles, and map the starting location. More information is on my Software page.

Club Rides comes pre-loaded with Rochester Bicycling Club’s schedule but can be easily customized to show your club’s schedule.

Tags:

10 Mar 2010

Liferay, Facebook, Salesforce.com, and what’s in a name?

Posted by admin. Comments Off

A few blog posts, columns, articles caught my eye during my traditional pre-breakfast coffee browsing of the news that, eh, deserve my commentary. In no particular order:

Liferay explains why it is switching from the MIT license to LGPL
Bryan Cheung starts his blog very strongly, causing me to expect a bold conclusion at the end of his opening paragraph: “You know, we need the money.” He does reach this conclusion but you need to read to the bottom to find it and he’s not as direct about as his opening statement would imply.

So, in contrast let me say right away that needing the money is a fine reason to switch licenses. Open source is not and, exceptions to the side, should not be a charity. Whatever your business is and whatever your chosen business model, a key success measure is whether you are keeping existing customers and collecting new ones.

I find his blog entry well-written and perhaps one of the best corporate messages I have seen of a company to its developer community explaining why it needs to take such an action. In most cases, companies focus their message far too much on how this is Good for the community appearing to gloss over the first person interests as Bryan highlights in his opening. Now, his entry would have been perfect if he followed through on the expectation he set at the beginning.
Read the rest of this entry »

9 Mar 2010

Objective-C Puzzle

Posted by admin. 8 Comments

A blog entry with a gracious nod to Gilad and Josh’s series of Java puzzlers.

Why does this code excerpt produce different results in the simulator vs running the app on the iPhone itself?

In my AllRides class which contains the information about all the club’s bike rides I have the initialization method below. In the ViewController for the preferences screen I then access and display the AllRides.club property.

AllRides.m:

- init {

if (self = [super init]) {

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];

club = (NSString *)[userDefaults objectForKey:kClub];

if (club == nil) {

club = kDefaultClub;

}

}

return self;

}

Preferences.m (in – (void) viewDidLoad):

club.text = [[AllRides sharedRides] club];

When running in the simulator all appears well. The club name nicely appears:

When running the app on the iPhone the field is empty:

Changing the AllRides init method explicitly setting self.club makes both runtime environments behave the same expected way:

- init {

if (self = [super init]) {

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];

self.club = (NSString *)[userDefaults objectForKey:kClub];

if (self.club == nil) {

self.club = kDefaultClub;

}

}

return self;

}

Suggestions? Answers?
I guess the underlying question is what the subtle differences are between club and self.club.

2 Mar 2010

The little guy vs The Man

Posted by admin. 1 Comment

Matt Asay blogs that open source started small but is increasingly a play ground for the big companies. He goes on to write that small companies often connect with existing larger communities in order to reach scale while the big companies are able to kickstart a new community up to scale.

Both are true but the reasons or the results are perhaps a bit different than what Matt describes. One specific area where I believe there’s more to the story is when Matt writes that large-scale enterprises don’t need to worry about selling value (through their open source projects) because they already have profitable product lines that complement the open source efforts.

From my own professional experience I can say that this is often not the case.

The specific challenge that large companies have contrary to the small ones is exactly that: making sure that the open source efforts and the profitable product lines are indeed complementary. Many of the big companies start a particular open source project well after they launched their proprietary software products. In many cases big companies get into a particular open source project not because how it may complement existing offerings but through other means (it came with an acquisition for example) or for other strategic reasons.

Often the open source project will operate in a market similar to or very close to those that the existing products are addressing. Internal competition (for market share, for engineering resources, for marketing resources and so on) is inevitable if there is not a clear differentiating positioning of one vs the other. This battle is more likely to be damaging to the open source project and to the community it lives in. In these internal battles the proprietary products often have the upper hand as they bring in measurable revenue while for the open source project the contribution to the bottom line is often much more indirect.

  • Browse

    or
  • Let’s Connect

    Email:
    onno@onno-consulting.com
    AIM:
    onnoweb
    Phone:
    +1 585 733 5130
  • Twitter

  • Software

    Club Rides - keeping track of your cycling club's activities

    GPX2ProfileImage - elevation profiles from GPX files

  • Social Homes

    LinkedIn  Twitter  Naymz  
  • Recent Posts

  • Tag Cloud

  • Calendar

    September 2010
    M T W T F S S
    « Aug    
     12345
    6789101112
    13141516171819
    20212223242526
    27282930  
  • Meta