Hiring Good Developers

May 12th, 2012 4 comments

It’s been a while since I’ve posted.  We’ve been very busy (this is good) but it cuts down on my writing time.  Here’s a random thought that popped up into my head this morning.

BKeeney Software has three full-time Real Studio developers, including myself.  The decision to add that first additional staff member was the biggest decision we’ve ever made as a company.  It made us anxious and filled us with concern.  Did we have enough work?  What if they didn’t work out?  How much would we need to supervise this person?

As usual, we did our research before we started interviewing developers.  We read the Joel Spolsky book “Smart and Gets Things Done”.  I’d highly recommend it if you are thinking about adding additional technical staff to your team.  We also came up with our own list of criteria to ask about.

When we started interviewing candidates we asked the following questions:

Are they smart?  Well, everyone we talked to either had degrees in Computer Science or certifications so that was really a nonsense question.  Of course they were smart.  But how capable were they of figuring out non-standard problems or things they’ve never seen before?  Were they able to take a problem and figure it out?

Do they get things done?  We wanted an experience developer so that we looked at developers that had some work experience.  Again, most technical people have fairly impressive resumes so it’s hard to tell.  The only way to do this is ask them and someone else (coworkers or past employers) about their project experience.

Can they work independently?  I didn’t want to spend a good portion of my day ‘babysitting’ my developers and with each of us working out of our home that makes supervision very difficult.

Do they work well in a team?  Obviously at that point it was just me but I knew we had a big Fortune 100 project coming up that was going to have multiple team members (from various companies).  I also knew that eventually we’d hire more people.  How did this person work in a team environment?  Was this person a leader or follower, a wall flower or a take charge sort of person?

The team question came from experience working with a local university professor who measured how well teams worked.  He measured things on a Energy and Motivation scale.  The fallacy was that managers always thought they needed High Energy/Highly Motivated people when in reality you needed only 1 or 2 of those (if at all).  Most of your team should have average motivation and average energy but the ones to avoid are the Low Energy/Low Motivation people because they can, and will, drag your team down.

Can they say no?  I didn’t want an employee that would simply say yes to whatever I, or perhaps more importantly what the client wanted, without thinking about the answer first.  They have to be competent communicators.

To start wrapping this post up (I feel like I’m starting to ramble a bit) is that we hired Seth 4 years ago and Robert last summer.  Each is very smart and gets things done.  They work well without much supervision and we’ve found that we work well as a team.  And trust me, they have no problem saying no to me or a client when they need to!  We all have different strengths and weaknesses, and that’s okay, because we’re whittling away at our weaknesses when we can.

I think I would sum up my thoughts like this: Hire someone smarter than yourself.  Some think that’s crazy but I don’t.  I want smart people who get things done without much supervision and who can function in a multi-functional team.  For that you want people as smart, or smarter than you.  (I can hear the chuckles now because finding someone smarter than me shouldn’t be too tough, eh?)

What are your thoughts on this on hiring developers?

Happy Coding!

Categories: Business, Opinion Tags: ,

Real Studio Developer May/June 2012

May 2nd, 2012 No comments

The May/June 2012 issue of Real Studio Developer magazine is out.

  • Report from the London RSUL Conference by Richard and Trisha Duke
  • Extreme programming with Real Studio by Tam Hanna
  • Using Materialized Views by Craig Boyd
  • Using Google Authentication in your RB apps by Mattia Sandstöm
  • Using mutual exclusion in threads by JC Cruz

In my regular column I talk about dealing with Projects that Go Bad.  Sadly, it seems like a matter of when and not if.  Seems like horror stories abound.  Ever have a project go bad?  Why?

Real World 2012

April 16th, 2012 4 comments

Real World is back and I am very excited.  It’s been quite a while since Real Software has put on a Real World and instead of being in Austin, Texas it’s in Orlando, Florida and the hotel is on the Disney property.  I expect to see a lot more families attending this year than in the past.

