Today is a day of greatness for me. Today I throw off the shackles of my past and look towards the future; to a best practices future.
I am starting a new project today, mybill, a service that will allow for bill management across space and time. It is intended as an inwards facing app (i.e. for my family), that makes it easier to manage payment of bills that are the responsibility of multiple people that don’t live together. If however it turns out to be useful to others it may find it’s way into general use.
The idea itself is not original, It has been done before, and no doubt better done before.
Why then you ask. Why go through the troubles of creating a new thing if it is already out there. Well there are a few reasons, 3 to be precise.
- I have promised my father for far too long now that I would create something along these lines. We have a large family of moochers who are tardy when it comes to paying phone bills.
- I don’t like any of the free alternatives out there. I know there are competitors, but I don’t have them on hand.
- I need a project. Now I am not completely idle, I have been keeping myself busy with little bits and bobs, but I need to do something that is a concerted and focussed effort.
So now I start. Now the opening paragraph may have seemed a little superlative and hyperbolic, but I believe it to be true. With this project I am going to attempt to stop all those bad things I have done in the past. Thats right, I’m not perfect and I’m coming clean about it.
Don’t mistake me; I believe I am really good and what I am good at - PHP/HTML/Javascript development - with the following caveats:
- I am good for someone who has been doing it as long as I have (i.e. not very long); I have and will always have lots to learn to become great, too much in fact. I will forever be chasing the dream of zen like development. I know I can never be perfect, but I wish to try.
- I am good in the areas of my greatest knowledge, as previously mentioned. I am OK, average and woeful in others. As mentioned I always have more to learn, especially in my areas of weaknesses.
- I am young and inexperienced. Intelligence and intellectualism can only take me so far. The rest needs to come from life experiences and knowledge.
So with these things documented, lets move onto to what has changed, what I will change, and what I want to change. I will use my work to document the various states of change within my personal coding, because the two are inseprable. I cannot help but be influenced by what I do for eight hours a day, for the five out of seven days of the week. In turn I can not help but influence my work at which I spend so much time with things I have picked up along the way.
So what has changed?
Well work has changed somewhat. We are getting bigger, in terms of the clients we take on, the jobs we do and the future we see for the company.
Now when we started at the job Josh and I were both very green, straight out of uni. We were both naive to what it was like in the real world.
Now this in itself isn’t an issue in a conventional software company. You have higher ups who have had the naivety replaced with equal servings of cynicism and experience. They help guide and mold you (if they are good) and force you down the ‘correct’ path.
That didn’t happen at my company. We were both the most junior and senior programmers there, with nothing to guide us but the values instilled in us through university. So we more our less flew blind through the first couple of years. We read and heard people saying the way software should be made, but without someone to show us and give feedback we had no real way of telling how we were going. The boss with out any programming experience telling you you did a good job is not really sufficient.
Despite this we pushed on, and got through our early failures to implement standards; coding standard, standard frameworks. We managed to get some good products out there, if I do say so myself.
However we realise we are still deficient in certain areas. The early failings of no mentoring were never rectified. The juniors have now become seniors, and new juniors have come in, but still no programming managers have been brought in.
So what will I change
Now when I say what ‘I’ will change, I mean what the company will change about it self, and how I will in turn change the way I do things.
Now for ease of narration I will continue to use ‘I’.
‘I’ will:
- Implement a version control system that is used universally.
- Enforce minimum coding standards on all within the company.
- Insure that documentation and system information is kept so programmers can work interchangeable on each others code, with a minimum of fuss.
- Implement thorough and rigorous testing.
So what do I want to change?
To bastardise Robert Burns, “The best-laid plans of mice and men/ often go awry”, or to put it another way I want to change all the things I will change. I have worked just long enough to know that despite best intentions and promises everyone loses their passion and motivation for things that are perceived to be ‘extra’ or ‘nice to have’. People most often revert to do the bare essentials, especially when support for change is on a deadline. Despite the feeling of history repeating itself I am optimistic. For the company to grow, and for me to grow as a programmer these changes need to happen.
Only time will show whether I have gone back to old lazy habits, or taken a leaf from my own book (blog) and implemented the changes I and the company so need.
Now I am off to practice what I preach.
- BROWSE / IN TIMELINE
- « Twitter Updates for 2008-05-23
- » Twitter Updates for 2008-05-26
- BROWSE / IN Programming
- « md5me.com is dead, long live md5me.obfuscure.com
COMMENTS / ONE COMMENT
Josh added these pithy words on May 24 08 at 3:35 pmHell yeah, brother. Excellent article.
Blogging about the things you want to change helps you solidify these goals and, more importantly, keeps you accountable. Now we all know what you want to do and if you fail, everyone will know
![]()
So I hope you stick at it and help our software get even better. Sounds to me like you’re looking to take over my job as senior programmer… stay at work another 5 years, become Rob’s right hand man… well good luck to you sir!
SPEAK / ADD YOUR COMMENT
Comments are moderated.








