my career #2 | virtual book

my career #2

#journal #career #work #software Mentioned in what I'm doing now

My path into software engineering,


my career

#journal #career #work #software Mentioned in my career #2, what I'm doing now

My path into software engineering.

Choosing a major – summer 2014

After graduating high school, I started at UVic as a Computer Science and Music combined major. I didn’t know anything about Computer Science, and it sounded eye-dryingly boring. My plan was to learn to record music so I could start posting more than beats on SoundCloud.

Year 1: Learning to program – 2014-2015

Fundamentals of Programming 1 seemed like it was going to be very tedious. I had to install something called Java on my laptop. For some reason, I couldn’t just use my iPad.

For our first assignment, we had to print out an ASCII picture of a cow.

/ Mooooooo            \
\ Welcome to CSC 110! /
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

Not particularly inspiring. But somewhere between the second and third assignment, it started getting interesting. Two of my favorite subjects in high school had been English and Math, and programming was like writing and doing algebra at the same time. Plus, you could make the computer do stuff. It got even more intriguing when I started learning about algorithms and data structures in Fundamentals of Programming 2.

By the end of the year, I was hooked. I switched from the combined major into Computer Science.

Year 2: Getting my foot in the door – 2015-2016

Looking ahead to my second year, I had one goal: get a co-op job. If I got a co-op, not only could I write code for good wage, but finally stop working in retail and food service.

The most obvious place to start was web development. So I spent time in the evenings learning the basics of HTML and CSS on CodeAcademy, reading Eloquent Javascript, and attending meetings of the UVic Web Dev club.

There was a good chance I’d be able to find a co-op without leaving the city for the summer. Despite its size, Victoria, BC has a strong tech industry. My first encounter with the local startup scene had been in high school, when I found out a fellow twelfth grader was working for Metalab, a local company. At the time, I didn’t have the slightest idea of what programming was, nor did it interest me. A couple years later, however, I was very interested.

It turned out that one of the students who started the UVic Web Dev club was the brother-in-law of Metalab’s founder, Andrew Wilkinson. Andrew posted on the web dev club’s Facebook page about a free tech event happening in the city:

