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


-
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


-
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 

-
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.
|