DNN Designer
Wednesday, January 07, 2009   Login | Register  Search
You Are Here > Background
 
HomeBackgroundServicesContactPresentations & ArticlesTech Talk
Summary Minimize
I am a motivated and results driven professional with 20 years of experience in technical solutions implementation encompassing all phases of the product development life cycle. A decisive and action-oriented technologist offering seasoned skills in software architecture, team building, mentoring, delivering projects within scope and budget, and playing the role of the key technical resource. I have experience in analysis of network, hardware, and software infrastructure in order to develop recommendations to enhance system performance. I pride myself on having the ability to see the “big picture” and align project strategies with the overall business objectives. I am passionate about distributed systems, component software development, and software architecture with the UML; driven by new challenges and the desire to make projects succeed.
Educational Background Minimize

California State University, Hayward
Masters of Science in Computer Science

University of San Francisco
Bachelor of Science in Computer Science

Microsoft Corp., January 2007 - January 2008 Minimize

Senior Software Development Engineer

Technologies: C#, Windows CE, Visual Studio 2005, XML, .NET 2.0, Windows XP, Windows Vista

Microsoft IPTV enables the future of television by helping broadband network operators deliver advanced digital TV services and new connected entertainment experiences to audiences worldwide. IPTV uses Internet protocols to deliver a rich, personalized consumer experience. IPTV also creates new business opportunities for broadband service providers, hardware manufacturers, content creators, advertisers and application developers.

I worked as a Senior Software Development Engineer as a contractor through Volt Technologies for the Client Applications group in the MSTV IPTV division. As part of the Client team I assisted in the design, coding, and implementation of new features. The client layer is an application with a large code base and I was exposed to numerous features such as boot initialization, Video on Demand (VOD), stream management, Digital Video Record (DVR), scheduling, and server communications. My duties also included addressing bugs and issues discovered in current releases. Daily activities included debugging complex issues reported in the client involving numerous aspects - performance related issues, asynchronous messaging, user interface design, XML parsing and multi-threaded related issues. Two key features I worked on are described below:

     Download and Play

British Telecom (BT) wanted to provide VOD services to its customer base. The existing Internet connections did not have sufficient bandwidth to support streaming of these video assets. BT desired the ability to allow their customers to download these assets in the background and then be able to play them locally at a later time. I assisted in the user interface design and the software design of the needed components to implement this feature. I was primarily responsible for coding and implementing the enhancements to the existing VOD store application to support the purchasing and downloading of the video assets. This project involved defining new interfaces specific to download and play, creating a factory object to instantiate a URL builder object that generated requests with the appropriate media tuning parameters , and leveraging existing media transport mechanisms by using inheritance to define a new transport object with slightly different behavior for download and play. The user interface was also modified to support this new behavior. This involved creating new and modifying existing XML meta data files to generate screens, defining C# classes to support these screens, and defining event handling and screen navigation logic. New media rights were defined to support this feature and enhancements were added to the rights handling infrastructure that previously only concerned itself with streaming assets to ensure users could only watch the downloaded media assets within the license windows.

Stream Management

Stream management is a component in the client that controls and throttles the bandwidth coming into the customer household. This component ensures that a household cannot consume more bandwidth than is desired by the operators. A new feature, Whole Home DVR, needed additional stream management enhancements. Two profiles were defined - the Ingress profile and Egress profile. The Ingress profile controlled the number of streams/bandwidth allowed by a single set top box and the Egress profile controlled the amount of streams/bandwidth that the DVR device in the home could utilize for playing back recordings locally. I was responsible for the design, coding, and implementation of these two new profiles. These enhancements required analyzing a large code base of existing stream management code and ensuring the changes did not break existing behavior. A set of unit tests were also enhanced to thoroughly test these new features. This project involved transforming existing SM functionality that controlled all bandwidth (a WAN profile) into a household into a set of classes that also controlled Ingress streams and Egress streams. I accomplished this goal by centralizing common behavior into an abstract base class. I defined concrete classes for each profile type that contained any differentiating logic. I also created a Policy Manager class that acted as a façade for the SM engine to all the defined profiles. The profiles were enforced in a distributed fashion across all set top boxes in a home using UDP messaging with XML data.

