Switching roles at Microsoft

As promised, I am writing a blog post about switching jobs. I am actually changing roles  and cities: from a (support) escalation engineer in Charlotte to a software development engineer in Redmond.

Let’s start with the why. The decision to move to Seattle has always been in my plans. Somewhere between fear of the intellectual challenge and the hesitation to leave a comfortable position, I stayed in Charlotte for twice as long as I intended to. The city of Charlotte is a great place with its space, cleanliness, and low cost of living. I love my friends and the ultimate community. I was in a good job with great compensation. These factors combined made it hard to leave. A few months ago, I married my wife Fan and the support org started restructuring so I felt it was the perfect time to move. I committed heavily towards switching roles.

How did I go about the switch? I had actually looked internally and externally for the past year – applying to jobs here and there – but my intent wasn’t fully serious. A few months ago, I actually set a goal: I would change to a Seattle-based Microsoft role by summertime. I came to this goal after some introspection that I enjoyed working for Microsoft and I believed in the company. I started telling people my goal so that they could help me by referring me to job openings and professional resources, and by shaming me into taking my goal seriously (I’m big on people keeping their word).

The plan to switch was formulated after I did some research on the internet. Blind, the anonymous forum app, was especially useful. How did others study for and pass a coding interview? What engineering roles was I interested in? What does the compensation look like? The general answers are: study data structures and algorithms for 3-6 months, do mock interviews, and expect $110-140k base depending on your (Microsoft) level.

I then applied to something like 80 internal Redmond-based roles. I targeted software engineering, program management, and service engineering. From those 80, I got ~10 informationals and phone/technical screens. From those 10, I got ~4 official interview loops. When I got an offer from the team I liked, I accepted.

Here’s what I learned during this whole journey:

  • Study not just hard, but efficiently. Each time you interview, you understand your strengths and weaknesses so you can calibrate your studying plan. I failed my first SDE interview because I did not study enough data structures & algorithms; I bought a copy of Cracking the Coding Interview (great book, by the way). During a second interview, I learned that I can talk easily through behavioral questions; I doubled down on studying compsci as that is clearly my weakness.
  • Be honest in everything you do or say. Let’s flip it the other way around: would you want a company to lie to you about what you will be doing? Why would you lie to the company about what you want to do or what you’re capable of doing? Being honest in your interactions will lead to less stress, increased interviewing performance, and better fit with a team.
  • Rejection is a part of the interviewing process. Don’t let the rejections determine your value as an individual. You simply did not fit with the team, or you were not ready for that role. Don’t stress out. Grit your teeth and grind forward.
  • Patience is a virtue. When you’re applying for roles, the task becomes not just your job but almost your existence. You want the company to run on your clock and get you an answer ASAP – so you check your email hourly – but they are continuing on their rhythm of business. Try to relax and keep yourself busy while you wait for interview results.
  • Stay relevant in today’s global workforce. I realized a lot of my coding skills had atrophied even though I looked at code on a daily basis. It’s because my work consisted mostly of troubleshooting and debugging code rather than writing code and designing software systems. An analogy might be that my biceps were really strong but my triceps were not. From now on, I’m going to stay constantly enrolled in at least one educational course (probably online) so that my marketable skills do not fade with the passing seasons.

I hope this post sheds on light on the interview process, and how to approach switching roles. If you’re on the same journey, good luck!

Excited for Spring/Summer

winter is nearly over. that means better weather, better conditions for playing ultimate. the first tournament of the spring is this coming weekend. i have really high hopes for BU this year – we will definitely make regionals. getting edged out by BC last year was one of the most disappointing losses ever. we’ll be sure to punish them this year for it, haha.

life is going well. i got a job lined up for this summer at Verndale again. it seems like ever since i started web development, i’ve slowly fallen deeper into the rabbit hole. not too long ago, i was messing around with an HTML page with a CSS stylesheet attached. now, i’m working on web applications to be used by hundreds of strangers all over the world. it’s stressful trying to learn new technologies in order to achieve your goals, but there’s a sweet satisfaction each time you reach a milestone.

so much is going on in my life that i feel like i should be able to write pages about it, but my mind is surprisingly blank. oh well, time to go play Starcraft 2. i deserve it after the 6+ hours i input in my CS460 project, right?

My Early New Year’s Resolutions

