Developers in Support? – Maybe Not

I once had a boss that insisted that developers act as support for at least a month on all newly released products. The idea was that they would get direct feedback from the customer. This would allow them to better understand the real world use cases, and share the pain of any errors. I believe this approach has a fair amount of merit. I have learned a lot from my customers. In general, I release a version 1.0, and from there, customers determine future feature releases. It doesn’t always work this way, but customers have pretty good ideas about what they want. (Thank you for that insight captain obvious). Continue reading

Retrieving Android Contacts

If you are developing a social networking app, or something similar (and who isn’t!), then you might need to retrieve contacts. There are several samples out there that do something like this (sample code in MonoDroid):

private void PopulateContacts()
   var uri = ContactsContract.Contacts.ContentUri;
   var cursor = ManagedQuery(uri, null, null, null, null);
   while (cursor.MoveToNext())
      var contactId = cursor.GetString(cursor.GetColumnIndex(BaseColumns.Id));
      txtContacts.Text += System.Environment.NewLine + "Id = " + contactId;
      txtContacts.Text += System.Environment.NewLine + "Name = " +       cursor.GetString(cursor.GetColumnIndex(ContactsContract.ContactsColumns.DisplayName));
      var emailCursor = ManagedQuery(ContactsContract.CommonDataKinds.Email.ContentUri, null, "CONTACT_ID" + " = " + contactId, null, null);
      while (emailCursor.MoveToNext())
         var email = emailCursor.GetString(emailCursor.GetColumnIndex("DATA1"));
         txtContacts.Text += System.Environment.NewLine + "Email: " + email;
      txtContacts.Text += System.Environment.NewLine;

Continue reading

Why You’ll Eventually Hate Your Boss

Perhaps you are one of the fortunate ones. Your boss is great. They respect you, appreciate your hard work, provide valuable guidance and insight, understand what you are doing, but give you enough freedom to create. Good for you! Now, wait for it, because it won’t last. Eventually, you’ll hate your boss. Hate may be too strong of a word, you just won’t want to work for them anymore because they:

  • Micro manage,
  • Play politics,
  • Don’t have any technical knowledge,
  • Are too negative and see problems where there are none,
  • Underestimate everything,
  • Make decisions without information,
  • Yell like a drill sergeant,
  • Are disorganized,
  • Can never be reached,
  • Change requirements hourly,
  • Think they know how to do everything, and it involves VB,
  • Never anticipate problems,
  • Don’t allow creativity, everything has to be by the spec,
  • Are indecisive,
  • Are too easy-going, and let people get by with murder,
  • Don’t provide input or add any value,
  • And on and on…

Any of these sound familiar? Do you want your boss to possess any of these qualities? Those of you with good eyes may see some contradictions in these common complaints. Requirements change all the time, but I can’t be creative, and have to do it to the spec? Well, which do you want, flexibility to be creative or stable requirements? I would guess the answer is ideally both, but at least a nice balance between the two, and therein lies the rub. It would be great to have a technically competent boss who provides tremendous input, makes timely decisions, but also allows plenty of freedom and independence to employees, all while being organized and setting clear objectives. Now that sounds easy enough, right? Continue reading

Is This Another Developer Blog?

Um, yes, er, no, on occasion, but not really. Is that clear? No? OK, so let’s talk about what this is. I am indeed a developer, and there will be some tutorials, tricks and insights about developing software, but that won’t be the only focus. I’m also a business owner, have had a long and varied career, and live on a tropical island, so I think there’s more to life than code. I also have opinions, and am absolutely willing to voice them. So, hopefully, this will be entertaining, interesting and/or educational in a number of different areas.

Joel on Inspiration

Once upon a time, there was an interesting site called Joel on Software. Oh, that’s right, it’s still there. Well, Joel used to write all sorts of interesting articles about developing software and the business of selling it. His company grew, and I suppose he doesn’t have time to write like he used to, but I enjoyed reading him, and miss those articles. They were perfect for in between code runs, where you want to let your mind relax for a bit, but you were still learning something. I hope this will provide you those kinds of experiences. Continue reading