Visual Network Design, Inc., Dec 2004 - Dec 2006 Minimize

Chief Architect

Visual Network Design, Inc. ( http://www.Rackwise.com )

Technologies: C#, ASP.NET, .NET 1.1, .NET 2.0, Web Services, Web Service Enhancements (WSE 2.0), SQL Server 2005 & 2000, T-SQL, Visual Studio 2003,  Visual Studio 2005, Windows 2003, IIS 6, Active Reports, Visio 2003, Excel 2003, Enterprise Architect 

Visual Network Design, Inc (VNDI). is an emerging leader in the network visualization and documentation arena.  Our product, Rackwise, integrates with Microsoft Visio and is a powerful tool which allows network designers and administrators to easily create comprehensive drawings and reports of their network.  The tool details physical connectivity, power and heat requirements, and the placement of network and storage devices within racks. Rackwise integrates with Visual Network Design's online comprehensive database of thousands of pieces of network equipment.

Upon joining VNDI I was charged with migrating the company's product to a desktop application.  VNDI's initial release of Rackwise was a pure browser based application for Microsoft's Internet Explorer.  Their core target audience of network administrators and engineers relied heavily on Microsoft Visio to document their network configuration.  VNDI made the strategic decision to use the MS Office platform as our application platform.  I successfully led the effort to restructure the architecture of their product and develop a new software design  to make the Rackwise application a Visio add-in.  The Rackwise application is designed as a 3-tier application: a client tier, a middle component tier, and a database tier.  The client user interface tier is a C# Visio add-in using Windows Forms.  I led the user interface design effort to ensure it behaved as a true smart client application and less like a web based application which the previous generation product was. It communicated with the middle tier hosted on a web server via web services.  The middle tier performed all business logic and communicated with a SQL Server database via stored procedures.  This key initiative allowed VNDI to become one of only three vendors to be included in the Visio IT Resource Kit distributed by Microsoft and to receive additional rounds of funding from investors.  I also led the software design effort to develop the next release of their product that included additional functionality for data center management personnel.

Other Responsibilities  

1.               I led the effort to separate our hosted web application from the corporate site.  VNDI had a single website that consisted of a tightly coupled application and corporate information site.  This tight coupling led to frequent deployments in order to update company related information such as recent news, press releases, and other purely informational content.  I investigated DotNetNuke (DNN), an open source framework for web application development and content management, as a tool to allow non-technical personnel to manage the corporate site.  DNN allowed me to give the control and responsibility of the corporate content to sales and marketing.  They were able to manage the corporate site without any involvement from the development team for content deployments.

 

2.                I acted as the System Administrator for our hosted servers.  We had three sets of servers: Production, Staging and Development/QA which are housed at a hosting provider.  I primarily handle all deployment and configuration issues related with our application on these servers.  These servers are running Windows 2003 Server, IIS6, ASP.NET, SQL Server, VNDI's application server-side software, and numerous other utilities and software.  I also assisted with the management of firewall, routers,  and SAN storage devices.

 

3.                I acted as the primary database administrator for the numerous databases deployed on two physical SQL Server 2005 and 2000 servers.  I scheduled and monitored backups, re-indexing, data re-organization, and data integrity checkers.  I was responsible for performance tuning and ensuring optimal application execution.  I converted frequent manual importation processes of third party data into a set of Data Transformation Services packages that can be run on demand in a predictable manner.

 

4.                I also assisted with the product builds and packaging.  I developed the initial process to prepare and packaged the product for installation by our clients using MSIs.  This process consisted of defining the setup and deployment package in Visual Studio, writing custom VBScripts, defining the installation workflow and dialogs, and performing the release builds and packaging.

PinnacleRock and Associates Maximize
The Doctor's Company Maximize
State Compensation Insurance Fund (SCIF) Maximize
Home
Background
Services
Contact
Presentations & Articles
Tech Talk
Keyboard
Home | Background | Services | Contact | Presentations & Articles | Tech Talk
Copyright 2006 by My Website | Terms Of Use | Privacy Statement
DNN Designer