I’ve been to four Real Worlds and while I like Austin the conference tends to focus on the hotel and the immediate surrounding area.  This isn’t so bad but from a “new and exciting” standpoint there’s only so much you can see in the immediate Austin downtown area.  Orlando is definitely a destination city with plenty of things to do for the family, though us geeks (you’ll notice us by the pasty white skin tones) will be shunning the output of our local celestial star.  So not that we’ll see a lot outside of the hotel at least it will be different.

I am looking forward to this Real World for many reasons.  For the first time in several years I’m not the organizer of a Real Studio event!  Yay!  You have no idea how much work goes into an event – even those as simple as the ARBP events of the past couple of years.  I’m a coder not an event planner so I’m looking forward to JUST doing a couple of presentations.

I’ll pick up some new information and techniques in the sessions but I’ll learn the most by talking with other developers.  Talking about our shared experiences (both successes and failures) is rewarding and fruitful.  As with previous Real Worlds we’ll reacquaint ourselves with friends, colleagues, competitors, and future clients.  We have several current clients that we met originally at Real World so it pays to talk to as many people as you can!  You will never find a higher concentration of Real Studio developers at one time on the planet.

I’m leading a session on Real Studio consulting.  I guess I have a few things to say about doing this for a decade.  Seth and I are doing a session on Group Development using Real Studio.  Seth is doing a solo session on extending Web Edition with 3rd party services.   The agenda was just recently posted at http://www.realsoftware.com/community/agenda.php.

I discovered today that the kickoff session is by author Ken Whitaker who is an Agile Project Management expert and I’m so looking forward to it.  If you have not used Agile in a project I’d highly recommend attending.  We’ve used Agile on a big Fortune 100 prototype project and it was an amazing experience (due mostly to the Scrum Master leading the project).  I’m looking forward to his message and how we can improve our project management skills.

Most of us are familiar with the typical waterfall project where the client gives their requirements, we go code it and after several months of hard work we give them a build.  How often has your client said, “But that’s not what I wanted!” and you have to respond, “But that’s what you asked for!”?  Agile project management breaks it down into smaller chunks and is directed by the project owner.  In the long run the coders and the project owners are happier (I believe).  I’ll be curious on how Ken spins that for smaller development teams that are typical with Real Studio.

I’m sure Real Software will be talking, A LOT, about the new IDE, Cocoa, and many other things.  Having access to the Real Software engineers is a rewarding experience and buying a few drinks for them doesn’t hurt either.  ;)

I’m sure there are still slots available.  I’d love to see you there.  More information can be found at http://www.realsoftware.com/community/realworld.php

Are you attending Real World?  If not, how come?  If so, please make sure you find me and say hi!

Open Letter To RS

April 6th, 2012 67 comments

Dear Real Software,

Thank you for a wonderful product.  It has served me and my clients well for over a decade now.  I can think of no other product that is as easy to use yet as powerful and flexible as Real Studio.  It really is a great product and I have no problems recommending it to others.

I have been critical of Rapid Release Model in the past and will probably continue to do so in the future.  I feel that in too many cases incomplete features and documentation have been released simply to fit the schedule.  I have advocated for fewer releases or releases that stagger bug fixes and new features because I have been bitten, too often, by needing a bug fix in a new release just to be bitten by a new bug somewhere else in the product.  It’s very frustrating for me and my clients.

Unfortunately, at this point in time, we are experiencing the opposite effect.  You see, you have been telling us for over a year that we need to be testing Cocoa because it’s the future.  We’ve taken this to heart because we don’t care to get caught with our pants down.  In addition you’ve also told us that bugs in Carbon, unless critical, won’t be fixed.  This leaves us between a rock and a hard place for our Macintosh builds because we have projects (for paying clients) that can’t be built using Carbon because of bugs, and we can’t build for Cocoa because of Cocoa specific bugs.

We have similar issues with Web Edition apps.  We have a number of very critical bugs that are affecting our delivery of web apps to our clients.  Sadly, what makes this situation hard to deal with is that those bugs are marked as fixed and are only awaiting a new release.

