Friday, September 10, 2010

Increase your real-time collaboration

Developers are a lot better off when they get to "pair" with peers and analysts who can help them think through the problem and the plan for solving it. Coding is not easy. Learning new programming languages (any language for that matter) is not easy.

Learning languages rapidly should be one of the core capabilities of a programmer: "Oh, you only know one language or skillset / toolset? Sorry, I don't need you."

I'm sure some programmers prefer to read a book and learn the language that way. That's fine but to me this seems slow and tedious and may not even work. Maybe you don't even need that knowledge once you have it. But then again, I'm really not a book reader, I'm more of a doer and web-searcher and like to unblock myself now, when I'm stuck.

Enter the web, books, and peers.

I want to pick a project that requires (or might require) a technology and try to solve a problem with the technology through practice. It'd be nice to have someone that's used the technology to work with me but it's not required. They just have to be a programmer that's willing to learn and be stumped.

This might sound slow and tedious but at least I'm diving in and going for it; and building my network.

Thursday, September 09, 2010

Be independent and have positive cash flow

A recruiter the other day asked me what my ideal job was. Not sure what answer I gave them but now that I think about it, what I want to say when anyone asks me that question in the future is two things: A) Be independent and B) have positive cash flow.

Being independent is important to me. It means I am in charge of my own destiny.

Having positive cash flow is also very important to me. It means I am able to survive and that I am not spending more cash than I am making.

I really don't want to have a bunch of ups and downs in life.

10 years ago I was independent and had a positive cash flow. Then I graduated from college.

8 years ago I was not independent and had a positive cash flow. Then I bought a condo, a truck, and went back to school.

5 years ago I was not independent and did not have a positive cash flow. Then I started making better money.

Today I am not FULLY independent (am employed by another company but am working on what I want to be working on and having fun) and have positive cash flow.

My next step is to become independent again and keep my positive cash flow. I hope I can make that happen soon!!!!

You want more senior engineers

Engineer-types can only do so much at once. You want them figuring out how to solve hard problems all of the time. Solving hard problems = making big money $$$$$, you know!!

But once this senior engineer person has named the solution to a hard problem, the engineering team has to come in to solve it indeed. (This costs money and should equal revenue for your organization).

Your senior engineers should be your top sales guys. Everyone else should be feeding business to them. They are probably the bottlenecks of your organization since real hard problems (remember this means real big $$$ opportunities) are many in number and hard to solve ie process!

The cake and the icing

Consumers *will not* purchase products for one of just a few reasons:

  1. There's too much icing and not enough cake (relative imbalance of features)
  2. There's not enough cake (not enough value)
  3. There's not enough icing (it's boring)

Consumers *will* purchase products for one of just a few reasons:

  1. There's enough icing and cake (relative balance of features, the holy grail)
  2. There's enough cake (enough value)
  3. There's enough icing (it's exciting)
  4. There's a lot of icing (it's really exciting)

All the features and attributes in a product have to be about value INTERNALLY to the producer, but some of those features have to be about excitement and frivolities externally (gotta make that icing and excite the customer!!!). All of this requires work in the end, but some of it is fun and about sales and the customer. Maybe all of it should be fun!!!

Wednesday, September 08, 2010

Create many teams up front and reap the rewards


In a company where you're compensated based on the number of hours you've worked, you'd better be hungry and prepared to take hours; or you'll go broke.
I've spent a pretty good portion of my week giving my work away to my coworkers by delegating tasks to them and stepping away from the limelight or line of fire on actual work and shirking many of my existing responsibilities. I've gone from consultant to project manager. It's felt pretty good to me to do this and I think that what I am doing is best for the projects, company, and client overall, so this seems like the logical thing for me to do; but it will definitely have a consequence for my pay (not sure right now if it'll be good or bad but of course I hope good!!!).
What I've effectively done is developed business that I can now share with my peers. I am building and growing my team and influence I hope.
Moving forward it's going to be my preference to work on very-early-stage projects and business development activities rather than late stage, well-defined and -baked projects. I don't prefer to be a part of those types of teams. They're too late stage and they've essentially already failed (or succeeded) before they begun due to good chartering and project planning. I want to be a project planner.
I want to *make* the teams. My ideal compensation model will be:
  1. Work on early stage analysis projects to pay the bills; be a consultant. Get paid top dollar for this
  2. Create highly effective delivery teams to do the work right
  3. Sell their work through the delivery; make sure that sales and selling are built in…
  4. Make sure that the projects are controlled and delivering well (remember: reputation, reputation, reputation)
  5. Let the cycle repeat itself

Create something good together

Do this with your life partner or mate: make dinner, play a game, bake a pie, plan travel and go, have a conversation about something important.

Do this with your workmates: Resist producing things completely on your own with no feedback or shared responsibility. Look for opportunities to collaborate and co-create. Find opportunities to work *with* others. Create a product with them. Learn with them. Don't feel like your time together should be minimized, rather that the quality of it should be maximized.

The process you create is your most important product

It's your legacy in a way. Did the stuff you produced actually last and make a positive impact on the organization as you'd hoped or was it immediately uprooted and removed the moment you left?

When you work in organizational change management and project management, you'll realize at some point that the process you're creating (the outputs of your day-to-day work, the principles you instill, the standards you create, the policies you implement, and the practices you follow) is *the* essential product.

How do you market this product? How do you make this product consistent and continuously improve it? Who are your coaches in it?

Thursday, September 02, 2010

The next step vs. the *real* next step

It seems like there's almost always a gap between what we might think we want to have happen and what actually happens. Ie plans are infrequently realized.

The next step that is usually realized in a work/team environment is either:

  1. That which two or more people agree to take or
  2. That which one person wants to do because he/she wants to do it

The former is more collaborative and probably less frequent. It promotes better teams.

The latter is probably quite common because the actors in the company are the doers and there's usually no one standing in the way of the doers. People typically favor action. Another consequence is that those with the ideas and suggestions rarely get to implement their ideas because they're not the doers.