Senior Engineer and Beyond

Given the title of the blog, I find my lack of posts on life as a developer embarrassing. If you sample my posts by category, it might seem that I spend more time hiking than thinking about software design. But I assure you that is not the case.

I was recently promoted to senior software development engineer, so I figure that is a good cause to reflect on software development. While I am tempted to give my take on what it means to be a more experienced developer, for now I will defer to Eric Brechner’s excellent column “Level Up.”

Now, assuming you are familiar with what makes a senior developer compared to, say, an entry level, let me continue on. Like many others that I know of, getting promoted to senior engineer felt like a relentless race. It seems a lot of people are compelled to be promoted to senior as soon as they can. But in some sense, I think that race is somewhat pointless. That’s because those who make it to senior at a reasonable pace get promoted to it within a year or two of each other. But the real drag starts there.

Some make it from senior to principle in four years or less. Some make it in ten. And some never do. Clearly, if you are thinking long term what matters most is how fast, if you can at all, get from senior to principle and beyond. So I got feedback from several established engineers on how to be a successful engineer. Here are the first pieces of advice that I got:

  • Switching to a managerial role too early is not a good idea. The general idea is that you want to be able to develop your technical and design skills as much as possible before having to worry about developing others. Of course, that does not mean you should shy away from leadership skills. But you should be patient about adding “lead” or “manager” to your title.
  • (From a distinguished engineer:) Nowadays breadth knowledge is more important than depth knowledge. Having knowledge and experience in a wide range of areas is important to be successful in any problem space. (Of course, when a DE says “breadth knowledge,” I interpret that to mean “be really good in a lot of areas and be super good in a few.”)
  • (From another distinguished engineer:) The fastest way to gain knowledge in a lot of areas and, more practically, get promoted faster, is to leave the company and join a startup. Venture funding is decent these days. The startup will probably fail but you will come out much stronger.
  • Try to join an organization where there are principle level people working as ICs so that you can work with them and learn from them. If most principle level people are development managers, chances are that you will not really learn design skills from them. You might get intimidated in a “stacked team” but that is a good thing.
  • (From the bench program:) When you get very good at a certain problem space, it might be time to switch to something radically different. Initially, your productivity and effectiveness might drop but overtime you will exceed where you were before in the previous problem space. Statistically, you need to make four such jumps to become truly successful.

I really need to chew on these and talk to more people. But it seems I really need to take my time and strategically think on how I want to improve upon myself.

Also, after reading through this post I realized that I sound as if I am bent on getting promoted fast. It is a bit more complicated than that. Of course, I do have ambition to get promoted. But with promotion comes increased responsibility and accountability. I do not wish to be promoted until I know I am comfortable with handling those. It might sound like the same thing, but I always tell my friends that getting a stellar review is much more important than getting a promotion.

Snow Lake

I took advantage of Labor Day Weekend to hike up Snow Lake. It is pretty close to Seattle (exit 52 off of I-90) and it is a brisk hike. I didn’t expect much of the hike but the lake provides for a surprisingly good view! I definitely recommend this as a close and semi-casual hike.

The WTA page lists the elevation gain at 1300 ft. But do note that once you hit the peak you descend down to the surface of the lake; be prepared to hike up another couple of hundred feet on your way back. We got to the trail head around 9:00am and found a mostly empty parking lot. But it was packed by the time we got back. This is definitely a popular trail. And no wonder:

Camp Muir

Last Saturday I managed to hike up to Camp Muir with a friend. The hike, while long and arduous, was well worth the effort. We got lucky and met some of my coworkers there who graciously provided meals for us. After eating a hearty meal, we glissaded down the mountain. Here are two videos that I took from the trip (using my iPhone 4).

You can watch more videos on my YouTube channel.

iPad

As I wrote in my previous post, I have been using the Kindle application on my PC and iPhone. I was worried that reading books on a monitor or especially a phone screen would strain my eyes. But I quickly learned that my lifestyle does not allow me to read for more than 15~30 minutes at a time. When I can read in longer strides, usually in sprints of 1~2 hours at most, I read on my computer and the experience is no different than browsing the web or reading email. Yes, E-ink would be nice but I think I can live without it.

Which brings me to the iPad. At first, I was looking into buying an E-ink device and rejected the iPad solely on those grounds. But ironically, using the Kindle on the PC and iPhone has convinced me that I can do just fine reading on an LCD screen. Furthermore, when I was looking into buying a Kindle, I considered getting the Kindle DX since viewing PDFs is important to me. But the Kindle DX is currently priced at $489 and at that price I would rather get an iPad for $499. I also believe the iPad would be able to render PDF documents better than on the Kindle DX.

From a book purchasing and reading perspective, there are a couple more things I want on the iPad. Some of these might already be supported:

  • Reading client on the PC as well as iPhone. As for the PC, I can live with reading through iTunes although I would prefer not to.
  • Be able to download and sync to the furthest page read through the cloud (and not through syncing on iTunes).
  • Be able to highlight and take notes.

In general, I think that the iPad is a great device. I look forward to playing with one when I get the chance.

Kindle Reader

I am in the process of digitizing my media collection. Over the past year or so, I have been converting my music CDs and movie DVDs into digital format to keep on my computer. It is somewhat painstaking, but I think the conversion is well worth the effort. All of my converted media is well organized and immediately accessible.

To go a little bit further, I have also been moving data onto the cloud. For instance, I love that all of my contacts are synced to Exchange. I can update contacts on Outlook, the web, or on my iPhone and they’re all synced together. I also use the Facebook connection feature so that it copies down profile pictures and syncs them to my contacts.

Recently I recycled a significant collection of printed research papers that I have digital copies of and then uploaded them onto the cloud. I really like the idea of being able to access these papers, specs, and other documents from anywhere. It is also nice to reduce clutter in the house and the office.

So that got me into thinking that it is about time that I also digitized my book collection. While I do still have some sentimental attachment to written books, I think the benefits to having them available on the cloud far outweighs the cons.

So today I purchased my first ebook on Amazon. I do not yet own a Kindle, but the book is now available on my iPhone as well as my home and office computer. I love how all of my readers can sync and keep track of my last page read so that I can always pick up where I left off. I find it difficult to sit down and read books for hours these days so I have to get through them on shorter strides. The Kindle readers will help me get through books a lot more efficiently.

The usual complaints apply to reading ebooks, but whether the book reading experience is quite there or not, I think the switch is inevitable enough at this point that I would rather start purchasing books in ebook format. And so far, I am very happy with the experience. I look forward to the day when I have the majority of my media digitized and on the cloud so that I can only keep around the things that I really care about in physical form.

Windows Phone 7

Windows Phone 7 Series has been announced and it looks a lot more exciting than I expected. The fact that Microsoft actually pulled off a reboot and also adopted the Zune HD UI paradigm is encouraging. I also like the minimum hardware requirements imposed on devices and restrictions on UI customization.

Integration with online web services as well as Microsoft’s own services such as Zune and XBox Live is also something that I was looking forward to. It would be cool to see apps or widget work across multiple devices such as Windows, Windows Phone, and the XBox. I’d like to see more on tight Windows Live integration as well.

I am looking forward to checking out Windows Phone 7 devices. Ever since I saw the Zune HD, I’ve been wanting a Windows Mobile device with a similar form factor. I’ll have to see what Apple has in store for iPhone 4G, but it looks more likely that I’ll be able to finally switch back to Windows Phone.