Software Engineer
|
William W. Sellers 3809 Greystone Legend Place Oviedo, FL 32765 (321) 279-3313 |
If you need an experienced
software engineer to create high-quality software, be a fast learner and a team
player, then look no further. You will look good. Your customers and investors will be
happy.
High-Quality
Software: Do it right the first
time! Get excellence in design and
code. Don’t waste time and money finding, tracking and fixing simple mistakes.
Get full use of methods that help bring out errors automatically. Get comments and documentation that are
meaningful and well-written.
Maintainable Software:
Don’t pay expensive salaries so that someone can figure it all out again. Get well-documented software that
explains itself so maintenance work is as quick and smooth as possible. Get it
from an engineer experienced in upgrading and maintaining pre-written work. Use
the engineer whose products are used over and over. Did you ever ask “why did we do that?” six months later?
This engineer will know. He logged
those decisions.
Eliminate Bugs! Find
the bugs that have eluded detection for ages and clear them out. This engineer
can even get the ones caused by compiler errors, corrupted ARP tables or simple
power brown-outs.
|
Platforms: IPhone / iPod Touch Macintosh OSX Carbon APIs Cocoa APIs Macintosh OS Classic FileMaker Palm OS Windows |
Languages: Objective-C C++ C Java, JSP PowerPC assembly MC68K assembly Pascal Postscript |
Tools: Xcode Interface Builder CodeWarrior FileMaker Ant MySQL PostgreSQL |
Other: Cross-Platform code for: MacOS, Windows, PalmOS, SUN, VAX and others International code (L10N) Client-Server applications Libraries and APIs Project re-designs |
Employment History
Sept. 2001 to
Present Virtual
Outpost Title: Senior Consultant
Self-employed independent Consultant/Contractor in software development and computer support.
- iPhone Software Development Experience Includes:
- understanding managed memory versus garbage collection
- quickly finding errors with over-releasing objects from the autorelease pools
- understanding of MVC design patterns
- maximizing layout in Interface Builder instead of coding up view components
- using profiling tools (like Instruments and Shark) to find leaks and performance issues
- use of Source Code Management to maintain easy teamwork and code revision history (specific experience includes Subversion, CVS and SourceSafe)
Products Worked On
o ChronoGami – A streamlined time-tracking program. Available free in the iTunes AppStore. Product website at www.virtualoutpost.com/apps
o
Quizmo - multiple-choice quizzing engine for Licensure
Exams, Inc. The application engine performs quizzes, scoring and sound effects,
Licensure fills in icons, questions and answers from their database of
certification practice exams, and sets each application name according to the
practice exam being purchased. Free and paid applications are based on the
engine. Use the iTunes application
to search for “Licensure” or following this link: http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewArtist?id=300730213
Licensure Exams, Inc website: http://licensureexams.com
o FlashCard - quizzing engine for Licensure Exams. The engine displays flashcard-style questions, flips to an answer, sound effects and allows the user to score themselves. Licensure fills in icons, questions and answers, and sets application name based on which practice exam is being purchased. Application has been delivered to Licensure, but applications based on the engine have not yet been shipped at this date (8-12-09)
- Macintosh Development and Support
o BounceBack product for CMS (see below)
o FileMaker plug-in development C/C++ and Java
o Mac OS X Server installation and support (X-Serve and Desktop hardware)
o Mac OS X desktop client installation, setup, support, and erasure (for retiring hardware)
o Network Troubleshooting
- FileMaker Development and Support
o Database Design and Support
o FileMaker Server installation and support
o Macintosh Plug-in Development
o Java Plug-In Development (in 360-Works ScripMaster)
o PHP Development (with SmartPill plugin)
- Miscellaneous
o Conferences: Apple WWDC, FileMaker Devcon
o Professional Memberships: Apple Developer (Mac-Select & iPhone), FileMaker TechNet,
o Participant in local user groups: FLMUG (Macintosh), FMPUG (FileMaker), OJUG (Java), InDesign Orlando, iPhone Users, CodeTown
Of Special Note:
-April to May 2005 – CMS
Products, Contract development for
Macintosh user interface (GUI) portions of the “Bounce Back” line of backup
products, primarily porting or copying the interface of the Windows product.
This development was all in C++ using the Macintosh Carbon APIs. Cross-platform
code was provided by CMS for the base functionality such as setting up
whole-drive encryption.
-Feb 2003 to May 31, 2003
Imaginary Lines, Inc.:
Contract Engineer creating Java Server Pages and Servlets, for the Sally Ride
Science Club. Goals included
deploying email web pages and a web-based discussion forum. Initial
requirements were to deliver all work in Java, have web content delivered in
XML, and all forum data was to be stored in an SQL database. All content was to
be served with JBOSS/Tomcat. Since I had never any of these professionally, I
had a lot to learn very quickly.
The
email pages work was short, but the initial design direction was scrapped as
too bug-prone and a STRUTS-based page was built. The forum work was to be based
on existing open-source java-based forums, backed by either. This required assessing
the existing candidate systems for a feature-match to the company’s requirements (such as
moderated forums and supported databases.) The selected system was YAZD. The forum data was initially stored in a PostgreSQL database
during development and was deployed using an MS SQL Server.
1999 to Sept.
2001 for AOL, AOL-Anywhere Division-Palm: Title: Senior
Software Engineer Work: Palm Client
Developed C
and C++ software for 3 versions of PalmOS AOL clients.
-
built an
HTML-removal and processing library.
1st target was PalmOS, but it was used by other groups on
other platforms, including WinCE, PocketPC, HP, and SUN computers. The results met the following
requirements so well, I heard “we used that code again” for quite a long time:
o
remove HTML
from email messages
o
be very
stable and maintainable (included self-checking code for debug-mode builds
which automatically detected problems with the tables)
o
use as little
heap space as possible, preferring data be in code space
o
use as little
code space as possible
-
Acted as team
lead for internationalization of the software and worked with the localization
group in Ireland to handle issues. (Such as the inability to create multi-line
checkbox GUI items in that version of PalmOS.) Got a letter of praise from the
localization department. The
resulting code was used to deliver localized apps in many countries and was
used to create branded versions such as the CompuServe and Gateway Palm
clients. When the project was
complete, the team members that had been working on version 2 of the U.S. Palm
client decided to discard their code-base and re-start from the
Internationalized version 1 code-base.
-
Adapted the
user interface elements
-
Worked on an
email Palm conduit for the Mac and installers for delivery.
-
Detected and
eliminated a bug in the main client code-base which had eluded the Mac client
group for over a year. (An
off-by-one bug in a random-choice section resulted in a bad DNS result in 1/11
attempts.)
-
Built a tool
to allow PC-to-Mac and Mac-to-PC conversion of CodeWarrior’s Palm resource
files. This tool also fixed bad PICT resources created by the Windows
CodeWarrior tools. This made it possible to use both PCs and Macs on the team’s
project.
1997 to 1999
for AOL, Advanced Technologies Division: Title: Software
Engineer Work: Software Libraries
Worked in
development and support of AOL’s proprietary PC-Mac cross-platform multimedia
libraries, called the “ART” libraries.
We utilized base routines for compression/decompression of specific data
from our specialists and shipped them with a single encapsulating API. These streaming libraries were built as
plugins to the main architecture to allow parts of the code to be added and
removed, making an application (or an application update) as small as possible.
All implementation was in C with C++ wrapper objects.
-
on my first
assignment, I found a bug which had evaded discovery since the original
development of the library 2+ years before.
-
Designed the
Macintosh ART self-player application.
This application was used to play multimedia greeting cards with only
the exact number of ART plugins needed, minimizing file size. (Important for
customers on modems.) Designed the
user interface (GUI) to be simple and self-explanatory. (No one ever asked me a
question about it.)
-
SourceSafe
and CVS code management systems
1989 to 1997 for BellSouth Title: Systems Analyst Work: Yellow Pages Publishing.
Responsibilities: System Design, implementation, support and
integration for the client-side of a custom client-server system for display ad
creation and publishing. When I started, the system (called SAMSON) was sold as
a commercial product that existed in two versions; client-server and
standalone. SAMSON was later made an in-house-only product for BellSouth after
being identified as a competitive advantage for the BellSouth line of yellow
pages by an independent consultant.
I designed and implemented many new features, re-wrote many old ones
(sometimes gaining 10x performance improvements), coordinated with the engineers
in charge of the server to improve our custom protocols and create new parts of
our communications libraries. I
was also responsible for a cross-platform image codec used on Macintosh and VAX
computers. I met with internal customers to assess needs, gather requirements,
address issues and discuss future development directions. (The two big
questions: What are trying to accomplish?
How can I help you?) I also
provided the last line of support for the Macintosh client applications.
-
Worked through
the complete re-design and re-write of the Macintosh client application project
(one manager and myself were on the project from beginning to end. Other engineers came and went, working
as needed. The project took 1.5 years.)
o
Reviewed,
suggested, documented and implemented new coding standards for the work.
o
Merged the
client-server and standalone versions into a single code base.
o
Changed
development environments from Consulair to MPW (later changed to CodeWarrior).
o
Transitioned
from AppleTalk communications to TCP/IP communications
o
Re-designed
and upgraded user interface elements (GUI) for new object paradigms, faster and
easier workflow, newer OS elements, lower training requirements for users, etc.
-
converted an
image codec library from Motorola 68000 (aka 68K or 680x0) assembly code to C
for portability and maintainability.
Documented same for other developers to use. (CCITT Fax group3 and
group4, LZW, in TIFF files)
-
Moved the
above C-based image codec from Macintosh to VAX
-
Moved all
code from 68000-based MPW projects to PowerPC-based CodeWarrior projects
-
Used
Projector and Visual SourceSafe code management products
-
Integrated
the Houghton-Mifflin spelling checker to SAMSON and TARRIFS (a legal documents
management system) projects
-
Used
packet-sniffing tool to find communications problems. In one case, discovering that the ARP table on a VAX was
being corrupted by bug in Apple’s MacTCP implementation (somewhat like ARP
poison.).
-
Developed a
prototype website for comparing and choosing cell phones. Integrated QuickTime-VR objects for
visual comparisons.
-
Worked on
standards committees
-
Worked with
other groups to develop and implement the first process-color Yellow Pages
system
-
Overcame a
source code problem by hex-editing the needed changes into the binary
executable code to remove a feature from the product.
-
Implemented
onscreen Bezier curves for object drawing
-
Built tool to
examine TIFF files for problems such as missing tags or bad end tags
-
Maintained
company policies of off-sight backups and documentation of software licensing
for the development group.
Education
Bachelor's of
Computer Engineering from Auburn University, 1989. (ABET and CSA Accredited
Curriculum)
Other Organizations
Past Secretary and Treasurer, Greystone Community Home-Owners Association,
Active Member and past President, Orlando Macintosh Users Group (FLMUG.org)
