Robert’s Blog

Just another stream of random bits…

  • Feb
    13

    As everyone in IT knows, a career in this business requires (The 3 L’s) Life Long Learning… Technology is always changing and the speed at which it changes is always accelerating. It is probably one of the most stressful non-physical labor jobs you can do.

    Up until this year, I always felt I was far ahead of the curve in terms of staying up to date on the technology I require to do my job. I still feel I’m ahead of the curve, but that curve is starting to catch up to me.

    Although my “functional” title is Project Manager, I feel I am at a transition point in my career. In reality, my day to day responsibilities are between a hands on architect and project manager.

    So I feel that this will probably be my last “Gig” before I am forced to make a career choice. I estimate that my current position as development manager of the new Accounts re-engineering project for Citi, probably will last 10 years or so. That will put me at the age of 39/40 by the time we have a mature system.

    At that point, there will probably be external pressures for the system to evolve into the “next generation” accounts system for the firm, and I will have to make a choice. I figure, by that time the curve of the evolution of technology will have either caught up with me or is just about to pass me, meaning that my technology skills will automatically have made the transition from up-to-date to become legacy technology skills.

    The separation between Application Programmers and System Programmers are becoming larger and larger. I have always thought of myself closer to the System Programming side, even though I work in the Application Programming space. My education was more system programming related. Programming on the Application Programming side is more and more becoming about being a good Configuration Expert, and less and less about writing lots of code. It’s more about Meta Data and Configuration and small Scripting (XML, Hibernate, Java Annotations are perfect examples), then hard core coding. Although companies like Microsoft and Apple, still respect the Hard Core Coders, most IT jobs in the world are for non-IT companies, and in those companies, they feel that Configuration and Package Experts are cheaper then hard core coders… So there’s a pressure to become a Package Expert or Configuration Expert instead of a true programmer. I feel that by the time I’m ready to retire, Hard Core Programmer jobs will probably only be in the IT companies, and non-IT companies that currently have large Software Development groups within their IT organizations will reduce those groups to packaging and configuration experts and maybe just a handful of coders. Of course they will have legacy systems that are difficult to retire, so they will employee legacy programmers but aggressively outsource their jobs and attempt year after year to retire those legacy systems to cut cost. Right now, programmers on Wall Street easily make 6 figures. So it’s no wonder why they outsource and try to bring in packages so they only have to hire 5 figure making packaging expert.

    So what do I do? A lot of people in their 40 in the technology field, basically become legacy technology experts, and there’s no shortage of jobs, as so many system have been written over the previous 20 or so years of their careers, and no one in schools or just out of school knows anything about that “old” technology. So they basically just hang on as long as possible to the legacy technology and try to position themselves and their systems as critical and impossible to change. (Although you can always change technology solutions). So the young guns feel these 40-somethings are behind the times, and are foolish for not learning the new technologies. They work with the managers, who have totally bought into the new technologies to “re-engineering” the legacy systems to a new system that probably does exactly the same thing as the legacy system with some extra bells and whistles, using cutting edge new technology. Eventually, for the legacy IT staff, it’s either get on board and learn the new technology, or you will most probably be laid off the second your system is retired. At that point, you usually have to look for a job at another company that has not yet made the transition to the new technology for a particular system that was built using the old legacy technologies you are an expert at. And you spend the rest of your career hanging out to those jobs where you are responsible to maintaining those legacy systems.

    Another choice, is basically transition yourself to a full time manager. You won’t write any code anymore, you probably barely work on any designs. You partner yourself with a young gun that is up on all the latest and greatest technologies, and basically just do the paperwork, such as budgeting, user requirement meetings, and smoothing over the business users, when your system breaks. Once you make this choice, after a year or so, you have reached the point of no return… Your skill now start accelerating away from the technology curve faster and faster. You will no longer be able to be hired as a programmer, not even for the legacy systems, because most hiring managers will just view you as a project manager, and not a person that is hands on…

    The third choice, is basically force yourself to stay ahead of the technology curve. Learn the new technologies, and just become that gray haired guru programmer that even the young guns are afraid to mess with. You know the legacy technology they don’t. You have the domain expertise, which will take them time to learn, probably having to learn it from you, whenever you feel lie it, and probably won’t ever be able to surpass you on it. You have the experience they don’t, and this, since you are still gaining the same amount of experience they are, the young guns will never be able to surpass you. And finally you even know the technology they were hired to work on! They can’t use the buzz words against you, because you probably could teach them a thing of two about how to apply those buzz word technologies in the real world. Those young guns will probably report to you! It is difficult to be successful with this choice, because as you get older, you will have less and less time to learn and stay up to date on the new technologies. Especially once a new programming language or computing platform is invented and takes a hold on the industries you choose to work in.

    The final choice is transition yourself out of technology… You can become a BA (business analyst) within the same industry you currently work in IT. A BA’s job basically is to analyst data, work with the users and bridge the gap between the technology the business. Or you can totally transition to the business side. Sales, trading, analytics, etc. It’s rare that someone in IT usually transitions within the same industry totally to the business side. It’s much easier to become a BA and remain part of the IT organization or work on the business side as a BA to be the business side’s representative to the BA’s from the IT organization. Or you can transition yourself to an entirely new career outside of your industry, which probably means you either started a small business or went back to school, or took a huge cut in pay…

    I’m not sure what I will do in 10 years. But I do know that at that time, I will probably have to make one of these career choices. It will probably be a long process, and I will by default be going with the third option, as I do not foresee myself stop learning knew technologies, but I’m not sure I want to be that old guru of the office either… Management might work, but I still have a lot to learn before I feel I could be a full time manager. One thing I know for sure, is I won’t allow myself to become just that old legacy system programmer…

    10 Years may seem like a long time, but I have already worked for 10 years in the IT field… It goes by very quickly! Now is the time for me to start thinking about my next move…

    -R

    No Comments