Hey guys. We’re hosting the folks from Webflow ( who are coming up to demo their product. Event is on Thursday afternoon. Details here if you want to join. Should be awesome.

If Metalab hired high school students, surely they’d hire university co-ops. I tried registering for the event, but it didn’t work. So I emailed Andrew and he got VIATEC to open the event registration because “a bunch of kids from UVIC” wanted to join. At the end of the event, I introduced myself to Andrew and told him I was looking for co-ops in the summer. He was very nice and told me he would put me in contact with People Ops.

I went home and sent a follow-up email:

Hi Andrew,

I wanted to say thanks again for today, I really enjoyed the demo and simply being in a room full of professionals who love building good-looking products; now looking forward to MetaLab’s React workshop in January!

Additionally, I would be happy to further speak about possible co-op opportunities, whether it is with you or Elexa or Tim (I think those are the name you mentioned).

Looking forward to speaking again,

Juan Carlos Gallegos

He referred me to People Ops as promised. It was all going according to plan.

But then I got this email from them:

Hey Juan Carlos,

Nice to meet you! Do you have any code samples or a Github account you could send our way to check out?



I’d been warned about this. Companies wanted to see “personal projects.” Proof that you could write code. I didn’t have much proof.

I do have a GitHub account: Currently its content is limited, but I will be uploading more work in the next month or so, particularly when I am done with this semester’s final exams.

Attached is my resume, in which I give a brief overview of my current skills and others I am working on developing (e.g. JavaScript, HTML & CSS, Git). Please let me know if you have any questions; I’ll make sure to send you an email after I’ve uploaded more code samples in the near future.

Currently its content is limited. Bless my heart.

It was still too daunting to start my own programming project. Where to begin? I posed this question to a peer of mine who I’d seen showing off his iOS app at the job fair. He said nothing and showed me his laptop, on which he typed “how to build an app” into Google search.

I asked a similar question at a meeting of the UVic Game Development club and the guy leading the meeting explained that you should start with sketches of what the game would look like and go from there. I was too embarrassed to clarify what my question actually meant.

So I directed my energies into my resume. Since I had no personal projects to include, I wrote a section describing my traits:

Personal Attributes

Problem-solver at heart

  • With the support of my creativity, interpersonal skills & technical abilities, I engage with challenges proactively; I value neatness, reusability, and rigour in my solutions.


  • I am driven by my aspiration to develop practical solutions that elevate the user’s performance.


  • The essence of my professional experience is in collaborating with coworkers in a dynamic environment to provide high quality, personalized customer service.

Multi-cultural background

  • Born and raised in Mexico City, I have since lived in NY, USA (’07 – ‘10) & BC, Canada (’10 – present): native proficiency in English & Spanish, conversational French.

Doing my best to make my work experience relevant:

The essence of my work experience is in collaborating with coworkers in a dynamic environment.

Probably referring to my time working in the drive-through at Tim Hortons. Dynamic indeed.

Despite my lack of relevant work experience – or because of it – I filled one and a half pages, doing what I could to sell myself. At the end of my resume, I had a section about my hobbies:

Personal Interests


  • Playing a team-based sport competitively for the last 15+ years has stimulated my development as a disciplined team member with strong communication skills.
  • Currently playing for JDF U21 Graduate team.


  • An avid listener, I also like to play guitar, sing, & make beats during my free time. (Please feel free to check out some of my music! see:
  • I am formally trained in theory and musicianship; in fact, during my first year at UVic, I was in the Computer Science & Music Combined Major program, before I decided to focus on Computer Science.





Year 2: Getting my foot in the door – 2015-2016 (cont’d)

The deal we had with the Computer Science & Engineering Co-op Office was that they collected co-op/intern job openings and, if you landed one, you paid them a few hundred dollars per four-month term. Not cheap. And for each term you had to write a paper about something you’d learned. Homework outside of school. These were the requirements if you wanted the co-op to count towards graduating “with Co-op”.

Co-op was required for students in Software Engineering, but not for those of us in Computer Science. They also had to take a load of courses – physics, natural science, electrical engineering – that we didn’t. We had electives and throughout my major I took a variety: History of Jazz, Hip Hop Writing, Philosophy of Knowledge, Healthy Sexuality, Elementary Number Theory, Intro to Abstract Algebra. And I got to pick the specific Computer Science and Softare Engineering courses that interested me. The downside is that, in Canada, Computer Science majors are not technically Engineers. Thankfully, I don’t think that bureaucratic detail will make a difference. The demand for programmers is too high.

So, with my 2-page resume, I submitted about twenty-five job applications through the Co-op portal. And, on February 2nd of 2016, I got my first interview with a tech company., a company from California with an office in Victoria. The interview was in the Engineering and Computer Science building on campus. I came in a blue blazer that I got on an ample employee discount from Tommy Hilfiger, where I was still working part-time. Two friendly dads interviewed me, thirty minutes each. The first one asked me to rate my JavaScript skills from one to ten. I said it was hard to put it in a number. I didn’t want to reveal that my only experience with JavaScript had been learning it outside of school, on CodeAcademy and such. He pushed gently for a number. Like.. three? he offered. Developing, I said.

The second friendly dad asked me about my SoundCloud. He made music too. The second page of my resume was paying off! I talked enthusiastically about making beats and playing guitar. Walking out of the interview, I felt good. I might actually get it. A couple days later I sent a follow-up email and a week after that, I got a reply:

Hi Juan Carlos!

Thanks for the note.

Regarding the summer co-op position, I wanted to let you know that we had a lot of great candidates apply for that, and we’ve filled all the slots we had available for this summer. However, I also want to stress that [we both] really enjoyed meeting you, and we think you’d probably be a great fit for the team here. So please stay in touch, and do apply again with us for your next work term.

Looking back, I appreciate how nice and encouraging this message was. But, at the time, I was gutted. It was already mid-February and I wasn’t sure I’d get any more interviews.

A week later, I went to the Victoria Conference Centre for Discover Tectoria, a “showcase of the Greater Victoria Tech Sector.” Our UVic Web Dev club had a booth there, so I came by to say hi, but also ended up chatting with some people from local companies, including Flytographer, a site for travelers to hire local photographers. After the weekend, I sent a follow-up email to the engineer I had chatted with, the only one in the tiny company, and set up an interview for March 2nd. A day before that interview, I got an email inviting me to another, with the CHISEL group, a Computer Human Interaction & Software Engineering Research Lab at UVic that I had applied to a month prior. When it rains it pours.

So, at 1pm on March 2nd, I interviewed with Flytographer in downtown Victoria at an office space they shared with other local startups. I showed up in my blue blazer and answered some basic programming questions and, oddly, questions about vim commands. I suspect the engineer did not have much experience interviewing programmers. Then, the founder interviewed me. She was very friendly and encouraging. Calm, sunny disposition. She said the engineer was a genius, had finished high school at fifteen years old. I met the other two employees afterwards and they were very friendly as well.

An hour or so later, I was back at the Engineering & Computer Science building on UVic campus for my interview with the research lab. I met with the professor who ran the lab and then a couple of the senior researchers quizzed me with a basic programming exercise: reversing a word. They looked pleased when I said strings were immutable. I left feeling like I had it in the bag. But I was more excited about Flytographer. I wanted to work for a tech company.

Sure enough, the next day I got an offer to be a Co-op Research Programmer at the research lab:

Hello Juan:

Thanks for meeting with us yesterday. We’d like to offer you a co-op position with our group. I’ve attached our official offer letter.

Please let me know if you have any questions or concerns.

I had done it. I’d gotten a co-op offer. I would earn $2.5K CDN per month, which worked out to $17-$18 per hour. It was a big jump from my $10.50 at Tommy Hilfiger and, more importantly, an opportunity to get relevant work experience. But I wasn’t ready to say yes. I wanted to hear back from Flytographer.

I consulted a professor who I was friendly with and would later TA for. Take the research lab, he said. But that wasn’t the answer I wanted to hear. I went around the corner to ask the same question to someone at the co-op office. I chatted with a Placement Coordinator and she offered to reach out to Flytographer on my behalf. Then, she looked me up on her system and said Oh, you got an interview with AbeBooks. I hadn’t seen the email yet. I couldn’t believe it. I had applied several weeks before but felt like I was reaching. AbeBooks was owned by Amazon and their posted salary was $3.5K CDN per month, $1K more than what the research lab was offering and more than most of the others I’d seen on the Co-op portal. I’d assumed AbeBooks had filled their co-op positions because the job postings had disappeared. Sometimes they re-open it, the Placement Coordinator explained, if they don’t find the right person. They don’t just take the ones who interviewed the best.

My confidence was the highest it had been throughout the process. Too high, maybe.

Later that day, the Placement Coordinator forwarded a message from Flytographer:

We really liked him. He’s the front runner for sure. I would like to see a couple of candidates though, hopefully Juan Carlos can wait to decide until next week?

Not promising. And yet – to my current indignation – I took the gamble. I emailed CHISEL:

Thank you so much for offering me the co-op position with CHISEL. After careful deliberation and with the approaching application deadline for the NSERC research grant in mind, I regret that I must decline. I am sure that working [at CHISEL] would be greatly rewarding, but I believe that another opportunity aligns more closely with the goals I have determined for my summer work term.

(to be continued / work-in-progress)