Get started a job as a developer from non-geek of computer

Ryosuke Iwanaga
5 min readJul 3, 2018
Photo by Fancycrave on Unsplash

It took about five years since I decided to be a software engineer, but finally I got a job as a developer in Vancouver, Canada. I started my career as systems administrator or operation engineer ten years ago, so it was a long journey , and now, I got started another new career at 33 years old. Does this sound crazy? I think so. Today, I’d like to tell my story related to computer and software.

When I was teenager, I had no experience of programming even I used personal computer and internet. I was not a geek of computer, just a follower or consumer. For example, I had a rental space of server on my provider’s server in 1990s but I just used there to upload CGI games which I just downloaded somewhere. Or, I just copied and pasted some of fabulous JavaScript snippets like seeking mouse cursor, to my HTML files on the space. With these tasks, I touched scripting languages definitely, but I had no interest to modify or create such kind of stuff. If I had been a pure geek of computer, then I would have got strong inspiration of computer and done some engineering. But, I didn’t, unfortunately. I only learned a few things about HTML/CSS around the ages. I also used a word-processor (not software like Microsoft Word, it was a physical hardware including display, keyboard and printer!) as a toy to print something. I think I thought computer as a toy as well, and I didn’t think about its internal architecture or how it worked at all.

When I entered a university, there was a mandatory programming class for freshman, like introduction of programming and Java. I totally forgot what I learned there, but maybe basic idea of computer and programming. It was my first experience of programming. But, still I didn’t got any strong interest in computer itself. Through freshman and sophomore, I had spent no more time for programming or computer. The only thing I tried hard to use was LaTeX, which is a document preparation system, for writing some reports containing mathematic formula. But it was just because I hate hand-writing. Still, I was not a geek.

From junior, I started my course of major, mechanics and informatics. Then, some of computer related classes happened, like computer architecture, software architecture, workshop, etc. Here, I did a lot of programming and I was gradually moving toward computer and software. For example, in one of short project, I created a toy robot arm which had two joints with servo motors and bird-view USB camera. It recognized its arm position by vision and control motors by feedback. I think I used C language and OpenCV, file based communication, which was so poor, but it worked. Now, I felt something with computer and software because I could build something from scratch especially software point of view. This was significantly huge experience for me. Later classes, I had a chance to develop my first C++ classes to run a neural network. I wrote like perceptron class from scratch, using OOP technique I had just learned. Also, I experienced LAN and Wifi for the first time in my life, with a laptop borrowed from university! I couldn’t understand why it was connected to internet by just plugging the cable in. At that time, my personal laptop required to run a software every time to configure ISP connection. I didn’t know anything about router, switch, AP, etc. Lastly, I was a huge nerd of customizing Emacs since then, but I had no interest in Lisp. Anyway, everything was impressive for me during the age.

At senior and master course, I was a bad student and did little research. So, I dropped the master course and joined my first company. My experience of programming was so poor, but I’d like to work in IT space because I was a user of many services and I knew software engineers built them. During my lazy master course, I encountered a piece of software, called “Plagger” written in Perl. This was my first experience of OSS programming and got much fever than in classroom/laboratory. I also met some of my heroes of software engineering there. Here is my almost first commit at GitHub about 10 years ago. Can you imagine its author is now working as a software engineer in Amazon?

However, it was hard to get a job as a software engineer for novice, so I started my carrier as potentially technical new-grad. Despite I had a little development experience, I decided to go to operation side first without any particular knowledge. Because I’d like to know what I didn’t know at all. Since then, I worked for ops, DBA, etc. It was super important to understand what’s going on the running system, including kernel, hardware, network and distributed system.

I spent around four years to this area, then experienced less than one year development role to launch a new service. Because I already had a dream to be a software engineer, I tried hard to learn development of software even I was ops. More details are noted in my previous post in 2013. With this experience, I could develop production software somehow. It was only one year, but I got some amount of confident for software development.

Last three years, I spent my time as a Solutions Architect of AWS, whose main task was discussing with customers. It was not development role, but there were so many opportunities to learn about software and system. And now, I got started to work for AWS as a developer, fortunately.

Amazon is one of tech giants. I still can’t believe I work here as a software engineer. My interest in computer and software had just arisen about thirteen years ago. Then, I spent most of my time to support software and system someone built, for ten years. Now, I’m going to do “You build it, you run it”. It must be excited, but yes, of course, still day one.

In this post, I shared my experience around computer and software. Even if you are non-geek and not learned much about computer and software in school, you still have a chance to be a software developer. But to do that, in my opinion, you must have very strong desire because you are behind in this area. Keeping your skills up is tough and painful. Though, if you can still feel something in your heart, I encourage you to do that. To summarize this post, I’d like to send you a quote of Jobs.

Your time is limited, so don’t waste it living someone else’s life. Don’t be trapped by dogma — which is living with the results of other people’s thinking.

https://news.stanford.edu/2005/06/14/jobs-061505/

Thanks!

--

--

Ryosuke Iwanaga

Software Engineer / ex-AWS / #FTTB / Anime / Canada -- Posts are my own, not endorsed by any org. Request 1on1 here: http://calendly.com/riywo/1on1