Joel Elliott

Computer Programmer

Mission

To solve real problems, by writing excellent software.

As of now (in 2022), I have 17 years of experience in cross-platform application development for a corporation. I have an unending interest in learning, and already have experience from Assembler to z/OS, and from SQL modeling to the details of HTTP, and I look forward to gaining new knowledge and experiences whatever is next.

Someday (perhaps in retirement), I would like to develop software similar to Audacity or FFMPEG.

Senior Developer @ EXL starting 2022

Details pending.

Lead Programmer Analyst @ American National from 2004 - 2022

  • Primarily developed and maintained components of a policy administration system for personal insurance, working with COBOL and .NET.

  • Promoted five times since initially being hired.

  • In 2020, as a co-team lead, helped maintain numerous legacy systems, with constantly changing priorities as we transitioned to a new admin system.

  • Helped lead a project to implement eSignature integrations with a vendor system.

  • Wrote, revised, and maintained a simple application logging infrastructure.

  • Wrote a generic implementation of HTTP 1.0 in COBOL, using IBM modules for TCP/IP and DNS.

Web/Open Technologies

  • HTML - in ASP.NET applications, as simple proof-of-concept demonstrations, and even generation of raw HTML pages out of COBOL. Also a few side-project websites (like onetimepad.glitch.me).

  • CSS - as needed for basic functionality, and to add clarity to presentation; nothing very fancy.

  • ECMAScript (javascript) - only raw text. That is, I have written plain javascript for hundreds of lines in modules, but I have not (yet) used TypeScript, or any large frameworks past borrowing them to solve a single problem.

  • XML - as the primary format for webservices and documents.

  • Utilities - Chrome (developer tools), Notepad++, WinMerge, Paint .NET, Postman, Google Docs/Sheets/Forms/etc, Audacity (occasionally recorded and edited as a hobby).

Microsoft Platforms

  • C# and VB.NET - significant development and maintenance over many years. Mostly implementing business projects, but also including version upgrades, migration from VSS to TFS, and redesigning API's to be more clear and useful. Mostly applications hosted as IIS websites, but a few desktop "Windows Forms" applications as well.

  • Microsoft SQL Server - as a component of some complex applications, I helped design and maintain multiple databases for years.

  • Active Directory - as needed to maintain application permissions, and some trivial research and development.

  • Utilities - Visual Studio, SQL Server Management Studio, Word, Excel, Outlook, Active Directory Users and Computers, OneNote, Teams.

  • Deprecated - grew up learning DOS batch commands, through Windows 3.1 and all major versions since.

Mainframe Technologies

  • COBOL - years of application development.

  • CICS - terminal screens (using SDF II), called modules, webservices exposed over CWBA, and also using third party software (InnerAccess > DataDirect > Rocket, and z/OS Connect).

  • DB2 - countless one-off queries and reports, and frequent use in application development embedded in COBOL programs.

  • JCL - batch job applications, and regular use for utility purposes (search, compare, ftp, etc).

  • Utilities - TSO, SDSF, ASG-SmartEdit, AbendAid, ZEKE, BMC Catalog Manager, XPEDITER, SYNCSORT, IDCAMS, SDF II.

Soft Skills

  • Documentation - I advocate for an open system of documentation, on the internal company network. I prefer MediaWiki (Wikipedia's software), but any system is great if it is both searchable and easy to edit. While I strive for self-contained technical clarity, I see major limitations of this within most systems, and have found this need best met with a collaborative documentation system.

  • Research - I am very comfortable both independently researching questions online, and also asking for help whenever needed. I love to learn all of the details of the systems I use, often going to reference documentation, and usually becoming one of the most knowledgeable about all systems within my domain.

  • Mentor - As I became the expert on various systems, I have found more and more people coming to me with questions. I am happy to share knowledge, although sometimes I "go too fast". Loving to share knowledge is partly why I advocate for a wiki system, where we can grow the collective understanding together.