We all know that the goal is to have the 2012 Release 1 be a 100% Cocoa Mac build.  We also know that it is a completely redesigned IDE.  Both are laudable goals and I can only imagine the complexity of managing both of those projects simultaneously.

Real Studio Release 4 was released the week of December 5, 2011.  The three dot releases fixed some hugely critical bugs but contained just a few changes.  I understand that all hands are on deck to get the new IDE up and running and Cocoa polished.  No one is denying that it’s not a huge job to undertake all that at the same time.  I question, however, if you really have the resources available and the proper planning in place to accomplish these goals in a timely manner without understanding the ramifications to your customers.

It’s now been 120 days since the last major release.  Frankly, I don’t care about the 90 day release cycle but it leaves a foul taste in my mouth when you tell us to use Cocoa because you need more feedback and then stick us with a release that has bugs in both Carbon and Cocoa.  Unfortunately, there is no end in sight as there is no release date set for 2012 Release 1 and, as far as I know, R1 is not in beta testing yet.

This delay is starting to be intolerable.  Your failure to plan and execute this transition properly is starting to cost me.  So far, my clients have been patient.  The really large projects are still on schedule but that’s about to end as Web Edition and Cocoa bugs WILL cause them to stop dead in their tracks.  Do you plan on paying my salary and my employees while we wait on you to release a working and stable version?  I’m certain that my clients won’t be willing to pay for projects that don’t work because of framework bugs.

Here’s my fear:  You’ll release a new IDE with all of the Cocoa and Web Edition fixes but because you’re hurrying it through the testing process (because we’re all bitching for bug fixes) it will not be usable.  If that happens I am doubly screwed since I have zero options.  I can’t go forward and I can’t go back.  I see this as a lose-lose situation for me.

I urge you to reconsider the Cocoa and IDE redesign in the same release.  Let us, your loyal, paying, customers get our bug fixes so that you can continue working on the new IDE.  I realize this change will greatly impact the schedule of the IDE.  I also realize that retrofitting the newer framework into the older IDE is also a LOT of work if not extremely difficult.  However, if going back to an R4 update is faster and more stable than the new R1 IDE then I say do it and I will applaud the decision and defend the decision to the end.

I know this letter probably won’t go over well but I’m looking ahead and getting nervous.  I know you’re working as hard as possible but perhaps it’s time to rethink the strategy and go a different route.  Engineering is about planning and adapting to changes.  There is no shame in doing something different.

I hope I’m wrong and things fall into place.  I’d love to pen a post saying thanks for a great release saying that all of my developers and clients are happy.  I see many things that will make that hard to do.  I am nervous and nervous customers are a bad thing.

Anxious and concerned,

Bob Keeney

BKeeney Software Inc.

Apps For Income Training

April 3rd, 2012 No comments

Real Studio is a great product and it is simpler than many other development tools but it’s still a programming environment with a learning curve.  The built-in User Guide and Language Reference and example programs are fine for many but not for everyone.  We started offering Real Studio video training a couple of years ago to help bridge that gap.  Based on the positive feedback we’ve received people really like the video training and it gives them an alternative way to learn the product.

I am very fortunate and blessed that my Real Studio consulting business is thriving.  I have great clients and have new ones contacting me every week.  But I also know that many people aren’t as fortunate and when Real Software announced their Apps For Income program I felt compelled to help them in some way.  After some very brief talks with Real Software we came up with something I can do to help.

I am offering a years worth of video training, at no cost, to the first 1,000 people in the Apps for Income program.  So not only will participants get a free license for Real Studio they’ll also get additional training from us.

Currently, that means each participant will get over 36 hours of Real Studio training spread out over 100+ videos.  These videos cover a bulk of the basics of Real Studio and a few areas that aren’t so basic.  We have two video series that follow a project from start to finish and cover not only programming but debugging skills and remote debugging into other operating systems.  Most videos have an accompanying project file with the source code so you can use them in your own projects.

To get more information regarding the Apps for Income program please visit http://realsoftware.com/appsforincome/.

