I wrote this post to reflect on decisions I have made over the years leading up to, and the beginning of my career in Software Development. I’ll start out by saying I have only been in software for seven years and don’t claim to be an expert by any means. I mainly just want to talk about the journey, and possibly help some high school and college students who may not be sure what they want to do after school.
I’ll start at high school. I was neither an outstanding nor terrible student; I went to class, respected my teachers and peers, and stayed out of trouble. During this time, however, my work ethic was terrible, I rarely finished homework assignments, or only did the bare minimum. I also never really studied for tests, I figured it would be similar to the homework. Some kids are able to do this, and ace their tests; I was not one of them. Most days I would come home, blow through my homework, and start playing video games or watch TV. This was my routine until I joined the cross country and track teams.
During XC or track season, I would be at the school until about 5 pm every day for practice. Running was really good for my health, and I met most of my high school friends by joining the team. Despite the pluses, being on the team also meant less time for homework. However, I will say that I did put effort into running, and continue to run to this day. I have two main regrets from high school that still follow me, and if handled properly at the time, could have had a positive impact on my future.
The first one being not taking my French class seriously. My whole life I have had an interest in travel and other countries, but I still treated French just like any other class. Taking a foreign language was required, but I didn’t think how cool it would be to speak another language, or how it could help with career possibilities. In the end, I studied French for two years and can barely introduce myself.
Second, in my junior year, I had built a computer for my own use. At this age, I could have used it to explore curiosities, expand my imagination, get homework help, and learn about programming (at this point in my life, I had an interest in video games, and how they are made). It was mostly used for playing games, chatting with friends, and watching skate videos.
Despite the laziness and all, I was able to graduate high school with a 3.0 and was accepted to a university.
I went to university to study multimedia with an emphasis on game and interactive design.
I would spend the next 3 years with the same high school work ethic, and no true focus on what I should really be doing. I know creating cool things that people would interact with was the goal, but wasn’t sure what direction to take; 2D design, animation, programming. I ended up doing a little bit of it all, and not really excelling at anything. Which is a shame, I had so much free time that should have been spent gaining a deeper understanding of my coursework. In doing that, I may have been able to identify the best path for me to focus on for the rest of my college career. I don’t mean just lock myself in my room and study all day, but to just set aside an extra hour or two a day to see if I could improve on any assignments before turning them in, learn how to use the provided tools better, etc. Being able to choose most of my classes actually did help me put in a little more effort than before since I had more interest in the courses than high school, but it still wasn’t enough. Especially when you think of how expensive higher education can be these days.
The first real eye-opener that told me to push harder was probably my Japanese class.
During the first orientation, the school announced that they would begin offering Japanese language courses in the same term I was starting. I had an interest in Japan and language for a while but had never taken studying it seriously. Thinking it was a great opportunity, I signed up for the class. Since the school was more technology focused, the Japanese course wasn’t like other university language courses. We only met for three hours a week, so it felt more like hobby study than anything else. I didn’t treat this class any differently than the others, effort wise. I still enjoyed the classes and teachers; and also found out about a great opportunity to study abroad during the summer before my senior year. It was a short 5-week program in Hiroshima with Arizona State University. I had taken enough Japanese credits to participate and was excited to visit Japan for the first time. Now, this course was a full semester of an ASU Japanese course packed into 5 weeks, and a lot of the other students were Japanese majors. We had class from the morning till the afternoon, and tests every day. At first, I wasn’t prepared; I thought, this is what it’s like to take learning a language seriously. Studying daily, practice speaking, trying to immerse yourself. If I wanted to pass this class, I really had to bring the heat and take the course to heart. I began studying daily with the others in my class, making flash cards, and speaking with the Japanese students. I had passed the course in the end, not with the best of grades (I got a C), but with a little determination to take my last year at university seriously. But this late in my studies, would it be enough…
Within a year, graduation had come around, and I still found myself without a main focus. I had a less than mediocre portfolio, and the bizarre idea that I could actually land a good job right out of college. After a lot of unanswered emails and job inquiries, I finally landed an interview for a web design position not too far from my parent’s house. I didn’t get the job but was offered an internship. I accepted the offer and started the following week. My main tasks were to assist with the maintenance of two websites using Dreamweaver, create small graphics, and upload videos. I got along well with my teammates and the media director, and after two months I was offered a full-time position. I was glad that I had worked my way up and proved that I could do the job, however, I was starting at minimum wage; $8.25 at the time.
I had also applied for the JET program, to teach English in Japan after college. My first Japanese teacher thought I would be a good fit and encouraged me to apply. The application process is really long, I actually applied a month into the web design internship for the following year’s program. At that point, I was already studying Japanese daily; I told myself, if I were to study a language, I need to study it so I don’t forget it, as what happened with French. I also planned to leave my current job if I was accepted. In an odd turn of events, I was laid off with half of the media department a week after being accepted into the program. Since I still had a few months before departure, I continued to study, look for freelance projects, and help a friend with an iPhone app and website.
After a few short months, I was on my way to Japan for at least a year. The job itself wasn’t bad, I was able to study Japanese between classes. Also, most days ended around 4:15 pm for me, so I could go home and study programming for an hour or so and go for a run, and still have a decent amount of free time in the evening. On weekends, I would usually study for about three hours a day before hanging out and doing other things. Besides exploring Japan and learning Japanese, my main goal was to prepare myself to return to web development with a better position than I had before. For the two years I was there, my portfolio went through three redesigns, I also dabbled in photo editing, video editing, and animation. All in all, it was a great experience, and I really enjoyed it. However, after two years of teaching English, I was really itching to get back into web development. At the time, I wanted to look for web development jobs, but I wasn’t ready to leave Japan; I thought becoming a developer in Japan might be a great adventure. Towards the end of my contract, I began looking for opportunities that I may be able to transition into. There were three problems that hindered my chances;
1: I still wasn’t confident in my Japanese skills to work in a Japanese office.
2: I didn’t have much professional experience; I had a few projects under my belt, but I didn’t feel the experience gained at my last related job was enough.
3: Most of these jobs would be in Tokyo, at the time I was living In Sado City, Niigata. It would be terribly difficult to go back and forth for interviews, etc. if I got any.
I decided to return to the states but had the desire to return one day with a job in development.
Upon returning home, I hit the ground running, applying for jobs and internships in development, as well as studying and working on my portfolio for around six hours a day. A month went by, nothing, no replies to applications, no interviews. Another month went by, I had a few interviews at this point, but never got past the first stage. I was starting to get stressed out, my savings was getting smaller, and I started to feel like a freeloader at my parent’s house. During this time, I decided to stick with it and not look for unrelated work, which would only break my focus. Another month went by and I had no leads, just a bunch of web development books and a lack of confidence. I had given it my best shot and I really needed this to work out. So, one day, I had decided to not hold back and apply to as many jobs as possible that were related to what I was doing, even if it seemed a little out of my league. I’m not sure when, but sometime during that three month period, I had come across the phrase ‘ダメ元でチャレンジしたら…’ (dame moto de charenji shitara) while studying Japanese. This is along the lines of ‘You have nothing to lose, so try it’. That day when I was applying to all those jobs, this phrase kept replaying in my head, each time feeling a tad more confident. The next day, I got an interview for a position in LA, I was super excited and glad I didn’t let my lack of confidence at the time keep me from applying.
On the day of the interview, there was a crazy fire that had closed down part of the route I was to take to the interview, and I ended up being a half hour late. I had called to let them know I would be late due to traffic but was still worried it would hurt my chances. The interview itself went well, and I thought it would be a good place for me to start and gain experience; it was a small agency, and they worked on creative projects that I wanted to be involved in.
After the interview, I went to a nearby Costco for a slice of pizza. While I was eating, I got a call from the company I had just interviewed with; they offered me the position. Thank GOD! I thought as I hung up the phone. The hard work for the past few months had finally paid off. But, I was only at the beginning of learning, as I would soon find out…
David Walsh wrote an awesome article about feeling like an impostor here. This was pretty much how I felt the first six months at this job. I was overwhelmed on a daily basis in regards to what was possible on the web, and how to achieve such feats. Most nights I would go to bed afraid of what the next day might bring. Problems that I wouldn’t be able to solve, or just not being able to keep up with my teammates. Luckily, they were very helpful and sites like Stackoverflow were there to help me. There were two major things that I feel I didn’t realize while I was trying to prepare for a position like this.
While studying on my own and working on personal projects, I would be too easy on myself. Since I only had to meet my own expectations I could easily change them when things got ‘tough’. In our jobs we don’t have this luxury, we need to meet our client’s and company’s expectations. No if’s and’s or but’s. This pressure was something I didn’t really experience at past jobs, and I was not prepared for it.
In the beginning, I felt I had to know every feature of a programming language off the top of my head. Whilst studying, I didn’t know about Stackoverflow and similar sites for programming help or to reference possible solutions. I also didn’t look at the online documentation, so I would only use what I knew from books and tutorials. If something I wanted to do reached beyond that point, I would give up or change it to fit my comfort zone (point 1). In the real programming world, this is probably what hurt me the most starting out. It really limited the speed of my progress. Especially since multiple languages and/or frameworks may be used in projects, there is no way to know it all. The web is full of resources to get help from people who may have had the same problem. Maybe I didn’t know how to look, or maybe I was just too afraid to take the dive.
At work, I was encouraged to use the internet to search for solutions and read the documentation for the feature I was trying to use. The more I did this, the more my confidence grew. I was now able to find solutions faster and became a better problem solver. I could experiment with solutions, altering them until they fit my specific problem. The fear had finally started to fade away. After nearly two years, I decided to leave the company for my next endeavor. Even though I left, I believe that working there is what prepared me for this field and I am forever grateful to be given that opportunity despite that lack of experience at the time.
After leaving that job, my next one would be fairly similar, front end development. There I would continue to learn new things, and grow as a developer. However, I would not stay there very long, because Techstars was coming to LA, and I had been wanted to take part in it since I heard about it a few years prior.
Techstars is a startup accelerator, and they have programs around the world. This was the first one that they had in LA, so I was super excited to be accepted as a Hackstar. My main job was to help the companies in the program with technical tasks, namely coding. In this class, there were 10 companies and I got to work on a variety of projects and use some new technologies as well. I really wanted to use this program to become a better programmer, which I think I did; and learn more about startups. I don’t plan on starting my own company or anything, but I would like to continue working with startups. I also thought it might be a good way to take a step back, and think about my career goals. During the program, I got fairly close with a few of the companies that I was working with the most. One of the companies was actually from Japan, which was cool because I could practice Japanese, and get a sense of what a Japanese startup might be like. The program was only 3 months so I also applied to companies outside of the program, because there was no guaranty that a company in the program would offer me a position once it was over.
At the end of the program, I was lucky enough to have a few offers from companies in the program, and some that I had applied to separately. I decided to join the Japanese company from the program for a few reasons:
I enjoyed working with them, and the work is somewhat game related.
I would get to work with a lot of new technologies: iOS, Android, and Unity.
This would be a great opportunity to work in a Japanese company.
It has been a little over a year since I started there, and I have been enjoying it for the most part. The beginning was a little tough; while working with them during the program, it was all front end development and Nodejs. Now I was thrown in the deep end with iOS and Android. It felt a little like my first job, but I felt I had better control, and I didn’t feel afraid like I did in the past. I knew where to look when I ran into issues, and my teammates are always helpful. I do sometimes miss web development, so I try to find time to tinker with personal projects so I do not lose those skills as I’m sure they will come in handy.
This journey itself has been a few years, but it feels like it has just happened, time really went by fast. I also realize that nothing is guaranteed, despite the effort, I could have failed, and it would suck. But not trying would pretty much guarantee failure. I am not saying that I achieved anything spectacular, but I was not on the road to any form of success in university, and it took a few experiences to bring me to reality.
I haven’t really added any goals to my list, but I just hope to keep studying and learning new things every day. It got me this far, and I hope I can get even further. I think I might be determined enough to give French another shot. I also like making videos and hope to get better at that.
I know I didn’t get super detailed about each position or every study habit; but my point is, we all have different aspirations, and most of us will have to work for a chance to achieve them. It will be hard and sometimes feel like it takes forever; but, one of the hardest parts is just making the commitment and starting.