Every few years the rules change, if you can adapt quickly
then you will survive. This blog will focus on my own experience changing from
product to product and how developers can cope with the constant change.
The Ground Rules
If you have just graduated from College or maybe you have
just switched careers and you are excited to start developing in the real
world. You have become an expert in current technologies and programming
languages. You arrive at a new job full of hope and you realize: you know
The industry is constantly changing. Chances are you will
not find a job that matches your skillset exactly, but even if you do after a
year nothing will be the same.
The ground rules are: there are no rules.
My Own Experience
I started at Agora creating a web service which would
communicate with Microsoft CRM. A few weeks later I was put on to Project
Server 2010 development, and a few weeks after that onto SharePoint 2010
development. I learned nothing about these products in school, in fact I didn’t
even know they existed. I knew C#, SQL, and the underlying technologies (at
least at a pedestrian rate). I was thrown into the deep end and left to swim. I
used to say to myself “just a few more months and I will have a handle on all of
I still say that to myself.
What I came to the realization that this feeling is normal
for developers, especially developers in a consulting role. Getting over the
learning curve for the Project Server PSI and the SharePoint Object Model took a
lot of time, effort and asking questions. Just when I felt myself getting
comfortable with PS2010 and SP2010, PS2013 came out. I said to myself “things
used to be so great, why did everything have to change?”
I still say that to myself.
Change is constant. The technologies and languages are
always moving. Just when I was comfortable with 2013, Project Online came out
and that was leaps and bounds different than anything I had ever done before.
PSI, SP Object Model and all notions of server side code vanished into the
cloud. Yet again, more than ever, I found myself at the bottom of a large
mountain which I know nothing about.
The thing is, it’s not only the new versions that create
challenges. We have clients on Project Server 2010 that still request features
I have never coded before. Being a developer is not monotonous, regardless of
what technology you use. Invention is innovation, innovation is problem
solving, and we are required to solve problems in creative ways every day.
Below are three things that I come back to when starting a
new problem/version. I hope they help you as a developer and give you
You have the Logic
You cannot transfer 2010 code to 2013, you cannot use php to
write ASP.NET MVC applications, and you cannot develop for iOS with Java. But
why should this scare you? Why let this be a boundary? Just because you do not
have experience in the exact language doesn’t mean it’s hard.
At the core of every programming solution there is sound logic.
A good solution thinks of all possible scenarios and provides functionality for
each. In all of the solutions I have created the hardest parts were finding
ways to account for business scenarios, not the limits of technology or my
understanding of it. If you can brainstorm a good system (even on paper) most
of the battle is already won. You will find a way in any language.
Is It Possible?
Always ask yourself this. After you have come up with a good
idea (previous section) you will no doubt run into limits or constraints in the
technology you are using. It can be easy to throw your hands up and say “I
guess this isn’t possible”, but at times like that try harder! Is it really
impossible? There is really no way to do it?? Which leads to the clincher.
Will someone else do
If you are
so sure something is impossible, think about all of the developers in the
world, are you saying that none of them could do it?
When I started,
“it’s impossible” was something I said every week. After time though, I realized
that given enough effort (and money) anything can be developed. What really
made me angry is when I saw another company do something that I swore was
impossible to do. Now, when I am faced with a tough challenge, I always ask
myself this question.
can read books and keep up to date on technologies, but honestly that has never
helped me significantly. The only thing you need to survive amidst the constant
change is the right attitude. The desire to do something before “someone else”
has done it and the confidence to know that it is possible. With these
characteristics, your skills will go beyond the workplace into your daily life.
“I think I can”.