experience by lanyuehua


									                                     David Bulmore



Software developer with many years’ experience in areas such as: Java, C, C++, C#,
desktop (swing), client/server, database, web, UNIX/Linux, and Microsoft Windows. I
have led several projects and utilized several methodologies, including UML and XP. I
have full project lifecycle experience from requirements gathering, design, and
development, to documentation, testing, and deployment.


 Operating Systems: UNIX (most flavors of AT&T and BSD), Linux,
         Languages: Java, C, C++, X(HT)ML, JavaScript, CSS
  IDEs/CASE Tools: NetBeans, Eclipse, Rational Rose, Enterprise Architect
     Build/Test/CM: Ant, JUnit, jMeter, JProbe, Subversion, CVS, StarTeam, Make
              Java: J2EE (Enterprise Beans, Servlets, JSP, JSTL, el, taglibs and tag
                    files), Swing/AWT, XML(SAX, DOM, JDOM, Dom4j), RMI, JDBC,
                    Reflection, IO, NIO, IDL, Networking, 2D, JNI, Applets,
                    Collections, actually use/experience with most Java packages
 Web Programming: HTML/XHTML, XML, CSS, DOM, JavaScript, CGI, REST
                    (RESTful web services), jQuery, jWebApp, Struts, HTML-Kit,
                    HomeSite, Perl, Tomcat, Resin, web standards and table free
     Methodologies: UML, XP, SCRUM
          Database: JPA, Hibernate, jPersist, Oracle OCCI, SQL, Pro C/ESQL,
                    Experience with most SQL-based relational databases including
                    Oracle, DB2, Sybase, MySQL, HSQL, Derby, PostgreSql, H2
   Database Design: Database Design Studio, Erwin, ER/Studio, MySQL Workbench
  Communications: Java J2EE, Sockets, UNIX Sockets, Windows Sockets, Async
                    Communications on UNIX and MS-DOS
    Graphic Design: Corel Draw/PhotoPaint, Fireworks, Paint Shop Pro


I have been working with Java since its first public release, and have worked on projects
that included heavy use of Swing/AWT, 2D Graphics, Image IO, RMI, JDBC, collections,
internationalization, JNI, reflection, object serialization, xml (sax,dom,dom4j), etc. I also
have extensive experience with the use of J2EE (Servlets, JSP, Enterprise Beans, etc.),
taglibs and tag files, networking(sockets, RMI), and CORBA. I have a great deal of
experience with the Java language and most of the Java packages.

Java J2EE

My J2EE experience includes extensive development of servlets and JSP using the
expression language (el) and JSTL. I’ve designed and developed a web application
development framework which I call jWebApp.

Having developed servers for several client/server projects/products, I’ve also gained
plenty of experience with EJBs. I’ve used stateful and stateless session beans and
message beans.

Web Development

I have many years’ experience in web development. This consists of HTML, XHTML,
CSS, JavaScript, Java, Servlets, JSP, JSTL, el, taglibs and tag files, CGI, CorelDraw,
Corel Photo-Paint. I have a complete understanding of HTML, CSS, web standards and
table free design. I have developed several web sites, including a company web site at
http://www.softwaresensation.com, along with web sites at NDCHealth, Honeywell/Bull
and AlliedSignal.

Object-Oriented Design Skills

My object-oriented design skills include thorough studies (starting in the early 1990s and
continuing for many years) of Booch, Rumbaugh, Jacobson (combined into the Unified
Method, and now known as UML), Coad/Yourdon, and UML. I have experience with the
Rational Rose, TogetherSoft, and Enterprise Architect CASE tools and have designed or
been involved in several design projects.

I have been involved in projects from the requirements gathering to testing and
deployment. I typically start with requirements gathering (customized subset based on
the IEEE requirement specification), and quickly start building use cases. I will typically
also start modeling with deployment and component diagrams, working deeper into
detail with package and class diagrams. Depending on the audience and need for
detail, I will also model activity, state and sequence diagrams.

Database Design Skills

My database design experience consists of thorough studies of Date, C.J. An
Introduction to Database Systems, Volume 1, Reingruber, Michael C. and William,
Gregory W. The Data Modeling Handbook, Connolly T., Begg C. and Strachan A.
Database Systems.

I have used several data models in my career and have been involved in several data
modeling projects. I am very familiar with design tools such as Database Design Studio,
ERwin and ER/Studio, and I have a thorough grounding in the concepts of entity-
relationship modeling, database structure diagrams, atomicity, and normalization.

My UNIX experience includes four years as a system administrator, and while I have
considerable experience with UNIX system administration, my heart is actually with
programming. Having had the system administration experience and knowing the UNIX
system libraries as I do, I can write excellent UNIX C/C++ programs. Some of my
experience with the use of the UNIX system libraries includes in-depth knowledge of
UNIX signals, multi-threading, UNIX IPC library calls (pipes, bi-directional pipes, FIFOs
with mknod -p, semaphores, message queues, shared memory, etc.). I have
considerable experience with file I/O and terminal I/O.


I have a ton of working experience with C/C++ (more than 10 years), and this experience
has included two company-sponsored training classes on object-oriented programming.
The first was based on the book Object Oriented Design with Applications, by Grady
Booch, provided by Rational Systems, Inc. This class included training for the Rational
Rose OOD Case Tool. The second class was an eight-week course provided by ASU
on-site at Honeywell/Bull and basically combined several design methodologies.

I have developed several complex products, several of which were multi-threaded. I also
developed a logging library, a memory-debugging library, and a template-based
collection/algorithms library named the Memory Structures Library (MemSL).


I have been programming with C for most of my programming career and my C skills are
excellent. There are not likely to be any areas in C that I have not uncovered. I have a
complete understanding of pointers, scope, control statements, etc., plus experience
with several different compilers on several different systems. I have developed a rather
unique style, which is based on the ADT (Abstract Data Type) style of procedural
programming. ADTs allow the programmer to design C programs in a more object-
oriented fashion.

Graphic Design Skills

All images on all my web sites were designed and created by me and, as an amateur
photographer, all pictures were taken by me. I have in-depth knowledge using
CorelDraw and Corel Photo-Paint. I have also used PaintShop Pro, Macromedia
Fireworks, Adobe Illustrator and Photoshop.

To top