Friday, 20 June 2008
IT is a changing space. It moves faster than other industries. The tools you worked with five years ago are the ones we would all sigh at if we heard they were being used now. Languages are born, reborn, popular and then not. The shape of the space changes with architectures ending in OA and everything 2.0. Your head will spin if you try to do it all but our jobs do mean that we have to at least keep up and know what the latest technology is, even if only for those moments at the water cooler.
Of late, I've had the chance to meet a lot of smart people who are new to the industry and asking how to keep up with all the changes. Of course, us oldies mention reading blogs, tech books, books on thinking, joining user groups and all those practical things. A lot of people are doing that but they still look around and wonder why nothing is happening. I think it's because you can't wait for change. You have to stretch yourself and extend your comfort zone.
We all look on ourselves favourably and think we live on the edge. Each of us is convinced that we push ourselves to be better at things - things we already do and those we don't. That's probably mostly true. For me, it's not really enough.
It is easy to stagnate. Take a job that by definition appears hard to others and you at first and then stay in it too long. Too long is when you know what the upcoming day entails. When you are comfortable. When nothing in your day scares you and makes you doubt yourself that little bit. That is a bad spot to be in. That is when you need to move on or shake things up.
When I talk to someone who is bored with their job, my usual response is to tell them to start making it fun and if that's not possible then find something newer and harder. Yes, quit and go for a job that extends you. Every interview I have ever been to involves me interviewing them too. Sometimes the guys on the other side of the table don't pass. I don't hire them as my employers. They aren't smart enough or intellectually intimidating enough to excite me about the job. That's what you should do.
The more you move, the more likely you are the stupidist person in the room, the more unsure you are that you know everything there is to know then the more likely you are to learn and keep up. That's not always in another job. Maybe it's in another team at work. Maybe it's outside work in a user group for a language or tool you have never used before. Be a sponge and also take something to the group. Everyone can add something to a situation.
Soon enough, you'll be back in your comfort zone and you'll surprise yourself about what you know. At that point, shake it up and move again.
Thursday, 19 June 2008
Photo by decadentyou used under the flickr Creative Commons license
There is an etiquette to blogging. It encompasses writing, commenting and responding to posts. Credit should be given where credit is deserved. Images should note any license or conditions that allow them to be used. Quotes should only come from people who have approved their use or already been publicly stated.
Yesterday, I lunched with some old colleagues from a past life before heading off to Google Developer Day Sydney. We often meet. We always talk. We all blog.
This time was different. This time while we spoke, we had no idea that one of the participants was going to go to work the next day and post snippets of that conversation to his blog. The post included our names, the names of other people who weren't there, links to our blogs and absolutely no context.
Although he took down the post once it was made clear to him that what had happened was inappropriate and an abuse of trust, it still leaves me a little worried. There was nothing malicious in what he did but it was pretty bad form.
To make it clear: Do not quote someone or paraphrase them without their permission. If you do, don't expect me to trust you enough to say anything interesting ever again.
Tuesday, 3 June 2008
After rolling off a project that seemed a little longer than the 5 months I was there, I've had cause to look forward to what comes next. There are options. There are always options. Everyone has options.
The interesting trend I've seen lately is that consultants with social skills are often pushed in to roles that express those talents. That's fine, except if you are an engineer. Software engineers with the ability to not frighten the clients are encouraged openly, explicitly, implicitly and suggestively to walk down the one-way street to the post-technical role.
My feet are firmly planted on the ground and I'm not moving in that direction. To me that is not even a valid option and it shouldn't be for poly-skilled engineers. I have decided that there will be no such thing as post-technical for me because I enjoy technical too much. However, I will be extending my skills in other areas that are not purely technical.
At university we were told that software engineers covered all parts of software development, regardless of methodology. There are no strict roles. You must understand and participate in some way in all aspects of listening, enabling, communicating, coding, testing and building software. To me, the days of sitting in a dark room and "cutting code" on a green on black console never truly existed. Even experienced long term programmers will tell you they work across the project or product from go to whoa. There are no strictly defined vertical roles.
From now on if anyone asks what my role is, I will tell them that I am a consultant with an engineering background. Break the mould and resist the classic definitions given to people in IT.
Apple started a user experience trend many iOSes ago when it accepted Settings changes and did not ask for confirmation. Once the chang...
despair.com Recently, we (on the Interblag) have gone through another wave of controversial discussions about people who shouldn't be...
Recently I was asked to disable the submit event being triggered when the enter key is hit in a textbox input. This is for an ASP.NET MVC a...
After posting a quick how-to about Ruby-LDAP , I received a couple of very helpful comments that pointed me towards ruby-net-ldap . This is ...