Akira, Head of Education at Rocket Academy, is one who leads by example. Like many of the students he teaches, he didn’t have an academic background in programming before deciding to pursue it as a career switch. This might be hard to tell from his technical and teaching prowess today, but it only paints a picture of possibility.
Prior to software engineering, Akira had been on a completely different career path as a cyclist. “I was actually a really poor cyclist, so it was never going to be a long-term thing. But I enjoyed it and I think I had a good work ethic, which somewhat made up for my lack of talent,” He tells us. “When I stopped racing, I didn’t have any real job or a university degree, and I was looking to see what I would do next.”
Deciding on programming happened by chance when Akira randomly enrolled in a night class in PHP. “I already knew a bit about how to program basic stuff then. I enjoyed the class and it made me think it was something I could do. I also knew that I didn’t need a university degree to get a job.”
However, coding bootcamps had yet to exist, so Akira devoted himself to months of self-studying instead. He tried to figure out as much as he could on his own, while attending meetups and even working for free. His efforts paid off when he began interviewing and landed a first job. Since then, Akira’s built an outstanding portfolio from working at various start-ups in Silicon Valley, and being the former Lead Instructor for Software Engineering Immersive at General Assembly (Singapore and New York). He tells us more about his career so far, from lessons learnt to staying relevant in the rapid world of tech.
I had no experience teaching anyone before I started that job. I was approached by General Assembly and thought it would be a fun and interesting thing to do. I actually don’t like school that much, but I’m deeply interested in learning and figuring out how to do things. I like the aspect of programming as an intellectual challenge, so I thought it would be exciting to teach it.
I liked my old job, but I wanted to shape an entire programme and be able to implement things that I thought were important in the whole journey of the student, and that just wasn’t possible in my old role. We are building a programme that helps the student at each level as they progress into being professional programmers.
Our programme doesn’t have any explicit material on this, but philosophically, as an overarching theme, programming a computer is about knowledge at many different levels. It’s about knowing what to do and also why, and I think that’s a trait that makes a good engineer.
Another big idea that is implicit when you learn to programme a computer is that you, the user, are in charge of what the computer does. A lot of people regard their devices as something inscrutable, always doing weird things they don’t quite understand. But I think after you are used to being very specific about telling a computer what it should do, it gives you a new perspective on what a computer system is. I think this carries over into how you use any computer, not just one you program.
The best students are the ones that are extremely relaxed about the outcome. Doing an intensive course is hard work, but it’s all about the process in the end. As long as you implement deliberate practice, then you’ll be okay. These are the people who are able to shut their computers at 11pm and go to bed. I think for some reason, I’m naturally more of the type that’s still up at 3am.
The other thing is that, after watching so many students go through the job interview process, I have come to the realisation that it matters a great deal how well you present yourself. Not as in physical appearance, but your ability to speak intelligently about a subject and also say with confidence that you don’t know something. These soft skills make a real difference in someone’s hireability, even for a technical career like software programming.
Each time there is some kind of product launch, it’s memorable. Maybe not specifically the moment that it is publicly available, which is normally a bit anticlimactic, but the experience of seeing real people and users run the website.
I also get a lot of satisfaction from seeing the careers of my former students progress, like by seeing job updates on LinkedIn. One student was even featured in an official Singapore government TV advertisement. I had no idea that it was going to happen, so when I randomly stumbled on the video, I was shocked!
The idea is a combination of many things I had been thinking about, including astrology and the concept of data as physical objects. There are a lot of software skills involved because I coded the entire site myself. There are a bunch of technical aspects of the project that were interesting too, like 3D mesh generation.
There are two approaches to this topic. One is strategic, which is that every five to eight years you need to re-skill into a tangential area — or if what you work on is becoming completely obsolete, learn something different. If you’re lucky or persuasive you can get paid to do this, but it’s not always possible. You need to choose new areas that are high growth and pay well, and are somewhat future-proof. The risk of becoming obsolete may seem ridiculous to an accountant or a chef, but for programming, this is a reality of working in the field. So you just have to know about it going in.
The second approach is that if programming interests you, then you would also be curious to see where everything is headed, and naturally build in time into your schedule to see what is new and improved. Those who only stick their head out of the sand every eight years are going to find it much tougher to orient themselves to what’s going on. After all, I find the fact that you’ll be doing something different in five to ten years to be one of the advantages of this career, since you won’t be bored doing the same thing year after year. And if you have a natural upwards trajectory in your career, I feel like these transitions would be less tough than in the beginning once you have a good understanding of the fundamentals.
Don’t be intimidated by a field that can seem mysterious and technical. Learning the skills is not easy and a programming career is not for everyone, but it is definitely possible to learn with the right approach. This field is one of the most meritocratic, and if you can demonstrate some knowledge and ability, it doesn’t matter what your previous background is.