How important are ethics?

This subject comes up every month or so, and every time I give my opinion which is always in the minority. Sometimes I think I’m the only one. So once again, as I prepare to get downmodded into oblivion, here goes… 

You forgot Side 3 - I hate software piracy because it’s wrong. Period. It’s unethical, immoral, and illegal. And it’s that simple. I don’t even consider either of your 2 choices because both sidestep the question of right or wrong to examine other issues. This is situational ethics. 

In all the years I’ve been in business, my number one concern has been ethical issues. The partner who disconnected his speedometer to increase his resale value. The vendor who raised his prices to get a personal kickback. The employee who downloaded a customer list and sold it to a competitor. I could go on and on and on… 

I’ve seen stuff like this so many times, and I ask the same question every time, If they will compromise their ethics on something small, where do they draw the line? I’ve seen multi-million dollar deals scuttled because someone didn’t trust someone else because of their personal behavior on a small issue like this. Don’t let yourself fall into this trap. It simply isn’t worth it to save a few bucks. 

I’ve heard all the counteraruments. “It’s no big deal.” “Everyone does it.” “It’s not hurting anybody.” “I’ll never get caught.” Or the worst one of all, “They’ve already ripped me off, so I’m just getting them back.” And you know and I know and everyone here knows it’s all BS. We’re just making excuses for what we all “know” is wrong. 

Almost every proprietary software vendor has a complimentary “developer version” or a very cheap “student version”. There are many other ways to get access to software or music without breaking the law or compromising your ethics. But a lot of us are just too lazy to take advantage of these things. 

I would expect programmers, of all people, to be especially sensitive to this issue. After all, we are smart, hard working people who make software. But it seems like I’m always in the minority on this one.

How do you achieve laser focus?

The single most important thing I do to “achieve laser focus and concentration” is to work in such a way that I don’t need “laser focus and concentration” to get my work done.
 
This has to be done the night before.

I always quit all online work at least 2 hours before bedtime and print whatever I’m working on. Then I go into any other room with program listings, blank paper, and pens (especially red!) and plan out all of tomorrow’s work.

All analysis, design, and refactoring must be done at this time. I do not allow myself to sleep until the next day’s work is laid out. I also do not allow myself to get back onto the computer. The idea is to have a clear “vision” of what I am going to accomplish the next day. The clearer the better.

This does 2 things. First, I think about it all night (maybe even dream about it). Second, I can’t wait to get started the next day. I always wake up and start programming immediately. Once I get going, it’s easy to keep going. Any difficulties are probably because I didn’t plan well enough the night before.


Why I’m a Late Bloomer

My father taught me to read when I was 2 and from that point on, “everyone” encouraged my parents to “fast track” me. I was tested, examined, and prodded by psychologists, doctors, teachers, and “experts”. I even passed the preschool entrance exam before my older brother (he’s been paying me back ever since). 

Finally one day, my father, of all people, said enough. I would mainstream with all the other kids because he didn’t want me to be a “freak”. To this day, I don’t know if that was a wise decision or a snap judgement. 

So I sat in class, bored to tears for the next 12 grueling years. Looking back, I had no choice but to “let my love of something pull me”. So I learned a musical instrument, started several small businesses, made home movies, and published my own magazine. I excelled in everything outside of school and did poorly in class. I wonder what college admissions officers thought about a self-published C student with perfect SAT scores. I think my magazine did more for my future that anything from school. 

After a great college experience, I spent years of torture in corporate cubicles, bored to death no matter what the job was. Only when I found a way to do my own software startup, did everything fall into place for me. I’m finally living the life I was always meant to live. 

So this would-be prodigy ended up being a late bloomer. I don’t know whether this is better or worse, but I sure am glad I finally ended up where I belong. 

How do you manage your time spent?

My solution? I simply stopped worring about how much time I spent doing or not doing something.

I started focusing on one thing only: the delta between what I planned to have complete at the end of each day vs. what I actually completed that day.

On Thursday, my plan was to have items A, B, and C complete before I knocked off. A & B were done by noon. I overlooked 2 prerequisites for C and had to go back and do them, then do C, which took twice as long as I expected. I didn’t finish until 2 a.m. I also spent x hours on line. So what?

Sometimes going online gives me a break. Sometimes it gets the juices flowing again. And of course, sometimes it’s just a waste of time. But it doesn’t matter.

What’s better, spending 6 hours online and getting everything done or spending 2 hours online and not finishing?
 
We often forget that (time spent) != (work accomplished).

Stop worrying about how much time you spend planting seeds and focus more on finishing each day’s harvest.


Can programming be boring?

Maybe “boring” is not the best word. Maybe we are really talking about “more fun” vs. “less fun”.

Naturally, some things are more fun that others, but I am never bored in my startup. Frustrated sometimes, yes. This week I lost a whole day because I had overlooked something simple one day last week. Had to retool the whole stupid thing when I really wanted to build the next level up. So the exciting part had to wait a day. No big deal. It happens. But was I ever “bored”? Hardly.
 
A little background. I sat in class bored to tears for 17 years. Then, I did work in 86 other companies (none of them mine) before I started this one. I have a clear vision of what I want and a fairly clear idea of how things should work. I love both the technical details and the people part. Usually, I can’t wait to get to the next thing.

The only thing I really don’t like is when a client calls for me to fix something on their crappy system. Shifting gears sucks.

Boring? No, I just don’t see it.


A Time to Work and a Time to Play

edw519’s thoughts about workaholism (with apologies to the original author(s)):

 

To every thing there is a reason, and a time to every purpose under your project 

A time to study and a time to write 

