17 years experience as a full-time computer software developer. Doctoral and master's degrees in music performance and musicology (historical and analytical research); undergraduate degree in mathematics and music.
Other: Harpsichord performance, organ, clavichord, piano, classical recording production,
music arrangement and editing, composition,
basso continuo improvisation, tuning harpsichords by ear. Conversational in
Spanish and German, and able to read French.
Designing and building business and public service
IVR
applications:
VUI designer (Voice User Interface),
Visio and database-driven call flows,
voice dialogue design,
Web applications and
modeling,
EPOS Firstline Encore and ScriptExpress (IVR tools equivalent to Avaya Dialog Designer or Nortel/Periphonics MPS: Media Processing Server Developer),
Nuance speech recognition, voice talent coaching,
Audacity.
Other background skills aiding IVR design:
SQL Server 2000/2005 database integration and design, PL/SQL stored procedures,
Oracle,
XML,
HTML,
CSS,
ASP (Active Server Pages),
JavaScript,
data conversions, web development, copy editing, documentation, typing
100 wpm.
Learned some C#
and
ASP.NET 2.0
in February-April 2008.
Role: Programmer/analyst position designing and developing customer applications, preferably IVR. I do call-flow analysis for interactive self-service and administrative systems. My projects often include customized databases.
I design and build automated phone systems to ask clear, courteous, short questions. The users find them natural and intuitive, like conversation. The systems accomplish important tasks quickly. A caller must not get confused, or stuck in frustratingly worded choices!
My major projects 2000-2008 have been for large corporations, state and local governments, and universities. The user interface is typically telephone touchtone (IVR), speech recognition (VUI), and/or web-based. Communication is typically with a business layer of SQL Server stored procedures and tables, XML web services, or with a legacy mainframe host.
Location: My residence is in Dayton Virginia, about 125 miles from either Washington DC or Richmond.
I prefer a mostly-telecommuting arrangement from an office in my house, if possible. This has worked very well full-time from 1999-2008, with internet and phone connections. Daily commuting to Bridgewater, Harrisonburg, or Staunton is also OK. Charlottesville, Winchester, or further are possible once a week, if most of the work can be prepared from home.
Occasional team meetings in a larger office, or business trips to client sites, are fine at milestones in a project and to promote collaborative effort. Travel time should be less than 10% of any typical day or week. I do not waste unnecessary time, money, or gasoline simply moving my body around. Most of the work could already be finished on a computer connection or with telecommunications!
Family time with my wife and two small children is also a very high priority, when off-duty from job hours...and they keep me asking clear questions.
While my technical skills are fine and always changing, I prefer to emphasize my effective principles. I have been required to learn new toolkits, business procedures, and connectivity in almost every project, developing innovative cross-tool solutions. In many of these I interfaced new and old systems: doing data conversions and closely analyzing the business rules on both sides, to build improvements into either the databases or the user interfaces.
With training, examples, and an opportunity for on-the-job real world use, I pick up new environments and tools quickly to be able to build solutions in them. I thrive on flexibility, pattern insights, modification of in-progress models, and team cooperation with different skill sets.
Carefully elicit what the customer really needs, from the
untrained user's perspective.
Design a business process and user interface to serve that need in the most natural, intuitive, and flexible way while remaining cost-effective.
Learn
new systems quickly, and be able to see it somebody else's way to understand
what they're asking for.
Catalyze the best work from colleagues; lots of people already have good ideas, or can be convinced to develop them.
Work
diligently, accurately, intelligently, and creatively...giving plenty of time
to prototyping and revision processes.
Build and use reusable parts from similar projects, wherever practical: examples that have already been successfully tested.
Train
the client to understand and troubleshoot most of their own product
intelligently, since they own it.
Test the system thoroughly and proactively during all stages of development; expect the unexpected, and ask all the silly but plausible questions.
There
are at least three workable solutions to most problems; find five, and know
how to get to a best one with the available resources and requirements.
As with a bridge game, or accompanying music on keyboard: success comes as much by being a capable, reliable, communicative, nurturing, flexible partner as by raw skill.
If something goes badly, acknowledge it politely once and move on; if something goes well, acknowledge it politely once and move on.
Somebody is always going to know better; let them.
Be able to communicate the system, and understand the problem, at all levels of detail...or none.
Without being patronizing, an effective end-user solution should be mostly graspable by a child: elegant, attractive, and transparent. Don't create unnecessary problems that make the user apprehensive or confused.
Being
able to get to something resourcefully is almost as important as knowing it
ahead of time.
To get a task done well, focus on nurturing talent and understanding.
Excellent
work sells itself by example and by clear presentation, not by hype.
Interdisciplinary perspective into a concept is valuable; recognize appropriate patterns wherever they exist.
A several-page history of my programming career is available, including more details about my business style and documentation habits. [ Continue...]
© 2008 Bradley Lehman