Essay for U/ST Graduate Program in Software

Dated: August 14, 2012

I first learned how to program while I was in 9th grade math class. This was before Apples, Radio Shack’s TRS-80s, and not quite a decade before the introduction of the IBM PC with DOS. This was in 1974 and our high school used an HP 3000 Timesharing system with teletypes (paper tape input and paper roll output), using BASIC.

Upon my second year in college, I changed my major to Computer Science, and was hired as a fulltime employee of Burroughs Corporation (later known as Unisys), as a computer operator and taking “CompSci.” classes on a part time basis in the evening hours. After 2 years, I was promoted to computer programmer. Eventually, after 10 years, I earned a Bachelor of Science in Information Systems from University of Redlands, CA, in 1987.

For 29 years, I worked at Unisys, obtaining various promotions as well as increasing my depth and breadth of work experience and skill set by working at various company locations, starting in Detroit, and moving to Los Angeles, and lastly a move to the Twin Cities. With each relocation and new position, I always learned new IT skills along the way. I acquired position titles such as: mainframe application programmer/analyst, mainframe database administrator, mainframe systems administrator, as well as BMC Remedy software developer.

What programming languages do I know? Since I attended college in the late 70s and early 80s, I was taught COBOL, FORTRAN, and PL/I. However, the language I extensively used at Unisys was ALGOL (a variation called NEWP is used to implement their mainframe Operating System, Compilers, and system software). If you are a programming language history buff, you may know that ALGOL is considered to be the father of most “modern” programming languages such as Pascal, C, JAVA, etc. I am now using the BMC Remedy IDE to develop, enhance and maintain ITIL based applications, and been doing this type of software development for about 7 years. In 2010, I completed a 3 month JAVA certificate program, but do not have any real life work experience with this language.

I have extensive experience with database design, developing numerous application databases from scratch, as well as enhancing applications whose databases have 100-1000 tables, with some tables having 100-1000 fields (columns).

Why do I want to attend and complete this program? I have been in the IT field since I was 21 years old, working for one of the 5 largest mainframe manufacturers in the world. My skills are current in some respects but also hugely outdated in other respects. I need and want to learn about new things such as Data Mining, and Data Warehousing. I partially understand some Object Oriented Programming concepts, but want to really understand and use all aspects of it.

I met my best friend Kelsey B. in 1988, who was enrolled in the College of Saint Thomas Master’s program in software development, and I distinctly remember attending his graduation ceremony in 1991 – this was the event that spurred my initial interest in this program. I became quite interested in the program over the years, but I always had an excuse not to enroll. Instead, in 1993, I completed the College of Saint Thomas Mini-Masters in Software Development 13 week program. Seven years later, I completed the University of Minnesota’s 6 month “client/server” certification program in 2000, learning Oracle, SQL Server, Visual Basic and PowerBuilder. But, I never enrolled in the Master’s program. Due to a “perfect storm” with my work and personal life, I feel now is the right time to enroll and attend these classes.

Due to formal training, and due to more than 20 years of actual software development experience, I consider myself to be a professional software developer. But, am I really? There are so many new ways to program (functional, declarative, etc.), new ways to think about analysis and design (use cases, RUP, etc.), new methods such as peer programming, rapid development, and new tools – all of which I’ve heard about but had to learn on my own by reading books found in bookstores. The time has come to actually attend classes, and get the necessary formal classroom education.

We all know a lot of our learning comes from the work place, but it’s also true that if you stay in one environment for a long time, you may not get a chance to learn about new tools, new methods, new ideas, etc. As an example, Extreme Programming or Agile Programming – both of these are relatively new methods used to develop software, but if your workplace doesn’t use these new methods, how do you go about to learn them? How do you teach them to your co-workers and/or influence management or teammates to adapt them, if you don’t have any education regarding them?

The majority of this essay was written toward the programming aspect of software development. But there are new concepts and methods within the entire Software Development Life Cycle to learn about. New ideas regarding Requirements Gathering, Systems Analysis, Release Management, Writing quality software the first time round, Project management, and so forth.

This is why I want to enroll, attend and complete my education at Saint Thomas, in their Graduate Programs in Software, Master’s degree program.

Thank you,
Brian S. Williams.

Leave a Reply