Where do I even begin? The last month has been crazy hectic for me… in the best possible way. I finished up another successful work term with Sybase in Product Management (PM) and then took a two week break visiting Anaheim and Calgary.

I completed my fourth term at Sybase (fifth overall) and this was one of the busiest, but most rewarding terms. During one of my evaluations, my managers told me, “As the number of work terms you complete increase, so do the expectations.” Not only was this my second to last work term, but also my fourth at Sybase. I knew that the expectations were high and that the bar had been raised. I needed to work hard in order to get the most out of the term. That’s exactly what I did, I jumped into the PM experience, the team embraced my openness and allowed me to work on a wide range of tasks.

I truly believe that a unique experience that I gained from Sybase came as a result of my returning for a fourth term. With over a year of experience at Sybase under my belt, I had a clear understanding of the company’s vision and knew the product very well. Because of this, I was able to make responsible decisions and ones that were aligned with the company’s goal. It’s a great feeling to know that your opinions matter and that your work influences people. This kind of experience was invaluable and a big part of what I gained this term.

Almost immediately after the term completed, I flew down to sunny Anaheim, California. I spent a week there, flew North back to Canada and landed in the winter wonderland of Calgary, Alberta. It was the hardest thing packing for these two trips because most of the clothes that I wore in either places were mutually exclusive! Needless to say, I had to pack a lot of clothes and layers were an important part of my attire during those weeks. It was an fun-filled break and I needed it to clear my head before diving back into the books.

What are my plans for next term? Well, it’s up in the air for now… I’ll be going through the first round of interviews. I hope that I can build upon my current experiences and will update as soon as I know what I’ll be doing.

This past week, Sybase hosted an internal competition called “Innovation Idol” (it’s supposed to be a spin-off of “American Idol”, but more techie). The description of the event reads:

Innovation Idol is a Sybase-sponsored, 3-hour event where Waterloo employees and co-ops showcase their ideas and innovations in an atmosphere of fun and friendly competition. Innovation Idol aims to foster a spirit of innovation and original thinking at Sybase, and to identify and promote promising innovations that could improve our workplace, our products, and the ways we work.

I was shocked by how much effort the folks here at Sybase put into the event, even the setup of the “stage” was really cool. When I walked into the cafeteria, I expected some chairs and maybe a projector for a slide show. But, to my surprise, they had closed all the blinds and turned off all the lights. There were these large speakers with a sound system borrowed from one of the staff who is a singer. Ambiance, anyone? A couple spotlights (read lamps) lit the judges (yes, there were judges =P) and the contestants. Also, three projectors provided video feeds of the contestant and the judges, and one more for the contestant’s presentation. Finally, they even played soundtracks at the beginning and end to enhance the game show experience.

However, it wasn’t just smoke and mirrors. The presenters had some really innovative and bright ideas. It would take too long to list and describe all the ideas, but the one intrigued me the most (and ended up winning) was given by Eric, titled “Using Ray Tracing to Create Rich Presentations and Marketing Materials”. You can read up more on ray tracing, but on a high level, it is an advanced technique used to render photorealistic computer graphics. Eric talked about how the architecture and infrastructure of computer systems can be very complicated and often shapes and lines don’t fully convey the overall interaction between individual components. With ray tracing, you can represent a complicated network setup of servers and software with a photo-realistic image. For example, a database store can be a water tank, water pipes can be used to show the connections between components, the water pipes can then have valves that turn on and off depending on the flow of data, a red fence can surround a server that has a firewall, etc. All this data is put into code and a very realistic photo is returned. This kind of graphical representation is not only well-pleasing to the eye, but also portrays a complicated computer set up in an easy to understand image.

From a marketing perspective, the benefits are obvious. These generated images are much nicer than a standard flow chart. Since our eyes are drawn to things that look nice, it is possible to create rich presentations and marketing materials that will grab a customer’s attention. Also, using more common objects to represent things like databases, communication, data flow and firewalls, gives customers a better understand complex architectures. It may be true that developers don’t need “pretty pictures”. However, I believe that the ray tracing technique would simplify the learning curve associated with understanding larger systems.

A picture speaks a thousand words. If we can visualize abstract pieces of software like databases and firewalls with concrete objects like water tanks, pipes and fences, it would help us understand a system setup better and thereby allow us to solve our problems more efficiently.