i had been veering off the path recently and i needed to re-evaluate my priorities in life so as to not fail. i started a new job as a programmer at 829 LLC. i’m in it more for the experience than the money because my finances are pretty stable, but my big wage was a great incentive to get me on board. however, now my schedule is even more packed. i’m looking at an additional 10 hours of work a week on top of my 10 hours of work-study, but maybe i can still manage. without further ado, my goals:

  • captain of BU men’s ultimate frisbee team next year – this goal is very achievable. i’ve been working hard at ultimate ever since i came to BU. i started off as an unathletic and inexperienced player, having no prior sports experience other than martial arts. i would like to think that i’ve progressed since i play more than 2 points a game nowadays.
  • manager at CFA ITO (work-study job) – this goal is also very achievable. i’ve worked here ever since i’ve gotten to BU. the job has been a good learning experience because i’ve constantly been challenged. it was the first job that forced me to work 100% at all times, which has shaped my work ethic into something reasonable. i feel attached because i just know the organization and the people so well (relative to previous/other jobs). the pay could be better, but in this economy, i’ll take it.
  • continue web development next summer – sooner or later, i will have to choose between verndale or 829 LLC as my summer job. we’ll have to see how this run with 829 LLC goes, but i’m sure i’ll be happy with my choice either way because i’ll be getting paid well to do rewarding and exciting work.
  • be a decent pool player by end of academic year – i’ve been hitting BU central’s pool hall pretty hard for the past month. everyone pretty much knows me as a regular there. i purchased my own cue stick (mcdermott m72e for $135 off ebay) and i think i need to step it up to the next level. i’m going to start reading and watching learning materials, as well as practicing instead of just playing pool. by the end of the school year, hopefully i’ll be able to run a table from the break most of the time.
  • don’t fail school – a seemingly silly goal, but i find myself not paying attention to my academics as much as i should be. i mean, i pay quite a bit of money to attend college and i shouldn’t slut around so much, but i have poor self-control and this results in poor grades. i’ve pretty much decided what i want to do when i graduate: desktop and/or web programming. it’ll be more along the lines of practical application rather than technical/theoretical because frankly, i’m not that great at math and by extension, computer science. this means i just need to focus on the classes that matter and skim by in the classes that don’t relate so much. a bad strategy for my GPA for sure, but i’m just a realist (or maybe that’s just my excuse for sucking in classes).
  • learn some tricks in snowboarding – maybe too early, but with this upcoming season, i want to improve my skills on the slopes. last year, i could do some big boxes and rails and small jumps, but i want to double that this year. i want to be doing bigger jumps, smaller boxes and rails, and maybe even a 360. maybe it’s my competitiveness, but i just think that part of the enjoyment of an activity is the challenge it provides. that’s why i just love trying new things and seeing if i can improve at it really quickly.

anyways, have to wake up early tomorrow (or today, rather) and listen to a semi-boring lecture on probability and computing (CS237). it’s my worst class currently and i was going to drop it, but i decided to just stick it out and try to barely pass. hooray for mediocrity!

Summer is ending.

my internship here at Verndale is ending. it’s been quite a ride – i felt like i’ve learned a lot about web development in the past 2.5 months. my performance was overall positive, which is good. i got to work on 2 major projects, which was great. i felt trusted and challenged. i’d definitely come back next summer, but i’ll be seeking a wage increase for sure, haha.

school is starting up again. i decided that this year, i would stop being lazy in all aspects of life. i’m going to try harder at school, at ultimate frisbee, and anything i tackled. my personality’s always been competitive and determined, but i still slipped up sometimes, especially with regards with academics. this summer’s internship reinvigorated my desire to study computer science, my drive to become a better programmer, my greed for more knowledge. on my plate for the fall semester are 3 compsci classes (programming languages, intro to algorithms, probability in computing) and 1 BS class (music appreciation). definitely excited.

i can’t wait to move into my single at StuVi 2 too. i’m living with 7 other peeps. our suite’s living room is going to be pimped out – i’m providing the TV and sound system most likely. hopefully i won’t get too distracted.

i’m going to go watch District 9 today. there’s rave reviews and ratings about it – and it’s a scifi flick – so why not? speaking of which, i’ve been watching a lot of TV and movies recently. i don’t feel compelled to play any video games any more. i’m sure it’ll change up sooner or later. i just have these cycles where i happen to like one thing for a while… but eventually it changes. it’s just odd launching up a game and not feeling any desire to play.

