An interest in chatroom coding led Warren into a career as a software developer. Now an employee at Micro Focus, Warren's work revolves around mission critical components where he focuses on problem solving. This means no day is ever the same...
What’s your name?
Where do you work?
I work at Micro Focus, a provider of software that allows companies to develop, test, deploy, assess and modernise business-critical applications. We are headquartered in Newbury and I work specifically within the development division as part of the File Handler Team.
What's your job title?
I am a Software System Developer 2. As a graduate you begin at the Software System Developer 1 level and the next rank/promotion is Software System Developer 2.
How long have you been doing that?
I was a Software System Developer 1 for two and a half years before being promoted to Software System Developer 2 two years ago.
How did you get there?
I originally got into coding when I was around 11 or 12 in 2000. Back then, there was no Facebook and MSN Messenger was still fairly new and small. Those who were lucky enough to have mobile phones had the old limits of say 100 texts a month.
I stumbled upon a chat network called Quakenet, which used the IRC chat protocol. IRC allowed you to create your own channels (or rooms) that you would control and could allow people in and give them certain privileges. This became popular with those who were into online gaming who would create a channel for their team, or those who just wished to hang out and talk to other people from around the world with similar interests.
I was curious and ended up discovering that the client had its own scripting language that could respond to certain text or people joining and leaving the room. I started messing around with it to just welcome people into the room but as I explored more I learned I could do more complex things. It turned into a chat bot where it would keep track of how many words you typed and had a leader board. People were quite keen to get to the top and spent more and more time in there and made a little community.
I ended up turning these “words” into a form of currency where people could put them in the bot’s “bank” and earn interest (more words) on it. They could gamble with them, and even “spend” them to do silly things like kicking other people out of the chat room. The room grew in popularity and probably always had at least 70 people, and it even attracted sponsorship from online companies who would give myself and the top five a free gaming server or web hosting in return for the bot advertising them every now and then, which just increased the competition more.
I really liked the idea of being able to create something out of nothing and so continued coding throughout school and into university. I had never actually heard about Micro Focus until I went to a career fair at university and I talked to them about the company and managed to get an interview. I went to an assessment day with several other people from my course – we all enjoyed the experience and so we all joined!
What's the work like?
We tend to divide our workload to fit two week iterations and the aim is to complete all of the work that was assigned to you in that time. However, we focus on a critical component that handles the processing of data files, file servers, and file editing for the company’s applications. Because we work on mission critical components, the customer relies on the high quality of our work as we maintain the process to ensure no issues arise. If any issues do arise, our agile development process means we are able to quickly fix them so there is no customer impact.
This does lead to an interesting day-to-day experience as you’re never entirely sure what will come up and you may be working with other teams who are using your system to work out what has gone wrong.
Was it what you expected or did anything surprise you?
As I had never heard of COBOL before my interview I thought I would struggle for a while. However learning COBOL was much easier than I thought and it only took a few days to get familiar enough with it to be comfortable writing my own code. One thing I’ve learned about COBOL is that even though it is used in billions of applications worldwide, it doesn’t seem to get taught in schools or universities and there is a real shortage of COBOL programmers around the world.
I was surprised that for a company that is widely known for its affinity with COBOL, internally they use a large variety of technologies and languages. The COBOL runtime is written in C, the IDEs are written in Java and C++, the testing systems are a mix of Java and our own testing script language, all of these integrate themselves with our COBOL systems.
What's the best thing about the job?
One of the best things about working for Micro Focus is being surrounded by highly experienced developers who are approachable and happy to help you with any queries that you may have. I am constantly learning and developing and we are always finding new ways as a team to help solve a customer’s problem.
Having been here a few years, I have gained familiarity with our team’s component as well as implementing some enhancements. With Micro Focus consistently hiring more graduates each year, you’d mainly expect it to be them asking you questions but you get people who have been here for up to 25 years asking you questions too.
And the worst?
The worst part of the job is when a bug that you thought you had previously fixed comes back to haunt you!
What’s been your career highlight to date?
I would say managing a brand new product from the concept stage through to its release. Both customer support and consultants in the field felt that we needed a new application to edit the numerous formats of COBOL data files that we support.
Being my first management experience I was happy to be asked to co-lead the Micro Focus Summer Internship Scheme where, with the interns, we were tasked with creating this product. The list of requirements given to us provided a base product of which I supervised its further developed. The product was then improved upon with the help of recent graduates in a further graduate scheme.
I originally thought that the way to have a successful career would be to become a manager and take on the responsibility of supervising others. While I really enjoyed managing the project and directing the graduates, I actually missed getting into the code and doing some programming myself. Micro Focus realises this and offers multiple career paths that allows you progress your career while following your interests.
How would you describe life as a software engineer?
Life as a software engineer is consistently changing and can be very challenging. There are hundreds of different programming and scripting languages out in the world today but your team or company may only focus on a few of these.
The file handling component is solely written in COBOL and it was a bit frightening to start a role in development in a language that you’ve never seen before. However, with experience you find that the majority of these languages are structured in a similar way and it is this element of identifying differing languages and their similarities that can be very rewarding.
I find that a rewarding part of being a software engineer is being able to look at a finished project. Knowing that you both designed and created it makes you take a second look at other applications or systems, whether they are software applications, systems, mobile phone apps, or websites and you understand how they work and that you could make something similar if you dedicated some time to it.
Being a software engineer generally means that you will be problem solving most of the time. From the planning stage you need to design a suitable system to meet the current requirements while allowing for additional requirements that may come in the future. While there will always be bugs that need to be identified, with experience these should be easy to solve. The worst case scenario is when a new feature or bug occurs and part of the system needs redesigning in order to handle the new case.