As 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.
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 electromagnetism.
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.
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 price. The 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 harder.”
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.
I’m an independent software developer, trainer and consultant whose focus is on making the complex simple.
Thank you for stopping by today. If you have any questions, please let me know through the comments or the contact page. Please share this post and subscribe to the weekly updates! See you and take care.