Wednesday, 9 May 2007

Are We Just Processes in a Data Flow Diagram?

Donald Latumahina's
post on inputs reminded me about data flow diagrams. Donald argues that inputs determine outputs, which is similar to the rule that states that a process can not be a source of data, but rather only transform inputs into outputs.

Have bad inputs, and you get bad outputs. The logic seems reasonable enough at first glance, but can our minds really be simplified to a single process on a sheet of paper?

Commenting Code

Commenting code is something that all programmers, especially the students and newbies, are constantly reminded to do.

But how do you best go about it, and more importantly, how do you know when to add comments? Steve C McConnell says a good place to start is with good code:

Good code is its own best documentation. As you're about to add a comment, ask yourself, 'How can I improve the code so that this comment isn't needed?' Improve the code and then document it to make it even clearer.

The worst code i've seen would not have been helped by adding comments. The code itself needed to be drastically changed.

Code which has a logical structure and meets the requirements of Obejct Orientated design can often be worked out. It is when the programmer him or herself does not know what the class is meant to be doing that problems arise.

So sort out the code and comments will naturally follow.

Wednesday, 2 May 2007

UK Internet Millionaires Move Down Rich List

11 of this years 15 millionaires who made their money via the internet have moved down the list.
What does this mean for those of us who want to join them?

Empowerment - Nobel or Patronising?

Empowerment goes to the heart of good governance, good democracy and good business. Being a leader is not about getting someone to do a task but making them want to so they do it without asking.

Lisa Haneberg has something different to say about that:

Saying you want to create a work environment where people do their best work and then failing to collaborate with employees (notice I did not say empower, which is generally a fake term and patronizing) about projects and decisions that affect their work - that's management on the cheap.

Apparently empowering people is 'patronizing'. Having experience in politics, I know this to be far from the case.

She does however touch on an issue that many free thinkers and leaders forget; that not everyone shares our vision. I have seen many people lose their control with employees, who are often earning the minimum wage, for not going above the call of duty.

You must not forget that whilst you have invested everything into a project; belief, time and money all for a greater spiritual or financial return, those you have brought in won't have. After all, why should you work your butt off for a low wage, or if viewed differently, low Return On Investment? Empowerment, a term used often in politics, is superficially thought about meaning 'how' to get people active and involved.

If you dig deeper, it is however about something different; the 'why' should people get involved.

Solve this latter question and the former will follow suit. As entrepreneurs, team leaders and blue sky dreamers, you must think about the 'why'.

  • Why should people believe in your idea as much as you do?
  • Why should people work their buts off for you?
  • Why should people work harder the ruder you are?

If you can empower people, you can do one of the key things required of you as leader and rainmaker; motivate. Help people share you vision by focusing on the why, and the how and if's will follow.

Tuesday, 1 May 2007

Leading, Not Managing

Leading a team can be hard work. My father always said that when leading a team you had to be able to do what they did, and take on the extra responsibilities that come with leading a team in 'extra time'.

As a child and then teenager, this marred with my own views of being a leader that came from watching many macho films. I had always wanted to be an officer in the British Army, and was well suited to it. Not incredibly intelligent, but active, fit, a desire for action with a smattering of backbone and dislike for the mundane and average meant I was well suited to it. The only reason I did not sign up was due to having grown a conscience - would I be happy with fighting other peoples wars?

This article is not and debate on the merits and place of an army in a democratic society. But leading at the time did seem to me like doing what others could do, but for longer, better, and harder.

As someone who wanted to be an officer I believed you had to lead from the front. That meant being able to run faster, lift more weight, work for longer and just do more work better.

That all holds true, and went some way to gaining a lot of respect from older colleagues in the cadets.

However leading is more than just doing more work. It is more than managing. It is about people. Leading and managing often get confused. In the article manager or leader the distinction is made clear.

Selection of those who work with and around you is important. Unfortunately there will always be people who are happy to live the nine to five, work to live not live to work live life style. You need to make sure you can get the best possible team around you.

However once that is done, are you doing the best you can to keep people motivated? Getting bogged down in the nitty gritty of programming, something that is enjoyable and invigorating, could be detracting from your true responsibilities.

Your job may not be about running faster, but making sure other people do.

Getting To The Top - Programming or People?

What is interesting about this article , from Aleksey Shevchenko, aimed at application developers on how to succeed at job interviews?

People skills are number one. This is not say that technical ability or business knowledge is not a pre-requisite. It isn't possible to be a doctor without having detailed knowledge of medicine, or a mechanic without knowing the internal working of a car. The same goes for programmers.

But who gets to the top of their profession, and how do they do it? Is it by being factually/technically correct but obtuse and arrogant, or by merging your technical skills with an awareness and understanding of how other people operate?

You guessed it... Become an excellent programmer, but don't forget those other 'softer', but no less important, skills.

Monday, 30 April 2007

Two Ways to Increase Sales and Profit

Business owners can often over complicate things. Here are two simple ways to maximise sales.

1. Be pleasant. This weeks New Stateman has an article about the local elections. A woman was comparing Tim Farron, current MP for Westmorland and Lonsdale, with the previous MP, Tim Collins. Without the article to hand I can't take a direct quote, but it went something like this:

"Tim [Farron] came round and kicked the ball around in the garden with my son for 45 minutes. Collins would come, give it a kick, and then head off again in five minutes."

You can see why Tim Farron won the election in 2005? Are you pleasant and easy going with your potential clients?

2. Give options. Successful companies sell more than one product, because there is no magic item or service that can meet the varied needs of all their customers.

People, when buying service orientated products, can be keen on bargaining. Yet I bet these same people wouldn't do that if they walked into a retail store. When working as sales assistant in a bike shop, if someone couldn't afford a bike, I would show them a cheaper one. The link between quality, value and price was clear.

Make that link in your products. Offer more products, and the value of each one becomes clear.