Halfway through Summer

so we’re halfway through summer. it’s gone by quickly for me due to a serious job, where i actually have to do work, haha. speaking of which, i’ve been working with the same client for over a month now. just when i thought i was going to close out my project, i had to pick up someone else’s slack. frustrating and a little disappointing, but it’s work to do and experience to be gained. “no pain, no gain” is very true… when i built my first computer, it died every couple of months. in exchange for my pain, i learned a lot about computers. working on this mess of a website, i’ve learned a lot about web development. my resume should be top-notch by the time i graduate college, haha.

i recently started re-watching Neon Genesis Evangelion [with my friend Mathias]. it’s a pretty good anime, although disturbing. the general consensus is that the anime starts out with a plot, but becomes more and more abstract nearer to the end. you have giant robots fighting giant creatures in the beginning… by the end of the anime, you got people fighting with their own consciences. i remember watching it when i was younger – definitely puts some interesting perspectives and ideas into your brain. one such idea is that our identity is split amongst everyone we know. we have a view of ourselves, our ego – and others have their view of us – what we look like to them, how we act like to them, etc. i always thought it was interesting.

Neon Genesis Evangelion

i’m looking forward to this weekend – going on a biking trip with some buddies on saturday. the weather looks nice so it should be a fun and relaxing ride. next weekend is finally the camping trip. it is one of the biggest events of my summer… a fun retreat with friends. this year it’s going to be at Willard Brook State Forest. last year was Harold Parker, i think. next year, probably Myles Standish.

oh right, i got my blackberry tour. of course, you can reach much more indepth reviews online, but overall, the phone is pretty good. it’s my first blackberry so i don’t have anything to compare it to. the qwerty keyboard works well – i type with maybe 1 or 2 mistakes per text message. the phone’s construction feels solid minus the loose battery cover. the screen is sharp and the OS is alright. they really need to overhaul their included Java-based browser though =/ it’s only good for viewing mobile-designed sites. being connected to the internet (i like to call it the cloud) all the time satisfies my addiction pretty well.

if you’re read through this entire post, it must mean you’re pretty bored or you like reading my shitty writing. speaking of which, my verbal skills (mainly pronounciation) have gone down since i started my internship. i have trouble saying words over 4 syllables for some reason… it’s quite pathetic. it must be all the programming. left side of brain versus right side or whatever. oh well, goodbye.

Life So Far

there’s nothing to write about except how well my life is going. i’m about to finish my 4th week at my internship – i’m learning so much – and my project is more than half-way done. this weekend is going to be filled with shenanigans. there’s still a lot of summer left – so much to look forward to… camping, montreal, end-of-season tournament, six flags, and some more.

my long-awaited blackberry tour is going to be released in ~2.5 weeks so i can finally upgrade to a smartphone (with internet). i checked out the palm pre today at a sprint store and it looks really nice. the interface is slick for sure – definitely a true iPhone competitor. i think i will upgrade to the blackberry with only a 1-year contract so i can upgrade again next summer =O maybe to the palm pre or an HTC touch pro 2…

Blackberry Tour

i don’t have much content on the site now right. when i feel less lazy, i’ll add to my portfolios.

Frustrating Day

so i’m getting farther in my project. i developed some code and now it’s integration and customization into the customer’s website. the only problem is that the existing site code is so poorly coded and maintained. there are barely any comments, long variable names, seemingly random hardcodes and logic blocks, etc. it is a giant mess… needless to say, this project turned from fun learning into determined frustration. the web site needs a redesign ASAP.

Real Work

it’s my second week at Verndale. work is challenging and i’m constantly busy. it’s a change from my old company, but a welcome one. i’m learning a lot on the job. i got assigned my first project and it looks like a big one at over 100+ manhours speculated. i’ll be the engineer, doing most of the coding and QA.

i’m worried about how i’m performing though. you’re supposed to report at least 8 hours of work a day and it’s hard for me to do so (complicated/extensive time management system). a job estimated at 1 hour takes me 2 hours because i’m still learning. i hope i’m not failing any expectations.

New Website Launched

I just installed WordPress. I can see why many people use it – it is a very slick weblog application…

I started work at Verndale recently. It’s an interesting place – a small corporation. There’s much to learn and I’m pretty excited about my short career there.

My summer ultimate frisbee team is coming along. We have our second game this Thursday. First game was a win – let’s see if we can keep it up.