As part of #NewJobJune here at Redgate Product Development we caught up with Chen Chen. He’s one of our software engineers in our early stage R&D teams (The Foundry). He told us about his own journey into software development.
Technology plays an important part of every day life of everyone, regardless of your age, profession. The very fact that you’re reading this line means you’re involved in some kind of technology right now. If you are thinking of starting a career in the software engineering industry, please read on. I will describe to you my past humble 6 years of experience in this industry, hoping you would find some of the things useful.
I might start off with giving you some perspectives on why I’m in the software industry at all. I’m not old enough to comment on what was going on back in the 80’s, but as far as I can remember, technology has become more and more important as I grew. Now it is becoming essential in everyday life. So to cut things short, not only are the career opportunities vast, but also the growing importance of technology creates huge learning opportunities. So if you like learning, being in this industry would allow you to learn on the job throughout your career.
My background in 2 paragraphs
I started off with reading a computer science degree in university. To be honest, it wasn’t the most enjoyable course. Most of the modules were too theoretical. I ended up graduating with the feeling that I still don’t know the first thing about working as a software engineer. So I looked for alternative career prospects.
But no, referring back to why you should be in the software industry at all, I decided that I still wanted to become a software engineer, at least to begin with. So I accepted the job offer to the first company that gave me one. Thinking back now, this might have been a slight mistake. Not that anything was wrong with the company, but the attitude I had at the time. I should have looked around more to understand the different natures of businesses.
Yes, every software company is different. It’s not like NHS hospitals for example where things are run in a very generic order.
This is because software engineering is about solving real life problems by creating software solutions. Different problems are met by different solutions. With different solutions, arrive different business natures.
So my top tips to you would be as follows:
Understanding what you want to do in software engineering is the first thing you should be asking yourself. Do you have particular interest in a particular area of technology? Do you like to make responsive user interfaces? Do you like to understand what happens behind the UI and work on that? Do you want to deal with data? Do you want to work in a cross platform environment? Or maybe you don’t care about any of these questions, you just want to be working in a particular problem space. For example, eCommerce, insurance.
After you have made a decision on that, I would also recommend that you ask the right questions during your interview to find out the company culture. It goes a long way for both the employer to hire the right person and you to be in an environment where you share the same values as the rest of your team. Do you always want to find out the ‘why’ to the ‘what’? Does it feel rewarding to work under tight deadlines? Do you care about what happens to the code your write after release?
Don’t be afraid to resign. Not that I advocate you to change job frequently just because of the amount of opportunities there are out there. But really, if it’s not working out with your employer, you might lose motivation, you might find problem-solving a chore. It’s not good for either you, or your employer. It is also difficult to find the right place as your first job just because of the variety there is.
Last tip — understand the difference between being an engineer and being a programmer. Being an engineer is fundamentally about solving real world problems artfully. And nowadays it pretty much means you need to collaborate with other engineers and non-engineers. You are not just writing code on your own all day!