career

Archived Posts from this Category

You want to be a consultant? Do this first…

Posted by benoit on 29 Nov 2007 | Tagged as: career

I fell into consulting totally by accident, and I don’t think this is unusual. You happen to have some specialized knowledge or an area of expertise. Someone learns of this and asks for your help. Voila! You’re now a consultant. Now what? If you are serious about doing consulting, regardless if it’s on a full time or part time bases, the first thing I would consider doing if forming a legal entity (i.e. a company). I can hear it now…Woah! Dude you’re crazy! I don’t have thousands of dollars to spend to create a company! What’s the point of that?

Professional Image
Companies are much more likely to want to deal with “Embedded Enterprise” than with Joe Consultant. Yes, it’s superficial, but sometimes superficial works in your favor. Joe might be paid $40-$50/hour, he’s a hired-gun after all. Embedded Enterprise would clearly no consider those rates. All the corporate overhead…

Legal Liability
Let’s face it, we live in a litigious society. Business relations sometime sour. You might get sued. If you are not incorporated, you are on the hook for defending yourself which might put a mighty crimp on your financial resources. If a legal entity is sued and it runs out of funds, well…it can always declare bankruptcy. At worst, you loose your investment in the business. Beats loosing your house.

It’s Cheap!
It cost me less than $500 to create a Limited Liability Corporation (LLC). Your mileage may vary, but in my book, that’s cheap insurance against trouble. Note that with a sole owner LLC, the company’s income or loss is reported directly on your taxes. There really is not a huge accounting burden. Follow a few simple rules (and use simple accounting software) and the burden is minimal.

Name Protection
If you incorporate, then the corporation name is registered with the state. No one else can use it (in the state). I wouldn’t go calling myself Wal-Mart Engineering (that’s begging for trouble…)

Less trouble with the bureaucracy…
A few years back, we used a consultant to perform some work. They were located remotely, but they had a computer that was provided by the company. Some state agency was leaning towards declaring this consultant an “employee” (there was also some requirement about how much supervision an employee received vs. a consultant…bureaucracy at it’s finest) which means that we would have been liable for taxes, etc… We were able to present the case that they were a consultant, but this left an impression on me. If you are incorporated, there is NO doubt that you can’t be an employee, no matter how much supervision you receive.

Those are just some of the reasons I can think of to incorporate.
Beside, doesn’t CEO sound better than engineer?

P.S. I’m not a lawyer (although I do know some) so go consult your own before you take my advice. I know a thing or two about programming and embedded systems, nothing about the law.

It’s all about control…source control

Posted by benoit on 27 Nov 2007 | Tagged as: career, ramblings

I don’t care if you are the most brilliant programmer, able to write tight code, crafting algorithms as aesthetically pleasing as they are fast. If you are not using a source control system, you are nothing but a dilettante, an amateur, or if you are truly exceptional, an idiot savant.
I don’t understand it. The first tool you should install is a source control system; before the IDE, before the compiler. In this day and age of free SCM systems (subversion being the most popular) why is it that there are still companies that are not using source control?
I am not talking about a wholesale document management system. It’s not like we’re saving all the various versions of your frame maker customer documentation. No, I’m simply interested in your engineering department, your programmers, working on lowly source code.
I’m not advocating the use of such advanced features as tagging and branching! Heaven forbid we ask your designers to experiment with the mental gymnastics that are feature branches. I would be ecstatic if companies used a simple linear development main branch. It would make life so much easier.
The objection I often hear usually revolves along the lines of “We will have problems when the same file is modified by multiple designers!” EXCUSE ME?! What happens now if you don’t use source control? Might you not simply overwrite someone’s changes? Well, that’s so much better than getting a pesky conflict and having to deal with a merge.
Another good one revolves around remote development. “We have remote developers, but we don’t/can’t/aren’t allowed to have a VPN to give them access to our servers. We can use a SCM system”. Run don’t walk to Rob’s post on source control for micro-ISVs. I too use DreamHost for hosting, and they provide you with the ability to create hosted subversion repositories. It works darn good too!
Ultimately, those are all red herrings. I believe this is at best, simple inertia. Nobody wanting to take charge of the process. At worst, it’s outright laziness. Let’s face it, the change in workflow is minimal. Do an update in the morning to pick up any changes, and simply commit from time to time. Not that hard.
Why is it that so called developers/engineers/programmers still are not using source control systems? Have you ever been successful in showing them the error of their way?

