Wednesday, 27 October 2010

Ten pointers for I.T managers

Having worked in several I.T companies where I managed and was managed by good, bad and ugly managers. I just thought I would put together a short list of pointers to remind myself a few do's and don't s of I.T management.
This list is by no means exhaustive and I will add to it as I remember more.
While the title refers to I.T, I believe the pointers below can apply to any creative sector.

  1. I.T professionals are a resource not slaves or students
  2. Endeavor to encourage rather than instruct. It is better for a person to decide himself that he wants to do a certain thing rather than be instructed to do it, he does it with gusto
  3. Team effort all the way, "we" rather then "you", "us" rather than "I"
  4. Staff should be responsible for thier performance, while being given periodic reviews to judge how they are doing.
  5. A sense of belonging, of being part of something great helps build staff moral, good staff moral in turn encourages staff loyalty, productivity and descipline
  6. Staff trainings are good, they show you are concerned about building staff career.
  7. Encourage attempts, praise good attempts, Reward excellence
  8. Discourage a bad and unprofessional attitude to work, unprofessional in this case refers to lateness, low productivity, bad social skills, lack of team team work and spirit, reluctance to self improve. 
  9. Good language, a good attitude, staff loyalty should be imbibed in staff and office culture 
  10. Carry staff along with key decisions that affect them and get feedback on what they think.


10 Most Common Mistakes in Agile Adoption. Part I

10 Most Common Mistakes in Agile Adoption. Part I

10 Most Common Mistakes in Agile Adoption. Part II

10 Most Common Mistakes in Agile Adoption. Part II

Friday, 1 October 2010

Adopting a mountain climber mentality

What’s a mountain climber mentality in the first place?
when climbing a mountain you first have to decide on what mountain you have to climb, carefully plan the climb and then begin the task, when climbing you have to stay lean, carry less luggage, invest in physical and mental health rather than material possessions, needs rather than wants.
At milestones its ok for you to celebrate how far you have come, have a rest and get yourself a treat but it’s important to be careful not to get complacent and settle there, the climb has to continue! You have to keep your eyes on the prize which is to get to the top, because when you get to the top it will be totally worth it.
After the climb what next? Well, find another mountain, if you keep at it long enough you will one day look back and find that you have become a great man, an achiever.

In real life this means..?
Setting life goal(s), planning how to achieve them and then striving to achieve it, it means constantly investing in your health, education, business and career, keeping a lean budget, few important luxuries but many more targeted and well planned expenditures, investments for needs now and in the future.
Keep at it over and over again and then one day you will look back and find that you have achieved so much over the years, you have amassed wealth, kept good health, have truly become great and achieved more than you could ever have dreamed you would achieve.


Advantages of a mountain climber mentality

  • A mountain climber mentality helps you to be disciplined in your spending, because you are forced to think carefully of the benefits of any expenditure before making it.
  • A mountain climber mentality helps gives your a direction, a focus
  • A mountain climber mentality helps you to get richer because as you achieve more, you earn more.
  • A mountain climber mentality helps rise above your peers because your focus is not to compete with your peers but to achieve goals you have set for yourself.
  • A mountain climber mentality helps you to become wealthier because the returns from investments will always be giving back.
  • A mountain climber mentality helps you to be wise because when your others are wasting time and money extravagantly you are focused on achieving more and more
  • A mountain climber mentality helps you to stay sharp and make good use of your time, because you need to constantly think of ways to achieve your goals
Yeah, yeah I know my writing above is not exactly technical, but I believe a more focused, physically and mentally healthy pro is a better I.T pro.

p.s Happy independence Nigeria!!

Thursday, 30 September 2010