Clients Coming From Another Developer

March 28th, 2012 4 comments

If a potential client came to you complaining of another developer in the community, what would you do?  I’ve had a few referrals happen like this and if I personally know the developer I usually send the developer a quick note asking for any details they’d be willing to share about the client.  I’ve only done this for developers that I consider friends but I’m wondering if I’m breaking some sort of protocol.

I look at this way, if a potential client comes to me and is mad at another developer (and names them) I think I should do my due diligence and find out as much as I can about the client.  Should this be a warning flag?  Not all clients are made equal and some are downright bad and not worth the time and effort to court and some you should run away from as quickly as possible.  Ours is a small enough community where a bad client can go through many developers in a short amount of time causing nothing but heartache and financial ruin along way.  I know I’d appreciate a heads up if I was next on the list.

I’ve turned down potential clients because of various issues (mainly just gut instinct but some over contractual issues) only to have other developers contact me later asking if an why I had turned down the project to begin with.  I can hear the dismay in their voice (you know that old style communication thing called voice?) when I give them the answer.  I almost wish they had contacted me up front because sometimes these projects cost people hundreds of dollars (at a minimum) and tens of thousands for a really big project.  We all deserve better than that.

So what do you do if you’ve been contacted by a client unhappy by another developers work?  Have you contacted that developer asking for information?

Happy Coding!

 

Categories: Business, Customers, Opinion Tags: ,

Apps For Income Program For the Unemployed

March 24th, 2012 3 comments

Times are tough for those that don’t have a job. There just aren’t many opportunities out there for a lot of folks.  According to Tech Net, application software development has created 466,000 jobs in the United States since 2007.

Real Software announced an interesting program called the Apps for Income Program that will give away 20,000 licenses of Real Studio to anyone that is unemployed. The only requirement is proof of unemployment from the state you live in.

If you get accepted into the program you get a Personal Edition license for Real Studio and that’s enough to get you started. Real Studio is a software development environment that lets you create desktop applications for Mac, Windows, and Linux using one code base (Note: Personal Edition will only let you compile for the operating system the IDE is running in).

Software development isn’t simple and it isn’t something you learn overnight if you don’t have any experience. It takes some hard work and dedication to learn how to create high quality applications. The documentation and example programs that come with Real Studio are good for a vast majority of new users and there are a number of resources out there to help you learn Real Studio. Some people learn differently, however, and there are resources available to those too.

BKeeney Software Inc. has been Real Studio consultants and trainers for the over a decade creating internal and commercial applications for clients all over the world and of all sizes. Real Studio creates native applications suitable for Fortune 100 clients, the business next door, and for resale everywhere including the Mac App Store.  We offer onsite training on how to get going with Real Studio.

We also offer over 36 hours of Real Studio training videos to subscribers via video streaming from our website. These videos allow the user to see how someone with over a decade of Real Studio experience creates and debugs applications from the ground up. In addition to the video, most sessions have a project file complete with source code that they can use in their own applications.

The training area is written entirely in Real Studio’s Web Edition that makes web applications that can be served from Mac, Windows, and Linux computers. The Web Edition training web app has served up thousands of minutes of video since it went live in the Fall of 2011.

You can find more information about the BKeeney Software Real Studio training program at http://www.bkeeney.com/realbasic-training-section

You can find more information about the Apps for Income program at http://realsoftware.com/company/news/2012/appsforincome.php

Nest – The Learning Thermostat

March 22nd, 2012 8 comments

One of the things that has annoyed me for a long time is my thermostat.  For something that is so critical to my creature comfort and is such an obvious energy user it really is a ‘dumb’ device.  Well, that’s not entirely true because while we have a ‘programmable’ thermostat but it isn’t very friendly or easy to use.

It’s very hard to read since, like every thermostat I’ve ever owned, it’s in a dimly lit part of the hallway, it has tiny buttons, and to program it you need to find the tiny  piece of paper covered in tiny script and learn how to program the thing.  Programming is like reading, understanding hieroglyphics and programming in assembler language (my apologies to those that understand both hieroglyphics and assembler!).  There HAS to be a better way.

