Chuck Glenn - Professional

I love Java, and I've used Java to build some very complex web-based applications and web sites. Of course to do any of this also requires skills in JavaScript, HTML and CSS. My skills extend from these front end technologies back to file systems, web services and SQL databases. I've written a forms framework and tag libraries, database libraries and even a fully run-time configurable (data-driven) application called "QuickApp." It detects its own WAR file name, then connects to a JNDI data source named to match (plus "DataSource"), and from there uses database info to determine which users have which roles and what to show on the menus, forms, reports and such. It allows for user-configurable forms, menus, batch jobs, workflow queues and processes, reports and data import and export using comma-separated files, all data-driven to allow for fast run-time changes. It has become very capable and I continue to add new features to it.

I used QuickApp to implement 7 different applications (most of these used inside the company), and since it is mostly data-driven, QuickApp allows new features and functions to be rolled out without any code promotions. It can also be used as the starting point for more complex applicaitons because of a mechanism which allows custom-written code to be invoked before, after or in place of default behaviors (such as getting a list from the database table, updating the currently-edited row, retrieving values for select boxes, and much more).

Along with my five-person team I also maintain three public-facing web sites dedicated to document publishing and third-party information exchanges. I am considered the "main coder" since the team leader spends most of his time handling logistics, paperwork, server maintenance and those sorts of things. Coding is what I prefer to do, but I also support our production environment, moreso when it's my turn to be the "on call" support person for the team. This sometimes involves getting paged in the middle of the night and diagnosing issues and having servers restarted, database blocking sessions killed, and that sort of thing. These sites use Spring for MVC, a forms library I wrote to simplify forms handling, and my database library for data persistence.

I tend to be the one on my team who gets the most difficult tasks, or tasks that require new skills or techniques. I also help train and support my more junior teammates. Unofficially I also clean up smelly old code and simplify it, which is something not enough programmers do in my opinion. In keeping with that philosophy I strive to write code to be as readable as possible, and to create solutions that are succint without being rigid.

I've always been an autodidact. I learned computer programming around 1980 in High School on an Apple II. I learned BASIC, then 6502 Assembler, then went into the Marine Corps and taught myself COBOL. From there I taught myself Java around 1999 and have been using Java ever since. Although all these things were self-taught, I am working on my formal education, although I started in my mid-40s.

I hold a Bachelor Degree in Computer Science from UMUC (Summa Cum Laude) which I did gradually over 7 years.

I'm currently working on my Master of Applied Computer Science at UWG. I'm 54 at the time of this writing so I probably won't bother with a PH.d. My brain isn't as flexible as it once was and at this point I'm cruising toward retirement instead of ladder-climbing or career-building.

And because I want to learn as much as my brain can handle (which is a lot, but obviously not infinite), and because college degrees are expensive, I'm also taking courses online with Coursera. I highly recommend their courses for anyone who wants to learn something but doesn't need a degree. Some courses offer certificates for a small fee, and many are free if you don't need a certificate.

I started computer programming in High School (Walnut Ridge, Columbus, OH) where I graduated in 1981.

From there I joined the Marine Corps so that I could have a paycheck. From 1981 to 1987 I was a computer operator and then a computer programmer using COBOL on HP3000 mini-computers. I was stationed in Washington D.C. and married someone from there, so when my service ended I looked for something in that part of the world.

From 1987 to 1997 I worked for Schinnerer & Company in Chevy Chase, MD. This was mostly using COBOL on HP3000s, but we also used a few 4GLs during my tenure. When I hit my ten-year anniversary I decided it was time to try something different.

From 1997 to 1999 I did consulting work for two different companies who supported an HP3000-specific healthcare maintenance application called "AMISYS," and then I worked for AMISYS, LLC for about a year. This is when HP first announced their intentions of shutting down the HP3000 line, so I taught myself Java in order to move on to something with a future.

From 1999 to 2002 I worked at circle.com in Rockville, MD. We wrote Java back-end web sites for third-party clients. I wrote a content management system for them and used it implement a new Humane Society national web site (hsus.org). After that the "dot-bomb" emerged and the company closed down due to lack of work.

In 2002 I worked for about a year for a small company "PCR Educator" who needed to convert their applications to something web-based. I continued to hone my Java, JDBC, HTML, CSS and Javascript skills there.

In 2003 through 2004 I worked for browserMedia (in Bethesda, MD) where we built web sites for third-parties. My supervisor pushed me to learn more about popular Java frameworks like Spring and Hibernate.

In 2004 I was contracted at Wells Fargo, and then transitioned to a permanent position where I have been ever since. Early on I worked with a contractor who turned me on to "design patterns" which provide a really good way of describing the broad strokes of what I had been doing intuitively, and offered some clarity in how to implement some types of designs more intentionally. I also have since learned test-driven design and Agile development.