My Top Ten reasons to be a software developer.

  1. It’s now cool to be a geek. Don’t believe me? Well, ask Mark Zuckerburg, Steve jobs and the Google guys.
  2. You get to work with the latest and best tech out there. Well most of the time, if you are unfortunate enough to get stuck maintaining legacy software (been there), then this point does not apply to you.
  3. You can work anywhere. Because these days pretty much every company uses the internet and computers, and where there’s internet and computers, there’s software, and where there’s software there are.....? Yep, you guessed it, software developers.
  4. The pay is not bad, could actually be really really good depending on your experience and smarts, don’t believe me? Well, ask Mark Zuckerburg, Ste.....
  5. Low entry barrier.  Anybody can do it, though the more qualifications you get, the more your pay is likely to increase
  6. ts fun and challenging. Or should I say, it CAN be fun and challenging, can get pretty dull and unchallenging at times (testing and debugging)
  7. All the resources you need are easy to get and cheap as dirt (it rhymes). You don’t need an expensive stethoscope or defibrillator to work (what’s a defibrillator you say? those things doctors use in movies to bring people that just died back to life, you know the electric voltage things..no? just Google the word) , all you need is a computer, an internet connection and you are in business.
  8. People will think you are clever. For real think about it, what (apart from women) is more complicated than computers, if you can understand computers you can understand anything.
  9. Potentially relaxed hours. In most software development houses, it’s not how many hours you put it, but how much you get done that really matters, so it’s quite normal to work on something late into the night, send it to the office in the morning via email and come into work later.
  10. Not physically tasking.  You get paid to sit down in front of a computer on comfortable chair typing on the keyboard, now isn’t that just paradise on earth



    Tuesday, 28 September 2010

    My Top 10 reasons NOT to be a software developer

    • Pressure – A major client needs an update installed, they can’t conduct any business without it, your technical director is close to tears, you are the only developer around, you need to churn out code which you know absolutely nothing about, and asap! OMG OMG OMG!  Welcome to the wonderful world of software dev.
    • Stress – Imagine the scenario painted above happening every week, I dare you not to be stressed out
    • Brain fatigue – software dev is akin to seating at a desk trying to solve the geometrical meaning of the central extension of the algebra of diffeomorphisms of the circle (just in case you are wondering, I got that from googling “most difficult math problem”) every single working day of the week, what do u get? brain fatigue.
    • Your social life, relationship, sex life might suffer – why? Because you are busy trying to debug the damned code that you broke and finish off what you were working on in the first place before you broke the damned code. 
    • Its not a job, its way a life –  ever seen a doctor stare lustily at a new ultra powerful high tech stethoscope? Nope. Seen a plumber saying sweet nothings into the holes of a new super strength carbon fibre pipe? Nope. Seen a software developer professing his love for his computer? Yep! Why? Software developers live for tech.
    • Work hours are not fixed - software developers only rest when the client is happy, and everybody know clients are never happy. Do the maths
    • Pay is.. not so good – with all I’ve mentioned above you‘d think the pay is super, WRONG!!!  Because software developers come a dime a dozen these days, the pay is terrible.
    • You become everybody’s tech support –when dad can’t print his document because the paper is jammed in the printer, guess who they’ll call from wherever the hell he is on the country? Yep you guessed it, the guy who practically lives with computers, the software developer. 
    • You might get a bad back – if you r unlucky enough to get a bad chair then the long sitting hours will almost inevitably mean a bad back.
    • You might get fat - forget the might, you will get fat, it’s simple, sit on your ass for 8 hours a day, get home and do the same, what do u get? A very rotund, socially dead, sexually inept, lifeless, soulless individual sitting in front of computers.






      ..............................................
      Ok ok, it’s not all bad, there are some perks to a life dedicated to software dev,  in my next blog post I will highlight some of the VERY FEW advantages.





      Tuesday, 21 September 2010

      The App state of Mind: A software developer must

      I have noticed a trend in I.T, the need to develop and release well tested products very quickly, call it “the smart phone app state of mind” or simply “the App state of mind”.

      Why call it this? I’ll explain;  according to Apple Uk, the app store currently has over 200,000 apps, this means massive competition,  more importantly it means for any app to succeed i.e. achieve significant sales, it has  to be really good (in the first place), fully tested, marketed and released very quickly, the same applies to the larger I.T world, in the today’s fast paced, highly networked,  innovation driven environment companies have found that in order to survive they need to speed up their product dev and sale process or risk facing a bottom up disruptive overtake in the market place, Nokia readily comes to mind.

      This App mentality can be clearly seen in the software dev world as well, as more and more companies are shifting from traditional software dev methodologies e.g Watefall, EUP etc, to more agile ones e.g. Agile Scrum/XP, DSDM Atern, Agile unified process (AUP) etc. In response to this more coding methods (TDD, MVC), platforms (Azure) and tools (nunit, mbunit) are being developed to cope with the challenge.
      In the same vein, any software developer intending to stay competitive in the software dev world needs to adopt the App state of mind, it’s no longer enough to be a good coder, they must be able to develop fully tested and functional software very quickly, for instance they need to be able to use TDD in concert with Agile methodologies to develop production ready code within the shortest of times. The ability to switch to more traditional approaches when needed would be is a major plus.