Enter Nest, the Learning Thermostat from Nest Labs (www.nest.com).  It promises to be the iPod of thermostats and save your money by making your thermostat smarter and simpler to use.  So far it’s too early to tell if it will save our household any money (the weather is comfortable without heat or air conditioning this week) it is definitely easier to use because it has a gorgeous interface and anyone familiar with an iPod will certainly be able to figure this thermostat out.

At $249 it seems a little steep but considering all that it does I think that’s a good price.  Considering that a high end programmable thermostat can be roughly $100 it doesn’t seem that expensive, in my opinion.  I’m sure there are plenty of people that would balk at the price but if you can save a little money each year because you can actually use it?  I think it’s worth it.  If you feel differently, please leave a comment.

Our household has been an Apple stronghold for many years.  The initial experience with unpacking the Nest is very much like unpacking an Apple product.  The Nest comes with easy to understand instructions and includes stickers to put on your existing wiring and even a multi-tip screw driver to uninstall and install your new thermostat.  It really is an all inclusive kit.

I found installation to be pretty easy and it took me less than 30 minutes.  The initial power up and setup was easy to understand and follow.  Using the dial interface to connect to my wireless network is a little tedious but since you only have to do it once it’s not so bad (assuming you only have to do it once).

Here is where my story deviates a little.  My Nest came with firmware 1.1.3 installed and while it connected to my wireless network it never was able to connect to the outside world to download updates and get weather updates.  After fiddling around with the Nest and my wireless router (and Airport Extreme) I called Tech Support.

I found the Tech Support people very knowledgeable, and personable, and they definitely knew what they were doing.  Unfortunately I was trying to get this done in amongst other work so my tech support was really over the period of 3 phone calls and in each case the gentlemen I talked to were very helpful and very apologetic for the problems I was having and were obviously keeping notes in my ticket since the last Tech finally hit upon the fact that the firmware was still at version 1.1.3.

The final result was that I had to disconnect my Nest from the mounting and plug it via micro USB into my Mac where it appeared as a regular removable drive.  The technician directed me to a URL to download version 1.2 of the firmware and copy that file to the Nest drive and then plug it back in to the Nest base.

Sadly this didn’t take the first time and the unit never restarted on its own.  I was able to restart it, restore it to factory conditions and do the upgrade process again and it worked.  As soon as I connected to my network it connected to the Nest servers and it even let me know it was connected to my account (the techs had input my serial number) with no work from me!

So now my Nest is working and I can control it via my iPhone or iPad even while I’m on the road!  It has some nice energy tracking functions on it that I hope will pay for itself in the next year or so.  It also has a learning mode that will be interesting to see how well that works.  Currently it’s warm enough so the furnace won’t come on but not hot enough for the AC to come on either.

A few other observations:  The display is gorgeous and easy to figure out.  It has no battery and simply uses the power from the existing wiring which is quite different than any other thermostat I’ve ever owned (with the exception of the most simple ones).

My installation experience was quite good minus the firmware problem.  If you have any sort of physical skills you should be able to do it yourself.  If you are not exceptionally tech savvy getting it connected to your network might be problematic but otherwise it ‘s simple enough.  I have to give the tech support folks kudos as they were very polite throughout the entire process and said that the network settings were often the cause of tech support issues.

Have you had any experience with a Nest Thermostat yet?  What can you share about installation and setup?

Categories: Opinion Tags: ,

ARBP: So Long and Thanks for All The Fish

March 9th, 2012 7 comments

Volunteer organizations are a difficult thing to get to work.  Recruiting volunteers and getting them to do anything is like herding cats.  It’s a difficult and tiring process, at the best of times, and oftentimes there’s a significant risk of burnout.  Ask any PTA president what it’s like.

Today I am announcing my resignation from the Association of REALbasic Professionals (ARBP).  I was one of the founders and was president until last March.  In the past year I’ve been the treasurer and a Board member.  I am resigning both positions effective immediately.