A time to code and a time to pluck up that which is coded 

A time to kill ideas and a time to heal that patch 

A time to break down algorithms and a time to build up frameworks 

A time to weep about bugs and a time to laugh about clean compiles 

A time to mourn that dead end and a time to dance when it works 

A time to cast away duplicates and a time to gather common functions together 

A time to embrace someone else’s code and a time to refrain from embracing it 

A time to seek advice and a time to lose illogical prejudices 

A time to keep and a time to refactor 

A time to clean up variable names and a time to rewrite 

A time to accept and a time to keep testing 

A time to love your idea and a time to give it up 

A time for plowing onward and a time to rest.

How important is networking?

A few examples: 

- Hung out with the same guy at Tuesday night Bible study for 3 years. One day he said, “I heard you tell someone you know something about computers. My company needs software for our factory. Do you know anything about that?” Turned into 50K over the next 6 months. 

- Went to an industry dinner/speaker event. The stranger next to me asked what I did. I told him. He asked if I ever did . Before I could answer, my partner joked, “That’s how we made our first million.” The stranger said, “How’d you like to make your second million?” We talked all night and started work 2 days later. 20K in 2 months. All from a joke. 

- A contractor friend got a great full time job. She asked me to “take over” her maintenance accounts (3 of them). Many thousands part time over the next 3 years. 

- Had another friend who I met for lunch once a month for years. She always talked about her job. One day, she suddenly had to move out of state for personal reasons. I emailed her employer, telling what I did (which was exactly what they had her doing). Turned into 4 years of work. 

- Met my aunt’s next door neighbor while sitting on her porch. My aunt said, “Eddie’s into computers.” He said he had a friend who owned a pawn shop with a computer running Windows that “froze” every day at 3:00, their busiest hour. He was going nuts. (Licking my chops), I said I could look into it. A 6 month gig with all new cool software (not Windows). 

- Went to a Monday Night Football party. A friend of a friend who owned a small distribution company said the bank wouldn’t lend them any more money until they computerized their inventory. After 3 months of me (for $20K), they were able to borrow $300K. Pretty good deal for everyone. 

- A friend was offered a 6 month gig in Detroit for $60/hour. He didn’t want to move to Detroit. I took it. Got an efficiency for $400/month, drove my own car there, and dialed in to my other clients. 6 months later, moved home. Not a bad deal. 

- Had another friend who owned a small software house. (Didn’t know it until I knew him for over a year). He coded everything with linked lists because he didn’t know anything about databases. I converted all his software to DBMS over a 6 month period. Again, everyone happy.

I could go on and on, but you kinda get the picture. And I haven’t even touched on the web stuff. 

The demand still far outweighs the supply for good software. If you know what you’re doing (a big assumption), there’s millions of people who need what you do. So get out there and talk to them! 


Why start your own business?

One day you realize that you only have x days on this earth and y of them are already gone. 

You don’t want to waste any more of your remaining (x-y) days refactoring the same poorly written crap for the eighth time, answering the same 84 inane emails, drinking the same lousy coffee, looking at your watch through another pointless walk-through meeting, and listening to the idiotic pontifications of a boss who you would never talk to in a million years if you weren’t here. 

You know you can do better. You know you have it in you. You know you can make a difference. Then you know you “have” to. So you get out your calculator, work your finances, and when you have it all figured out, you turn in your notice and enjoy the best day of your life. 

Why don’t you think an MBA is important?

“all the things that you would need to learn in a full-time 2 year MBA program”

I can’t think of a single thing that would be on that list. Business School is not like Law School or Medical School where you must remember the “things” you learned. Employers use the MBA to differentiate candidates. It’s unlikely that you’ll use all that much from the curriculum on your first job. You even say so yourself, “firms hire MBAs on their abilities to learn and not what they’ve already learned”.

“I just don’t see how that is remotely possible.”

How could you if you’ve never done it? Every large project I’ve ever worked on had issues with interpersonal communication, project management, logistics, deployment, revenue generation, and profitability (you know, all the important stuff), in a manner that business school can’t even imagine covering.

“the problem is the quality not the quantity”

Exactly. That’s my whole point. The quality of a hands on business education blows away anything academic. I imagine most business people (with MBAs or not) would heartily concur. The only thing I remember from business school was, “A degree in business is a degree in nothing.”

“in-depth case analysis”

Case studies are notoriously poor for learning about business. What good is it to study business decisions after the fact, when you already know what they didn’t? If you don’t want to listen to me, perhaps he’s a little more convincing. (Whether you agree with me about anything or not, I strongly suggest this video. A lot to learn from someone with real battle scars.)

“with your professor and the other students”

who pale in comparison to people your encounter every day on the job. Why do you think the most important class in any business school is the internship?


Should a programmer get an MBA?

I honestly can’t think of any good reason today why someone who could hack would want an MBA.

If you’re concerned about learning, you will learn more about business in one good hands on project than 2 years of formal education.

If you’re concerned about having a mentor, you will meet much more business saavy people in business than you ever will in school.
 
If you’re concerned about money, 2 years of earning will put you hundreds of thousands of dollars ahead of 2 years of spending.

If you’re concerned about what others think of your credentials, you’re focusing on the wrong thing.

If you’re concerned about climbing the corporate ladder more quickly, then fine. Get an MBA.
And, most of all…

If you’re concerned about making yourself the best you could be, then hack, hack, hack. You already excel at the weakest link in the business chain. You will get better by continuing to “do” in your specialty. More school will add little, cost you time, cost you money, but most of all, cost you experience doing what you already love and what the world needs most right now.