There Isn’t A Shortcut To Success

Developers often approach me with questions on how to achieve quick success as a software engineer, attract more customers, or create the next groundbreaking app. However, it’s important to understand that there are no shortcuts to success in the software industry. True success requires a significant amount of hard work and patience. Drawing upon my extensive experience of over 20 years in this field, I would like to share some valuable anecdotes and tips that may prove helpful.

I can completely relate to their sentiments. Many software engineers invest years in learning their craft, which often involves pursuing a college education and incurring significant student debt. Once their training is complete, they aspire to make a substantial impact, earn a lucrative income, and provide for their families. I’ve personally experienced this journey myself. In fact, my primary motivation to become a software engineer was to support my family. Otherwise, I might have directed my efforts towards pursuing a career as a guitarist in a rock band or a photographer for bands!

Certainly, while there are individuals who achieve fame and fortune through sheer luck, it’s important to acknowledge the countless teams of developers who work tirelessly for extended periods without making significant waves in the software industry or gaining notable recognition. In my own journey, early success was a product of immense dedication and a touch of good fortune. The dedicated aspect involved simultaneously working two non-software-related jobs while attending evening school. I devoted every available minute to learning the craft of software engineering. The stroke of luck came in two forms.

Firstly, I secured one of my initial programming positions at a company that had one of the best teams of developers I have ever had the privilege of working with. I gleaned invaluable knowledge from their expertise, and since it was a startup environment, I acquired the ability to assume various roles, which has proven immensely beneficial to my skill set. Even today, I continue to utilize and apply the skills that I acquired during that period.

Another stroke of luck came when I independently developed my second program, which ended up being reviewed by PC Magazine. The review was positive, and as a result, orders for the app skyrocketed from around 10 per month to 10 per day for a period of time. The workload became so intense that I had to enlist the help of my family. Even my young children, who were toddlers at the time, assisted me by copying floppy disks. My wife took charge of sending out flyers to those interested in learning more about my app. I personally affixed labels to the floppy disks and mailed them off to customers. While the app did generate some profit, the significance of this story lies in the lessons I learned throughout the entire software release process as a beginner. From conceptualizing and designing the idea to coding, launching, marketing, and even managing customer interactions, I gained invaluable experience. Today, I continue to draw upon that experience. Most of the apps I develop independently are initially created for my own use, and if I believe others can benefit from them, I release them to the public.

Allow me to share some valuable tips that I hope you will find beneficial on your path to success.

  1. ABSORB as much knowledge as you can by going to local user groups, and local conferences, reading books, attending classes, and subscribing to online training platforms like Pluralsight.com. I highly recommend attending every user group meeting in your vicinity, even if the subject matter may not directly align with your current interests. Simply listening to the sessions will provide valuable insights into understanding how all the pieces come together when developing applications.
  2. FIND a great company and team to work with. This is crucial for your ongoing learning, particularly if you’re a beginner. Ensure that the company fosters a culture of learning by supporting your attendance at conferences, and covering the costs of local college classes or online training. If you’re new to the field, verify that they provide a mentorship program within your team to guide you along the way.
  3. LEARN by undertaking home-based projects. After securing a job, a significant portion of your learning will occur outside of work. Therefore, select a technology you wish to explore and conceive a project that allows you to apply and enhance your skills. This is precisely what I did when I started out, and it remains a practice I continue to this day. Regardless of your level as a software engineer, it is crucial to consistently engage in personal app development. An added benefit is that you can showcase these applications during job interviews, making it especially valuable for beginners. I delve further into this topic in my book, “Rock Your Career: Surviving the Technical Interview.”
  4. ASK questions! I once received a valuable piece of advice: “There are no dumb questions, only people too reluctant to ask them.” This statement holds true in the realm of learning. If you refrain from asking questions, your understanding will be hindered. Don’t hesitate to inquire at work, in school, and during conferences. As an educator and a speaker, I always allocate time to address questions and provide clarifications.

Given the ever-evolving nature of technology, as a software engineer, it is imperative to continuously engage in these four steps. I can personally attest to the effectiveness of these strategies, and I am confident they will prove beneficial for you as well. However, it is essential to remember that the most valuable learning experiences come from taking the stairs rather than the elevator.

As the popular rock band, AC/DC sang back in the ’70s…

It’s A Long Way To The Top, If You Want To Rock and Roll!

AC/DC: It’s A Long Way To The Top

If you have any additional suggestions or insights you would like to share, please feel free to leave a comment below.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.