www.donaldlee.net

   Copyright © 2005, Donald Lee

Frequently Asked Questions

I created this page to answer some of the questions of myself that I would normally ask other job prospects when I interview them.

Click a question with your mouse to reveal my reply.

Technical Skills To top
Separator

  • Do you consider yourself a server admin or software engineer?

      I definitely consider myself a hardcore software developer, however, during my ten+ years experience building enterprise-class, mission-critical systems, I have learned an immense amount of advanced administration skills. Successful projects require understanding advanced networking concepts inherent in load balanced web farms, snapshot vs transactional replication in databases, and multi-domain security issues under Active Directory.

      I believe that for large scale software projects, a combination of software development and network skills are critical to success.

  • Microsoft or Unix?

      Enterprise class systems are nearly always built using a variety of technologies and platforms. Most large projects must interface with legacy systems or exchange information with other business partners and finding a good solution to interface disparate systems can often be a challenge. However, when I'm not restricted by a pre-existing platform and everything else being equal, I generally will choose a Microsoft based solution because I have built so many before and am intimately familiar with the tools, architecture, time, and resources necessary.

      In this web site, I primarily used Microsoft .NET but choose a Perl solution for my web statistics and a Java solution for my web cam as they provided best in class products.

  • .NET or J2EE?

      .NET, although I will choose other languages and platforms when they provide a better solution. Java syntax is nearly identical to C# and fairly easy to move from one language to another. Java is also the language of choice for many biotech companies. My own web site is a mixture of C#, VB.NET, Perl, and Java.

  • Do you prefer C# or VB.NET?

      I prefer C#. I started with the traditional Computer Science languages of Pascal, FORTRAN, and C/C++ but later moved into Visual Basic and VB.NET. Recently, I have been heavily involved in C# and find I enjoy it a great deal. Overall, it's expresses object oriented concepts more naturally, it's easier to find code samples in written C#, and has better support for running on Unix via the Mono Project. C# also supports pointer operations that allow interfacing with legacy COM dll's and API function calls which VB.NET lacks. Lastly, C# syntax is similar to Javascript.

  • Will you work all day and all night to fix a critical problem if it arises?

      Yep

  • What is your preferred software delevopment methodology?

      I prefer agile methodology in place of typical predictive based project methodologies. I find agile methodologies better suited for todays business needs, produces software that is more adaptable, more robust, and far better suited to changing business needs. Additionally most project managers are unable to give 100% of the software requirements up front. This is where using agile methodologies, like Extreme Programming excel.

  • What type of development environment do you have at home?

      I set up a mixed CAT5 wired / 802.11g wireless network running IIS 6 and SQL Server 2000 on multiple Windows 2003 servers located throughout the house. My development environment is Visual Studio 2003 Enterprise Developer Edition with Visual Source Safe. My primary languages are C# and VB.NET

      I also set up an enterprise class Windows 2003 server in Texas and 512 kbps ADSL to host this web site. Even though I'm currently in the Middle East, using Remote Admin (Terminal Service) makes it appear as if I'm sitting in front of the server!

      When I return home to the states, I plan on upgrading my Internet connection to 1 Mbps synchronous ultra high speed wireless broadband.

  • Can I see examples of code that you have written

      SOAP XML Web Service - determine country location by IP address.

      ASP.NET - dynamic image resizing using System.Drawing

      Database Stored Procedure - Typical SQL Server stored procedure with error handling

      VB.NET - custom network message queue from Windows 2003 server to client workstation

      C# - an improved permutation algorithm

      VB - SHA-1 Hash encryption using the crypto API

      ASP -

      MTS/COM/COM+ - enterprise scalable data access layer connecting business rules to database server

      Javascript - dynamically driven code generation for multi-level parent/child listboxes populated by a SQL Server database

      Others (FORTRAN, 8088 assembly, C, Pascal) - method to work around Borland Pascal's 64k heap size, FORTRAN algorithm to solve any polynomial of order N when given N-1 equations.

Business Skills To top
Separator

  • Your technical skills appear ok, but I can outsource programming. I really need to to improve my Sales and Marketing.

      I'd go nuts if I had to spent all my time behind a desk. I enjoy technology and I believe in the work I do and that technology can help companies achieve their business goals. I also enjoy convincing other's how technology can be used to enhance business processes. I am an excellent technical asset when dealing with your clients. More importantly, I know when to keep my mouth shut and the importance of managing customer expectations (eg. underpromising and overdelivering).

      I'll be honest and tell you up front I'm not the guy to use to finalize pricing or pick over the fine print.

      As far as maketing, it wasn't part of my class load in school but I'm keenly aware of how marketing can affect the publics perception of your product and more importantly drive greater sales volume.

  • How do you get along with others?

      I'm very good at what I do but I'm no prima donna. Overall I'm low key. Often, highly technical people have trouble dealing with difficult clients. Fortunately I got burned early in my career by aggressive clients and realize the need to handle them up front or else deal with the consequences later. Additionally, my time spent in the Middle East has taught me new skills in dealing with international clients.

      Overall, I tend to form close relationships with other highly technical people and get along very well on a casual level with most others. I also do extremely well when dealing with outside clients and customers as I am service oriented but know how to play politics at the appropriate times. I am normally chosen as the main technical contact for your clients for this reason.

  • You worked in the Middle East - What do you know about outsourcing?

      Nearly 100% of companies in the Arab gulf countries use Indian technical labor. Many of your outsourced projects in the states end up here in Dubai. I work with many of those companies and have internal contacts. I also know how these companies are run and exactly what they can and can't offer.

  • What business related books can you recommend?

      The Strategy and Tactics of Pricing: A Guide to Profitable Decision Making - a classic in it's field.

      A Random Walk Down Wall Street - a must have for every wall street analyst.

Job Fit To top
Separator

  • What type of work environment do you excel in?

      In one word - variety

      I'm not a one trick pony. I enjoy working on multiple projects that involve multiple skills, especially skills that I have not used before. I also enjoy being involved in the full development lifecycle, from the initial sales calls, client negotiations, hardware/software architecture, development, and delivery.

      I also am experienced in black/white box testing and QA but probably would not be a good long-term fit in a QA role.


Home | Biography | Photo Galleries | Contact