Software Development

What I Do Best

Server-side, test-driven development

Programming Languages

Comfortable Working In: Java (advanced), Python (beginner), SQL
Dabbling In: Node.js
Completed Tutorials In: R, Go
Mostly Forgotten But Could Resurrect: Objective-C, C#, VB.NET, Smalltalk, C, C++

I can follow code written in most languages.

Scripting

Javascript, Bash

Markup

HTML, rST, Markdown, JSON, YAML, XML, CSS

Areas of Interest

Blockchain
Cloud Native
IoT, Raspberry Pi, Arduino
Mobile Applications
REST APIs

Favorite Tools

IDEs: Eclipse, Pycharm, VSCode, WebStorm
Editors: Atom, gedit, ReText
Others: FileZilla, GIMP, Insomnia (API testing), Shutter (screenshots)

Operating Systems

Linux (Ubuntu, Centos), Mac, Windows

Technical Areas and Skills

A Shuffle Down Memory Lane

I remember playing text-based games on a Commodore 64, which means I must be getting old!

The Early Years

Computer Science wasn’t a subject I studied in college. Sure, I took Calculus and a class in BASIC, but women from my socio-economic background were expected to be teachers not engineers or scientists, if they went to college at all. So I graduated with a degree in History and a minor in Comparative Literature. Then I taught English as a Second Language for four years in Taiwan, returned to the US and earned a degree in Commercial Photography, decided I as too old to be treated like dirt by egotistic photographers, and opted to follow my older brother into the world of IT. Year 2000 (Y2K) remediation was ramping up, so companies such as Compuware were hiring people with an aptitude for programming and then training them in mainframe. I flunked the test Compuware gave prospective new hires. Fortunately, the Resource Manager encouraged me to take a Logic class and try again. I passed! Compuware sent me along with a group of about 20 new hires to Detroit for three months of mainframe programming training. Upon our return, we had to take another test, this one on COBOL and other mainframe languages. I flunked, so Compuware moved me to its Emerging Technologies group, where I learned Smalltalk and taught myself Java.

Compuware

The main project I worked on involved reading utility meters over the WAN and was funded by an external startup. The team had four developers doing C and C++, two tech writers, and 3-4 Java developers. The Java developers worked on software for field technicians, with a Java Swing UI. It was a great group of people, and I learned a lot. The biggest argument we developers had was where to put the curly braces in our code. We were on the bleeding edge - continuous integration, pair programming, and Agile complete with sticky notes stuck to a conference room wall. Ward Cunningham, Kent Beck, and Martin Fowler were worshiped at an almost unhealthy level. Lots of camaraderie, ribbing, and practical jokes. After a couple of years I found myself in a lead position on the project, mentoring new college hires. View the nitty gritty details in the Compuware Corporation section of my resume. Sadly, all good things must come to an end. As the project funding was reduced, so was the staffing. I decided to move on to another consulting company where some friends worked.

Centare

Out of the frying pan and into the fire. My first assignment was working on an order and inventory system being written in C#. So I learned C# on the job and spent an inordinate amount of time clarifying requirements. Truthfully it was not an enjoyable stint. The next assignment was equally odious: working on a financial system for a hedge fund company located in a moldy office building. At least the office pranks were prime.

The ‘Reach Out and Touch Someone’ Years

I had had enough of consulting and wanted a steady development job in a single location. By this time, my brother, Andy, was working for Ameritech, which had just been gobbled up by SBC. Andy secured me an interview with the hiring manager, who wanted an experienced developer to bring good software development practices to his group. I fit the bill. Years later, the hiring manager told me what sealed the deal was that when asked to explain Struts, I drew pictures on the whiteboard while explaining Model-View-Controller architecture in terms an old mainframer could understand.

Facilitating Bureaucracy

For 12 years, I facilitated bureaucracy as part of the Technology Governance group. My first assignment was not to port code from ASP to Java but rather from ASP to VB.NET, so I learned another language on the job while leading a team of two junior developers and a DBA. The next assignment was also to port an app from ASP to VB.NET, despite my arguing for the app to be rewritten in Java and Struts. The ironic part was that the “approved” language for development within the company was Java, here was the Tech Governance group creating an app in a non-standard language… and the app was used by developers to request an exception to use a non-standard language or technology. Eventually we developers were able to convince management that our group’s application really should be written in Java, so once again the porting began. The nice thing about working in the Tech Governance group was that it was small, so we wore many hats - requirements analyst, project manager, architect, developer, DBA, tester, tech writer, end-user support, server support, and whatever else the Executive Director wanted me to do. I learned Objective-C and iOS development in order to build a mobile app that would earn my boss some brownie points with his boss. The mobile app connected to a RESTful API back end, which pulled data from a database that contained information on all the home-grown apps in the company.

Drifting

The people filling the leadership positions in the Technology Governance group took a buyout package in early 2015. The team became the proverbial hot potato, with nobody at the appropriate level wanting to take responsibility for our group. The team was split up, and I landed in a Java development group working on the AT&T Java Service Container. I was asked to do several Proofs of Concept rather than contribute code directly to any single initiative. My role transformed into more of a researcher than a developer. When reorganization loomed, I pursued an opportunity with the AT&T Integrated Cloud.

The Cloud

The AT&T Integrated Cloud had recently formed a team dedicated to contributing to OpenStack projects. The team was staffed with new college hires, so management was looking for an experienced developer to provide leadership. My duties were varied, and I felt that I really drove success within this group. I built an extensive team wiki, providing tutorials, community interaction guidance, and internal team procedures. I love open source projects and dived right in, becoming an active member of the Women of OpenStack working group, contributing patches to various projects, attending conferences, and building relationships with companies, developers, and tech writers from all over the world. Because of this interaction, I was able to move to a fantastic opportunity with AT&T Labs.

Open Source For All

I joined Toby Ford’s organization as an open source Lead on a team that was 100% dedicated to involvement with open source communities. Once again my duties varied - developer, tech writer, technical project management, and tester. I interacted with OpenStack projects and became involved with Linux Foundation projects (OPNFV, ONAP). We were able to travel not only to conferences but also to week-long developer meetups. It was a blast! After Toby left in 2017, our team was reorganized into AT&T Research, who had never heard of OPNFV or most of the initiatives we were working on. With our mandate changed, I broadened my areas of interest to Cloud Native technologies. Due to budget cuts, our travel was severely restricted, and our involvement with open source communities suffered setbacks. During my last year, I was only involved with the Acumos project. The rest of my time was spent on internal initiatives that involved using open source products but not being directly involved with external communities. Eventually I was let go along with many others due to not working in one of ten designated metro areas. To stay with AT&T, I would have had to apply for a position in one of those metro areas and relocate at my own expense. I chose to view this departure as an opportunity to pursue working with the open source communities I have come to admire. In the uplifting words of Buzz Lightyear, “To Infinity and Beyond!”