Standing on the shoulders of giants, or is it underfoot?

Posted by benoit on 18 Apr 2007 | Tagged as: career, ramblings

Back in ‘96, I had the opportunity to attend my first (and only) development conference (The C++ Developer’s conference). This was an amazing experience, where I got to attend workshops by Robert Martin, John Lakos and others. I even met Dr. Bjarne Stroustrup.

I mentioned to one of my fellow attendee that it would be amazing to work with Dr. Stroustrup. He told me that one of his friend actually worked at Bell Labs. It was great to work such luminaries as Stroustrup, Kernigan and Richie. However, his friend could not help but feel that he couldn’t measure up. Being around such greatness, he simply felt inadequate. Back then, in my mid-twenties, I didn’t get it. I simply thought it would be fantastic to work with such pioneers. Now, with a few more years under my belt, I think I get it.
I wonder how I would feel if I were to work with Larry O’Brien (Magazine editor at 25, someone who did a $100M/year transaction engine in SmallTalk, and uses genetic algorithms to tune C++ compiler settings).

How about Robert Martin and the crew at Object Mentor? The man is a prolific author and everyone at OM seems to be a deep thinker: Tim Ottinger, Michael Feathers and the rest of the gang.

Let’s not forget Scott Hanselman, who can whip out a program to embed images in an MP3 file over lunch (he used a library, but still!), wrote a Tiny OS in C# and puts out a weekly podcast.

I could go on: Roy Osherove, Mark Miller (good lord, he’s got a blog!), Guido van Rossum, etc…
I suspect working with any of them could bring out insecurities. But interestingly, the reason why I sometimes experience self-doubt doesn’t have to do with colleagues, but with the fact that most of our company product portfolio rests on my shoulders. As we’re in the middle of a large product introduction, with multiple deliverable devices, a delay in delivery has a direct and very measurable impact. I don’t own the company, yet the self-imposed pressure to produce is there. That is not a fun place to be. Sometimes I long for the anonymity of a large organization. Luckily, we’re getting a new engineer to take on some of the load.

Around the Net #25

Posted by benoit on 18 Apr 2007 | Tagged as: Around the Net, career, design

Nice spring day…what am I doing inside?

Career

PierG points out that when becoming the boss, you have to change what you’re doing and learn what you need to.

Rob has the highlights of the latest Dice Local Job Market Report.  And Beaufort didn’t make it on the list! I’m shocked!

Tim Ottinger points out that if you coach people, you shouldn’t slap them.

Community

Scott Bellware has just about had it with Vista and he takes it out on “a herd of self-interested old farts pissing on the same piece of ground”. I think I’ll hold on to XP a while longer…or make sure Vista can run VMWare Workstation…

If you want to hear Larry O’Brien, listen to the DeveloperWorks podcast about the Jolt Awards (via Larry’s Blog).
Design

Tim O. has an interesting entry on code being a liability instead of an asset.  Striking the right  balance between soluble (as per Scott B.) and too dense is tricky.

Ageism in Software Development?

Posted by benoit on 16 Apr 2007 | Tagged as: career, ramblings

I’ve been working for close to 15 years. Roughly 10 of those years were spent programming.  As I get older, I’m starting to look around and wonder: Is programming a young man’s game?  Back in the 90s, most of my colleagues were in their 20s or early 30s.  Is it still the case?  If I were to walk around a large development organization, would the median age still be what it was 10 years ago?  An unfortunate side effect of living where I do and working at a small company is that I don’t have visibility into other organizations.

Am I aging myself out of future employability?  As I’m busy working on embedded stuff, I don’t have time to keep up with the .NET stuff that I really like:  No time for WPF, Silverlight, WCF, LINQ, even ASP.NET (which I should really learn).  Do I have what it takes to keep up with the young whipper snappers out there?  Only time will tell… But this old dog likes to learn new tricks!

« Previous PageNext Page »