ARBP started out as a number of blog post exchanges between myself and Norman Palardy.  You can see some of the exchanges in my blog archives here and here.  That happened in December of 2007 and January of 2008.  In 2008 we organized at Real World in Austin, TX and with the help of a very dedicated group of people we got the thing off the ground.

Between 2008 and now, ARBP had 100% turnover in volunteers and board members with the exception of one person (me).  I’ve been the (very) weak glue that’s held everything together.  I was the web admin, blogger, tech support, wrote articles, and much more.  I did pretty much everything at one point or another.

During my tenure ARBP organized two conferences.  The first was in Boulder, Colorado in 2009 and in 2011 we held a much larger conference in Atlanta.  Many people were involved with the organization of those events but as anyone that’s done a conference can tell you there are just a ton of details to work out.  We recorded each conference and they’re still available for paid members at www.arbp.org.  While I feel they were successful conferences I personally did NOT enjoy them because, well, I was running them.  I recorded every session, burned the video to digital format and got them ready for the website (or mailed them for the Boulder conference) – way more work than one should ever do and not get compensated.

This year I celebrated my eleventh year of Real Studio consulting.  It’s been a very rewarding experience and I am so thankful for clients that keep coming back.  I started out, as many do, as a sole developer.  I added a full-time developer in 2007 and I added another one in 2011.  The commitment to keeping everyone busy (and profitable) is my primary job.  To keep both my business and ARBP going meant compromising both and in the long run my business and my family win out.  Doing all that work for ARBP, for free, just doesn’t make any sense for me at this point in my life.

So, for those of you that I’ve talked to over the years, thank you for you kind words of encouragement.  I hope that our efforts have made your transition to Real Studio easier or at least provided another way of learning Real Studio.  I encourage you volunteer for ARBP.  There are ton of things they want to do and they could really use your help.

I’m not leaving the Real Studio community and I’m sure I’ll see you all again.  Until then, thank you.  Happy Coding!

Categories: ARBP, Personal Tags: ,

Visual FoxPro to Real Studio Converter

March 5th, 2012 5 comments

There was a point when Visual FoxPro (VFP) was one of the best development tools out there.  Some would argue that it’s still one of the better ones.  Unfortunately, Microsoft has decided to move on and no longer update Visual FoxPro so this means that handwriting is on the wall and it’s time to find a new development tool.

CULLY Technologies has released a Visual FoxPro to Real Studio converter.  More info can be found at http://cully.biz/2012/03/05/visual-foxpro-to-real-studio-converter-0-1beta/.

This converter is open sourced so you can tweak it to suit your own preferences and fix any bugs you might find.  It converts VFP forms to Real Studio forms.  Converting the User Interface can be a huge time waster so I’m sure many will find this useful.

No converter is perfect and neither is this one.  It does not convert reports, menus and a few other objects.  It also does not convert any code.

We’ve looked at converters over the years and, honestly, I don’t think code conversion is worth the effort.  You could spend a ton of development time in coming up with a halfway decent converter only to still have to tell the end user they’ll have to go line-by-line to modify the code to suit the Real Studio frameworks.  At that point why not just rewrite from scratch to begin with?  The new to Real Studio developer will have to learn and use the framework anyway and I think giving them a crutch to help them bridge whatever language they’re coming from to Real Studio does them no favors in the short-term or long-term, in my opinion.

Kevin Cully of CULLY Technologies spoke about Migrating from Visual FoxPro to Real Studio (members only to view) at the 2011 Atlanta Summit.  It was an interesting topic as I have never done development in VFP.  I would love it if Real Software added some of the features of VFP into Real Studio.  Kevin is also speaking the 2012 Real World conference.

Conversion tools, while always flawed, are a good thing as they make some aspects of converting from one language to another easier.  This one from VFP to Real Studio should be fun to watch.

Are you a fan of Visual FoxPro?  What do you think its strengths are over Real Studio?  What about the other way around?