Kenneth M. Thompson

Providing Corporate to Corporate and 1099 Contract Software Development Services

VU Meter Summary Printable Contact Projects FAQ MileStone

Frequently Answered Questions
  1. Technical
    1. What kind of Java programs have you developed?
    2. What Java tools do you use?
    3. Describe your C++ experience.
    4. What about C?
    5. Are you doing any embedded systems work?
    6. What systems do you use for software development?
    7. Why do you have so much System Administration experience?
    8. You used to teach, are you currently doing any teaching or training?
    9. You were a manager, are you interested in management?
  2. Business
    1. Are you currently looking for a job?
    2. What kind(s) of work do you do?
    3. Would you consider a Regular Full Time position?
    4. Would you consider relocating?
    5. Why are you contracting?
    6. Will you consider a W-2 assignment?
    7. What are your rates?
    8. Are you fully insured?
  3. Answers to Questions You Can't Ask
    1. Are you married?
    2. How's your health?
    3. How old are you?
  4. Let's Play Jeopardy!
Technical
  1. What kind of Java programs have you developed?
    I have developed applications rather than applets. These range from a stock market data gatherer on the low end to an Addressable TAP Head End Controller for major Cable Company to significant J2EE projects. Some have command line interfaces, others have multi-panel GUI interfaces and some are multi-tier web apps. I have developed 100% Pure Java applications and applications that use JNI code. I have used the JavaComm API and contributed to Linux implementation of this API.

  2. What Java tools do you use?
    I have used a variety of IDE's including netbeans and eclipse, settling on the emacs JDE for most development. I have developed a toolkit for creating Swing interfaces with a layout manager driven by an html-table syntax with the addition of a component factory. I've used this in two commercial applications to date, but would use the recent layout manager in JDK 1.5 for future designs. I still find that UNIX development tools, including software version control, make this as productive an environment as the GUI-only integrated environments.

  3. Describe your C++ experience.
    I have 3 intense years of experience in C++ in two major projects before beginning Java development. I am a competent C++ programmer and both projects were technical successes. My C++ experience was a great foundation in OOP/OOD and has given a good insight into Java and a finer appreciation for Java than I might otherwise have had. That being said, I am not doing any design starts in C++: for OOP I use Java; for performance or embedded I use C (or J2ME).

  4. What about C?
    I still like programming in C, especially for embedded software, and I am quite good at it and have more than passing familiarity compiler internals. I have used C extensively in embedded work and I am familiar with the assembly code generated and have used this in conjunction with In Circuit Emulators for debugging.

  5. Are you doing any embedded systems work?
    Yes, I just finished a major cable project and I am currently working on a couple of telephony projects. One is a CO based outbound conferencing system integrated with a unified messaging system and the other is a consumer-oriented Caller ID enabled call filtering system. The conferencing system softare runs as a UNIX (SCO) application controlling Dialogic boards and the call filter is written in assembly on bare metal. I also have a great deal of experience in real time OS internals and application development.

  6. What systems do you use for software development?
    I am a strong supporter of open source software and have over 15 years of experience with GNU/FSF development tools. I have used several different development hosts (IBM Mainframe, VAX, various UNIX flavors and Microsoft) and generally migrate towards UNIX, especially in cases requiring team development. I've recently adopted several web-based tools for collaborative development.

    I have a great deal of experience with all of the GNU/FSF tools, including having modified the gcc compiler for specific projects. I have set up development environments with native and cross compilers, editors, debuggers, native and cross assemblers, version control and bug tracking.

  7. Why do you have so much System Administration experience?
    Mostly out of necessity. I have often been involved in start-up companies and skunk-works projects requiring development environment setup, and selection and installation of software development tools. This is usually done by the development staff rather than IS personnel, and I often have more experience and am better at it than most other developers.

    I do enjoy the power and flexibility of UNIX systems and have taken a few projects that consisted of only System Administration. I have found that a well set-up and fully featured development environment (with version control, compilers, email and backups) smooths out lots of development bumps.

  8. You used to teach, are you currently doing any teaching or training?
    I love teaching and continue to enjoy any opportunities to perform training, especially on products I develop. If time and logistics permitted I would probably teach again on a part-time basis.

  9. You were a manager, are you interested in management?
    I am much more interested in project management than in people management or administration, since project management is inherent to product delivery. I am a Theory Y worker (I believe most people need to do a good job) and a Theory Y manager. Unfortunately it is largely a Theory X world (people only work hard or well when compelled by external forces). My experience taught me that management is much more difficult than many people believe and that good management and managers should receive everyone's full support.

