How To Be a Successful Software Developer

s a software developer, you always want to do things the right
way and be successful in the end. That being said, I had the honor of
inviting my mentor and Pluralsight author John Sonmez as a guest on my blog. So, let us sit back and listen to what he has in store for us today.

software developer success 300x225 How To Be a Successful Software Developer
Most people I talk to want to be successful.
It seems that nowadays almost everyone is talking about
success and how to be successful, but few people are really
understanding what it means and what it is to be successful.
In this post, I hope to point out first some of the ways you can identify success and then how to achieve it.

As a software developer, what is success?

You may hear that success is what you define it to be– and while the
intent of that message is often well placed– the reality is that success
is not something we are able to decide and define for ourselves.  If it
were, we’d all be successful.

Instead, success is something that is elusive and
misunderstood but just as concrete and nonconforming as gravity or
Success simply means to achieve the highest measure which we could expect to achieve given the resources we possess at the time.
You can test this definition by imaging scenarios where you
are but a poor orphan without a penny to your name– perhaps even
without a name. Success for you then might be a very different picture
than what success would be for a richly endowed golden child born from a
wealthy family with every conceivable advantage possible.
In fact, you’ll find in life as you achieve new successes
and reach new milestones in career and wealth that success is always one
step higher. Success is always a higher rung on the ladder that is just
out of reach.
To chase success is to understand that you are indeed chasing a rainbow seeking the pot of gold at it’s end.

The formula for success

Knowing what we do now about the nature of success, how then can we achieve it?
Here are a few keys which we must obey in order to have any chance of success:
1. Mastering our resources
First we must possess and actively seek out the ability to make the most of the resources that are presented to us.
For each of us this will mean a different thing, which only we will be
capable of judging, but we must learn to take inventory of what we have
to work with and put it to the best use possible.
If you are starting out in the world of software
development, this world can seem large an uninviting.  It can seem
impossible to learn everything you feel that you must know in order to
be successful, but you must calmly take an inventory of what faculties
you possess to acquire the knowledge and experience you need and make
the most of them.
If you are reading this post, I have to assume that you
have some access to the internet.  You should feel lucky to have such a
fortune bestowed upon you, because you have a limitless source of
knowledge– both good and bad– at your disposal.
If you have access to a library, you have another resource
and one that is more curated, this more trustworthy than the unfiltered
fire hose of information you can find online.
Do you have the financial means for an even more curated selection? If so, consider online courses, like the ones I produce for Pluralsight and even free ones from companies like Code Academy or Khan Academy.
Perhaps you know someone that is already in the field of
software development.  Someone who is willing to be a mentor to you.
 This is perhaps the most invaluable resource available.  For centuries
trades of all kinds have been passed down by this method.

2. Using resources effectively

All the resources in the world do no good if they can’t be used for the advancement of your education and status.
How many times have I seen a man sitting on a pile of gold,
but starving to death simply for the lack of ability or willingness to
convert that gold into something that could sustain him.
In order to be a successful software developer or
to be successful in any pursuit, you must learn to make the most of what
you have.
If you are like me, you perhaps have had times where you
have had a pile of books on your desk that you mean to read someday.  Or
perhaps you have planned to go back to school, but lack the time.
Whatever the excuse is, you must recognize it for such.  It does no good
to justify your actions when you must still suffer the consequences of
them.  All this does is take from you power along with opportunity.
Successful developers are able to take account of the
resources they have and to use them as effectively as possible.  If you
are wanting to learn a programming language, then learn it.  If you are
wanting to learn a particular technology, then do so.  Perhaps you don’t
have the best resources available for doing so and your search of
knowledge will require the extra effort of finding the sources yourself,
but it is very rare that a person continually knocking would not have
the door opened to them.
In today’s world of accessible knowledge it is rare to find a question in which there is an answer for that cannot be answered.  And what is learning but asking questions and then answering them?
Every pursuit of knowledge begins with questions which are
then answered and lead to more questions.  Not many people are short on
the ability to recognize their questions, but it is up to you to realize
that you have the resources to receive the answers.  Don’t make
excuses, instead use what you can to find the answers to your questions.
3. A successful software developer Works hard
You have probably heard the saying that
there is no such thing as a free lunch.  This is a true maxim, which you
should always live by.
software developer 300x300 How To Be a Successful Software Developer
Life was not meant to be easy and success is not something
easily grasped, if it were why would it even have value to begin with?
Everyone would simply reach out their hand and grasp it and we wouldn’t
have the need for the conversation at all.
Instead, you must realize and come to accept that all things which are worth achieving come at a priceThe price is often your own diligent and hard work.
 It is completely impossible to achieve success without hard work,
because it takes great effort to maximize the use of your resources.
There are many people who will lie to you and deceive you
for their own gain by saying words to you like “work smarter not
But, you must resist that trap and instead realize that the only road to success involves both working smart and hard.
Fortunately working hard does not mean a life of misery without any joy. It just means that you must be willing to make sacrifices of your time to devote it instead to what will benefit you most.
 This sacrifice doesn’t have to be as painful as it sounds, as you can
surely enjoy the process of working hard as much as you can enjoy the
benefits of it.  Just as I would probably rather be resting on my couch
watching TV than writing this blog post, but I am also enjoying the hard
work I am putting into it.
You must learn to see everything as an opportunity, then
you will not feel the burden of hard work, because when you are working
towards a purpose the work feels light.  If you are working in an
oppressive environment with a demanding boss who makes your life
difficult, instead see it as an opportunity to work under non-ideal
conditions and still produce significant results.  Bide your time in
this situation and devote extra hours when you get home to your own
education.  Find opportunities in your job to learn new skills or make
the most out of the tasks you are required to do for your own benefit.

4. Have an indomitable spirit

This means do not give up.
No matter how many times you fail, have a sincere hope and belief that at some point you will succeed.
I remember teaching myself to juggle thinking that I would
never be able to get it.  Every Time I threw the balls up in the air,
they seemed to fall back down the same each time.  What I didn’t realize
and what I couldn’t perceive was the small changes that were occurring
in my mind as I was adapting to the situation and preparing to be
successful.  Had I measured my success by my results early on and had
given up on the venture, I would have failed not because of  lack of my
ability, but because of my lack of perseverance.
You may not always see results, but as long as you do not give up, you will eventually succeed as a software developer.