In case you’re not constantly keeping track of my life and which school or co-op term I’m in… I thought that I’d just let you know that I have started another work term. I have once again chosen to return to Sybase (for those keeping count, this is my fourth term there). Many people have asked me why I keep returning to Sybase. The short answer is because the atmosphere is great, the work is challenging and as one who is familiar with the culture and services of the company, you get to work on more important projects. Some have argued that it is necessary to  try different jobs in order to discover what you really like. To some extent, that is true. However I really enjoy what I’m doing and in the software world, nothing is ever stagnant. The maturity of the product is always developing and the stage of  the “software life cycle” always changes as well. Contributing and being a part of different stages of the life cycle of one company and one product over a long period of time has definitely given me a broader understanding of how software is developed. It’s never a dull moment!

microsoft_silverlightRecently I had the chance to work with Microsoft Silverlight (web application framework) Essentially, I was asked to demo SQL Anywhere’s compatibility with Silverlight. So, I developed this application with Silverlight and incorporated as many new features as I could cram into it to push it to its limit. I truly believe that Silverlight has gone a long way since it’s first release which was mainly targeted at streaming video (like Flash). However, it has evolved into a fully-fledged web application framework that businesses can use to create professional data-driven web sites quickly and easily. I watched a lot of talks from MIX 09 and was thoroughly impressed at how simple it was to hook up our database to Silverlight using the ADO.NET Entity Framework. But, it didn’t just stop there. With the latest version, Silverlight 3, Microsoft developed something called the “Silverlight Navigation Framework”. I thought this was absolutely brilliant. It only took a couple hours to get a beautiful (not to mention customizable) site up and running connected to a database with all CRUD (create, read, update, delete) operations. The great thing about Silverlight is not only its ability to display data efficiently, but also in an elegant manner. I’m working on getting this demo wrapped up and still I’m finding new features to play with! I hope that developers would really give Silverlight a try because it has a lot to offer and potential to take a site to the next level.

“Cloud computing” seems to be the latest buzz word in the technology world. As promised in my earlier post about Amazon’s April Fools prank, I’m going to write about the cloud. Actually, it’s good timing because Sybase just announced that it’s working with Amazon Web Services (AWS) to offer their products on Amazon Machine Images (AMI). I knew about this earlier because I did some work for this initiative during my last work term, and I’ve been anticipating this announcement ever since I finished the term =). Now that it’s released to the public, I can blog about it!

What is the Amazon Elastic Compute Cloud (EC2)? Well, basically it’s a huge virtual image server hosted by Amazon. They use these things called AMIs which are virtual computers that you can run and customize to suit your needs. The amount that you pay is based upon the computer’s hardware specs and how long you use it for. This recent announcement by Sybase offers pre-built AMIs with Sybase products installed on them.

I’m excited for Sybase because this could be a huge step for SQL Anywhere’s web initiative. The partnership with Amazon makes the SQL Anywhere product much more accessible, especially in the online database market dominated by MySQL. It seems like every web hosting service offers MySQL as a back-end database, it has basically become the default database for online applications. This makes it very hard for any other database to penetrate that niche. However with these AMIs, customers will be able to get their own virtual server with SQL Anywhere pre-installed and ready to go. This definitely makes it much easier to use as a web server. Also, with SQL Anywhere’s built-in web server feature, you may not even need a dedicated web server. I really hope that people won’t overlook SQL Anywhere and give it a shot. I’m sure they won’t be disappointed =D.

Look who’s the latest player in the game!


As I sit here and ponder about my next work term, I realize that my view of Product Management (also referred to as Program Management or PM) has broadened throughout the course of my last work term. After my experience at Sybase, I can say that my glimpse into the PM world has stirred in me a desire to pursue a similar position.

I saw that PM is a very unique role in the technology industry. Although it is not compulsory to have a PM team, like it is to have a development team, I think that all software companies should adopt a team of product managers. Why? Because it is the PM’s responsibility to link the market needs with the code in the software. That is not to say that they write the code themselves, but rather they communicate effectively with the developers so that features can be implemented that satisfy the customers.

It is just as important to have people who develop the vision, write out the specs and work with the customers, as it is to have people who write the software. The PM’s and the developers are not rivals, but co-exist mutually in harmony [sort of]. Although the two parties may not see eye-to-eye on some decisions, the best features usually come out from constructive disputes during a brainstorming session.

