I learned a lot from the mistakes I made in my career as a Java software developer. Here are my top five mistakes.
- Mistake #1: Naively believing that I could easily find a job with my M. Eng. degree led to being unemployed for about 16 months. I under estimated the power of hands-on experience and much needed job hunting skills. I wish I had 1) taken on unpaid internships or volunteer work and 2) published self-taught projects to GitHub & shared my GitHub account link on my CV. In many situations the cliche is Experience, more Experience, much more hands-on Experience. You learn from your own experience, and also more importantly from the others’ experience via your mentors, books, blogs, videos, podcasts, etc. The more time you proactively spend on learning, the more “Aha” moments you will have to open more doors and go places.
- Mistake #2: When I was interviewed for my first IT job, I was asked as to how I would go about dealing with a person who is difficult to work with. Only after taking up the job, I realized that I had to work with such a person, and my lack of soft skills and immaturity resulted in leaving the job just after 5 months. I learned the lesson that just being a techie is not enough to open more doors. You need to have the much needed soft skills, the right attitude, and the mental strength to put up with the politics & the cultural differences.
- I think of it as this — If I am paid $50k as a Java developer, then $25k is for my technical skills, and the remaining $25K is to get things done in a team environment. In other words for being a team player, having good interpersonal skills, and the right attitude.
- Mistake #3: Squandered great job opportunities due to lack of good resume writing and interviewing skills. I also let others around me decide what is best for me in terms of my career path. For example, letting the recruitment agents decide what is best for me, how much I should get paid, and what frameworks and technologies I should learn, etc.
- An interview is a two way street. As a prospective employer is assessing your suitability, you are assessing the suitability of the position to see if it is inline with your career goals. So, failing to ask the right questions can land you in a dilemma as to accept an offer or not. How to choose from multiple Java job offers – analytical approach
- Mistake #4: Fear of change, false understanding of job security, and fear of job interviews made me get into a comfort zone. Didn’t realize that the real job security stems from having the relevant and up to date skills until the software house I was working for closed down. Nowadays, I make it a point to learn at least 1 new thing a month. With so many quality resources around you, why have excuses to learn.
- Mistake #5: As everyone does, from time to time stagnated at my job without enough work or challenging tasks. Didn’t realize that what other avenues I could have explored as a software engineer to open more doors in and outside work. Most good software engineers are self-taught and there are plenty of things to learn and myriad of free and paid resources to learn from. There are a number of paths to take, and some paths are less traveled than the others. The big picture diagram in How to open more doors as a Java developer will give you a bigger picture as to what you can do as a software engineer.
Do something out of the norm to succeed in your career
1) When everyone is preparing for certification, then doing the certification is not the norm. Seeking unpaid open source or voluntary work opportunities is out of the norm. Assess what you lack … experience??? job hunting skills?? resume writing skills?? interviewing skills??, confidence??? etc and devise a 6 – 18 month goal (i.e. anything longer than 18 months is a procrastination, and not a goal setting) to acquire the life changing skills/experience/attitude/perseverance etc to go places.
3) When every other developer is focusing on permanent jobs, why not go contracting? These days there is no such thing as real job security. Learn more about Freelancing/Contracting & job security. You are the captain of your own career path and why not go places without feeling stagnated.
Passionately commit yourself to what you love doing, and see where it takes you. Do things differently for better results. You need to regularly review your approaches and tactics and try to experience more “Aha” moments. Increase your earning potential by expanding your horizons as a Java developer.