With the take off of software industry, software engineers have become a popular career choice. Many also consider switching career to software engineering to enjoy the big tech companies numerous perks and amazing pay packages. But before you invest huge amount of time and money into transitioning into software engineer, how do you know if it is a right fit for you? I have listed a couple of criteria to help determining that.
Are you the type of person who embraces new challenges?
With the fast paced environment in software industry, new technologies and programing languages keep coming out. On average, I learn three to five new languages or frameworks per year. Software engineers need to constantly challenge themselves to solve new issues with new and better solutions, whether it’s a new framework or new programming language. Even the same language or framework evolves rapidly and always come out with new version and new features. If you don’t keep up, you will soon be replaced by the new grads who are equipped with better and newer technologies. Thus, if you are the type of person who embraces new challenges, software engineer job will keep you excited all the time. If you prefer stable work life and always do things the same way, then this is not a right fit for you.
Are you the type of person who loves solving puzzles?
In essence, the majority of software engineer job is to solve business problems with technical solutions. It could be serving the business need for customers by building a software. Or it could be solving the website scalability issue by redesigning the architecture or switch to a new framework. The ability to think critically, logically and innovatively to problem solving is very essential. If you enjoy puzzle solving, you will enjoy the process of coming up with solutions for each software issue. But if you like to be instructed by hand holding step by step, this is probably not the right job for you.
Are you a persistent person?
Coding sometimes can be a lonely and challenging journey. When one is debugging, it can be very frustrating at times staring at the monitor. A software engineer needs to be persistent and relentless in solving technical issues. If you don’t like grinding through things and don’t like being persistent on an issue until it’s resolved, software engineer job can make your life very painful. However, if you are a persistent person, then you will be a great fit!
I’m not saying if you said no to the above three questions, you can not be a software engineer. After all, you can still train yourself to develop those characteristics. But before you start, it’s always good to sit down and honestly assess yourself if this is the path you want to go down. Sometimes capable of doing something doesn’t mean you will enjoy doing it. And it’s good to find out beforehand. If your answers are yes to all the three questions, then what are you waiting for? Come join me as software engineer!