This term proved to be a great learning experience and one of my busiest terms. I had the opportunity to work on a number of interesting projects:

– A proof-of-concept port of phpBB with offline synchronization
– Usability testing on the customer install/upgrade experience for the latest minor release
– Online PHP Developer Centre
– Features that would increase SQL Anywhere’s web server compatibility
– Customer demos and code samples-
– Whitepaper to get more out of the SQL Anywhere Monitor
– Edited a developer viewpoint
– Developed a prototype of a tool that addresses inquiries by potential customers and solves 30%-40% of the problems in the online forums
– Utility for Sybase’s latest announcement with Amazon Web Services

Many times, I worked closely with software developers to ensure that the functional specifications were met. That is, the feature will work the way a customer expects.

I learned that the build or install team plays a crucial part in a software company because their work is the first aspect of the product a potential customer encounters. If the install fails or it is unintuitive, what does that say about the product itself? First impressions are crucial. That’s why our installation process had to be put through careful usability testing.

I also met with members of the documentation team to make sure that they understood how my whitepapers would be presented (consistent form, terminology, and tone).

I finished off the term by doing some work for Sybase’s first venture into Cloud computing. I think it’s a huge step for Sybase as they announced earlier today that they’re working with Amazon Web Services to offer Sybase software in Amazon Elastic Compute (EC2) environments. It’s really awesome to be able to work on things that count and reflect the direction of the company.

The greatest part was seeing how my contributions were affecting the final product. At the end of the day, that’s what it’s all about – a better product. My manager once told me, “As PM’s, our job is to make the product better for future customers.” So that takes foresight, creativity and some risk-taking. It may not always work as you planned, but when it does, it is extremely rewarding.

I wrapped up my fourth work term today. I had a great time working as a Product Manager at Sybase, learned a lot and gained valuable experience. This being my third term at Sybase, I wanted to fully leverage my previous experiences to get the most of out these fourth months. So I fully committed this term to develop my skills as a Product Manager. I guess it helps that I was very enthusiastic about the work too =).

I gave an “End of Term Presentation” today and as I went through some of the projects that I worked on, I surprised even myself with the amount of work that I accomplished this term! It was one of those terms where you enjoy going to work and being challenged by the projects given to you. It may sound cliché, but it was true. Work is so much better when you like it!

Now, I have a few days to rest before hitting the books again. 3A starts on Monday. Meanwhile, I should probably get started on that work term report…

Two years ago, when I started my internship at Sybase, I saw posters all over the place with the words “One Sybase. One Team. One Billion.”. I pondered over this slogan for a long time actually, wondering what it meant… Finally, I was informed that Sybase was aiming to earn an annual revenue of $1 billion in 2007. Did we reach it? Of course we did.

Now, one year later…

Sybase CEO, John Chen reported that Sybase topped last year’s record earnings and finished with the best quarter and year in company history! Wow!

I’d like to say that I played a role in helping them achieve this accomplishment, but I’m just happy to be a part of it =D.

> CNET News: Sybase earnings sail past Street’s expectations
> WirelessWeek: Sybase Bests Itself
> Oakland Tribune: Sybase’s early bet on wireless paying off

Let’s get the ball rolling with a quick post.

As part of my co-op term at Sybase, I am given the opportunity to work with all kinds of different database formats. From my experience, it seems like every database has a specific market that it targets. That is to say, no single company has found the ability to conquer all the niche markets. With the ever-expanding range of applications that can use a database, it is almost impossible for a single database to meet every need.

The three biggest applications I can think of are desktop, mobile and online applications. Desktop applications are everywhere, I’ve seen them used for airline booking, POS systems, keeping track of medical records and even in your tax software. With the rampant increase in speed of wireless data transfer, the world is heading towards a wireless enterprise. You can have so much information readily available just in the palm of your hands. Finally, online applications is what drives the internet and behind it all is most likely a database. Where is this post that I’m writing going to be stored? How about the comment you’re going to write? What about that forum that you were just reading? The news? Your email? The internet is propelled by data. Thus, it relies on a safe, reliable and efficient way to store and retrieve it. Data is all around us, we thrive on it and is almost a necessity for our modern lives. This is why we work so hard to produce the best software we can =D.