Business
  1. Are you currently looking for a job?
    I am currently looking for interesting work where I can create IP and revenue for a client and extend my technical capabilities. I am currently pursuing contract opportunities either in the Atlanta area or those that can be served by limited travel, off-site development and telecommuting. A previous client was based in Japan with an office in Denver, CO.

  2. What kind(s) of work do you do?
    I do:

  3. Would you consider a Regular Full Time position?
    Yes, given that it must compete with the benefits of contracting. I would be looking for interesting work, with a variety of projects and responsibilities, a Theory Y corporate culture, and an overall compensation package that is competitive.

  4. Would you consider relocating?
    While I am fairly well rooted in the Atlanta area, I can certainly imagine opportunities and/or locations that would be attractive. It would be on the order of a startup company in Iowa (or Hawaii).

  5. Why are you contracting?

  6. Will you consider a W-2 assignment?
    Yes, but I prefer corporate to corporate relationship (through MileStone), or 1099 assignments.

  7. What are your rates?
    I know it sounds like a corporate job posting, but my rates are "competitive" for a Master's degreed 20 year veteran of multiple successful product developments. In all cases to date, my rates have been less than the fully loaded cost of hiring me as a W-2 employee.

  8. Are you fully insured?
    MileStone Solutions, Inc. is my employer for contracting assignments and provides full benefits including fully subsidized insurance.

Answers To Questions You Can't Ask
  1. Are you married?
    Yes, very happily. We have one child, currently a college senior. My wife and daughter are the life I make a living for.

  2. How's your health?
    My family and I have no pre-existing conditions or health risk factors that might cause concern. Also, I currently provide my own health insurance and would expect to continue this practice.

  3. How old are you?
    I was born in 1957 and am 49 at the time of this writing.

Let's Play Jeopardy!

I'll present the 'correct' answers, followed by the questions I might ask (in addition to the typical why is this position open, what kind of projects do you take on, etc.). See if you agree.

  1. Answer: In various jobs, or even at different times within projects, it is necessary for team members to coordinate activities. In these cases, all team members must make themselves availble for team efforts and these times must be established on a per-project basis by the team leader/manager. Outside of these requirements flex time is at the manager's discretion.

    Question: What is your policy on flex time?

     

  2. Answer: To the extent that appearance is an expression of respect for colleagues, clients, customers, vendors and the organization as a whole, yes we do have a dress code. In all cases attire should be tasteful and business appropriate.

    Question: Do you have a dress code and if so can you explain?

     

  3. Answer: We use objective, concrete goals and criteria for employee evaluations and job assignment, focusing on work product and quality. While this seems more difficult than counting heads and hours, we feel this dramatically improves project management, directly contributing to business success. While some of the technical work may be location independent, the collaborative aspects cannot be overlooked.

    Question: What is your policy on remote work (telecommuting)?

     

  4. Answer: We consider significant overtime on a project a management failure so for any week where a developer works over 45 hours, that employee receives one hour of comp-time for each hour over 40. Whenever total comp-time exceeds an employee's annual vacation accrual, the employee is paid straight-time for these hours. We believe this provides upper-level management with the visibility needed to identify project management and scheduling problems and make necessary adjustments.

    Question: Do you support, and by what means, a 40 hour work week?

     


Copyright © 1998-2007 by Kenneth M. Thompson. All Rights Reserved.
This document is licensed for distribution free of charge under these conditions: