There Isn't A Shortcut To Success

Developers have asked recently how can they quickly be successful as a software engineer, gain more customers or release the next killer app. Well I am here to let you know that there is not a shortcut to success in the software business. Real success comes with a lot of hard work and a lot of patience. Since I have been in this business for over 20 years, I thought I would share time stories and tips.

Career Advice

I totally understand their comments; they have spent years in learning software engineering, which can include going to college and racking up a lot of student debt. After training is done, they want to make a big splash, make lots of money and even support their family. I have been there. My biggest motivation to become a software engineer was to support my family, else I would have spent my effort becoming a guitarist in a rock band.

Sure, some people get lucky and become famous or millionaires. You hear about them but you do not hear about the teams of developers working very hard sometimes for years to even make a ripple in the software waters or even get noticed. My early success was a lot of hard work and a bit of luck. The work part was working three jobs (none of them is software related) and going to school at night. I spent every minute I could, learning to be a software engineer. My luck came in two parts. The first was one of my first programmer positions at a company with one of the best teams of the developers, I have ever worked with. I learnt so much from them and since it was a startup, I learnt how to wear many hats at that company that makes my skills very useful. I still use those skills today.

The second bit of luck was the second program, which I wrote on my own, got reviewed by PC Magazine. It was a good review too. Orders for this app went from about 10 a month to 10 a day for a while. It was so much work that I had to enlist my family to help. My kids, toddlers at the time, would copy the floppy disks for me. My wife sent all the flyers out to people that wanted more information about my app. I put the labels on the floppy disks and mailed them off to customers. Sure, I made a little money off the app and a few that followed, but that is not why this story is important. What is important is what I learnt. I learned as a beginner. The whole process on releasing software. Coming up with an idea and design, coding it, released it, marketed it and even learned how to deal with the customers. Today, I still draw from the experience. Like most apps I write on my own this one was initially for me. Now, if I think there are others that can use it, then I release it.

Here are some tips, which I hope you will find useful to help you in your journey.

  1. Absorb as much knowledge as you can by going to local user groups, local conferences, reading books, going to the classes and a subscription to an online training site like Pluralsight.com. I recommend going to every user group meeting near you, even if you might not be interested in the subject. Just listening to the sessions will help you know how all the pieces fit when creating apps.

  2. Find a great company and a team to work with. This will do the wonders for your continued learning, especially if you are a beginner. Make sure that the company encourages learning by sending you to conferences, pay for the classes at a local college or for online training. If you are a beginner, make sure they will have a mentor for you in your team.

  3. Learn by creating projects at home. Once you land at a job, most of your learning will be at home. Thus, pick a technology, which you want to learn and come up with a project; you can write. That is what I did as a beginner and still do to this day. No matter what level of software engineer you are, you should always be writing apps at home. One great thing about this is that you can use these Applications during job interviews. This is even more important for the beginners. I write more about this in my book “Rock Your Technical Interview”.

  4. Ask Questions. Someone once told me that there are no dumb questions, only people are too dumb to ask. This is so true. You will not learn very well, if you do not ask questions. This includes work, school and conferences. As a teacher and a speaker, I always make time to answer the questions.

Since technology changes every day, as long as you are a software engineer, you will to have to keep doing these four steps. These steps have worked for me and I am sure it will work for you too. Just make sure to keep in mind that you will learn a lot more by taking the stairs instead of the elevator.

If you have any suggestions that you would like to share, please make a comment below.