When asked if he’d classify himself as a consultant, Will Greenway replies that he is an “ex-consultant who turned coat for steady work.”
Will, who now works with a company that provides technology services to the U.S. government, claims that he didn’t choose IT as a career as much as IT chose him: “I was the only one in a graphics shop that knew what a computer and modem were,” which made him “an ‘expert’ when there was a vacuum of competency.”
He says he enjoys the intellectual challenges in his current job and feels particularly satisfied when he can make someone’s business a little better. Since most of his current work revolves around the government, he’s experienced a little culture shock while making the transition from consultant to full-timer.
Recently, Will shared some of his experience and expertise with us.
A pitiable partnership
TechRepublic: You used to be a consultant—for how long?
Greenway: I did the consulting gig from 1986 to 1997. I started out just selling and installing hardware but ended up doing software and integration because margins were considerably better.
TechRepublic: What lured you away from it?
Greenway: Consulting is a feast-and-famine business. I initially had a decent team to help me, but lack of honesty, determination, and plain willingness to work forced me to leave five partners by the wayside. Too many times, I'd be onsite with a client only to get another "urgent" call for service in a location 40 minutes away and my "partners" would have other—not related to the business—issues to take care of. At the core of all this, I was going to school full time.
TechRepublic: Wow. Wasn’t such a full schedule difficult to manage?
Greenway: It was. Somehow though, I could still manage to schedule and support my customers and keep them happy. Strangely, my "partners" could never seem to find the time, and I was constantly supporting their clients, too. While the extra cash was nice, it all got to be too hectic. When a chance at stable money, a 40-hour workweek, an insurance plan, and 401(k) came along, I was ready for a break.
TechRepublic: What are you doing now?
Greenway: I work for a services company that provides contract work to the U.S. government as a programmer.
TechRepublic: What's the biggest difference for you between consulting and a regular, salaried gig?
Greenway: Being able to make rational rather than political decisions. Often when working for somebody else, you do not do what's best but what you're told to do. Even if you know (and advise) that the decision will have consequences later on.
TechRepublic: Does that happen often with your current job?
Greenway: At least once a week, I'm told to do things (by the government project manager) that either make no sense or have negative consequences. I've lost count of the number of times I've told the government customer that the end user making the request will decide they really don't want it that way.
They say, “You will do it anyway.“
So I do. Two weeks later: “You will put it back the way it was.”
TechRepublic: Sounds like this is a sore spot for you.
Greenway: Well, yes. Remember, these are your—and my—tax dollars at work. I've been directed to chase phantoms, researching stuff I know is impossible, on numerous occasions, wasting dozens of hours developing code that will never be used or see the light of day.
TechRepublic: Would you go back to consulting given the chance?
Greenway: I would if I knew I had a solid team that wouldn't flake out on me. There have been offers and opportunities, [but] so far, nothing promising enough to tread the uncharted waters again.
The joy of Java
TechRepublic: What has been your most challenging project?
Greenway: The development of a testing tool for the U.S. government…. In the initial [stages], I had to perform all phases of the development life cycle, from the design and architecture through to the implementation, testing, and documentation. The application is a multiplatform tool written in about 300,000 lines of Java and portable “C.” It performs system-level analysis and does things Java was never designed to do. All Sun’s engineers ever [said in answer] to most of my questions was, “Why would you want to do that?” I still have nightmares occasionally.
TechRepublic: Was that project successful? Are you proud of the finished product or just glad it's all over?
Greenway: The testing tool was successful as a proof-of-concept. Even after two years, it's still not done, mostly because I'm a one-man development team and the government keeps changing the requirements. I am proud of what has been finished so far. The tool itself is an application for testing DoD (Department of Defense) software segments.
TechRepublic: How does it work? Or is that classified?
Greenway: The core test engine creates a snapshot of a UNIX or NT system's configuration by analyzing files, permissions, and environment. These are all things Java doesn't have support to do and for which special code had to be written.
After a software application installs, another snapshot is performed, and a database of the system deltas is created. Test objects (also written in Java) are loaded dynamically and run against the analysis information and do whatever heuristics can be determined post-install.
One interesting aspect of the tool is that tests can be added and removed from the application without recompiling the engine, as long as the Java test objects are written to conform to the APIs we designed. Another is the portable “C” libraries that I wrote to give Java access to low-level system info.
TechRepublic: Sounds very cool. Is it fast?
Greenway: The engine can snapshot a drive with 100,000 files on it on a 66 MHz SPARC 20 in about 45 seconds—it's quicker on a fast NT box. The delta engine can perform the 200,000 comparisons for a delta between the two snaps in around five seconds—most of that is waiting for the Java VM to create the objects that represent the data.
TechRepublic: You definitely crossed some uncharted territory there. Was Sun helpful after the initial “Why would you want to do that?” response?
Greenway: I attended Java One and asked some engineers about some of my latest conundrums—wanting to read the Windows system registry and get simple access to environment variables and file permissions. The only answer I could really get from them was that most system-level stuff was not "portable" and they would not be working on any platform-specific issues. Interestingly enough, though, their new graphics APIs work with DirectX! That's about as platform-specific as you get.
TechRepublic: How long have you used Java?
Greenway: Since it came out as version 1.0 beta—-1997.
TechRepublic: Any plans for certification?
Greenway: When the time and money make it worthwhile. With the industry in a slump right now, it's a bad time to be looking. The government work, while not as high-paying, is at least stable for the time being. Even that is beginning to dry up.
TechRepublic: What is your ideal job?
Greenway: My ideal job is one that offers a high percentage of creative challenges. I really enjoy working on a team that’s really clicking. It makes you think nearly anything is possible.
TechRepublic: Okay, last question. If you were to be marooned on an island with access to ample food and water and had an opportunity to bring only one inanimate thing with you, what would it be and why?
Greenway: The complete unabridged The Wheel of Time series by fantasy author Robert Jordan. After I spent a year reading all 10,000+ pages, I could burn the volumes like logs to keep warm. Alternatively, the complete SAMS “Unleashed” Technical series: I could probably build a bridge home by stacking books.
Tell us about your IT career
What milestones, challenges, or windfalls have marked your career path? Send us an e-mail or post a comment below and tell us about yourself.