Banner Image

1 Reflections

Can you tell us about any professional development you participated in last year and why it helped?

At work I found myself providing the training and professional development more than I had done for myself. For example, many of my coworkers do not have experience in the same programming languages let alone an academic background in programming that I do, so I spent quite a bit of time either in groups or one-on-one reviewing code and explaining best practices and my own personal preferences and why I follow them. My top consultations are probably python and csharp. Related to this, I also started regular meetings with my immediate peer developers last summer to discuss best practices and agree on programming style by consensus.

On my own time, I had attempted to expand my achievements. Around this time last year I started the process of returning to PhD studies this last year and I applied for some grants. I continued this until about April when I realized I did not have the bandwidth to pursue it while also dealing with the side effects of the pandemic. However, I had been able to use that knowledge to help others through the same process of applications and grant writing.

Another activity on my own that I kept up for the entire calendar year or 2020, I pitched three and kicked off two capstone projects for the CS students. Only one of the projects ended up with a viable product, but all of them related to domain knowledge that I have applied to my day job. I learned how to use poetry (a python package) and docker compose (an orchestration tool similar to k8s), both of which I have used in recent projects. I use poetry in everything now and now I have an alternative orchestration tool. Another of the capstones interviewed the advising staff and I used details from that to fix some minor issues in my web apps.

     

What do you like to work on the most?

For all the tech stacks I currently have on my plate, I enjoy working with python the most. It's a well designed language with an excellent ecosystem. Thanks to type annotations and the wonderful free software packages black, mypy, and tox, I can write code that will hold up in almost any programming language, should we decide to migrate, regardless of the paradigm.

What about your job do you find difficult?

Like finding a weak muscle that needs exercise, I spend quite a bit of my time planning what to do in addition to just doing those tasks. I think this overhead has lessened over the last year, though I still have a large enough tech stack to manage, with no single goto to discuss all of it.

Can you discuss your top three achievements from the last year?

We had an automation tool that acts as a transceiver between our school and the federal government. We had called it TDClient, a proprietary file transfer tool, though I renamed it to saig_portal because most of the work is unrelated to that tool and I figured I would future proof the name in case they ever decide to use sftp or rsync. The original was python2 and apparently was never able to successfully upload files. When I finished, I had migrated it to python3 and we could upload files.

Related to another python2 to python3 migration for our custom APIs for our ERP, I have been able to make improvements to the orchestration by using docker compose. The original system, which is currently in production, uses a series of custom scripts to configure and deploy each container. My new version uses docker compose for each container, with a single configure script (which if you've ever used autotools, which it doesn't but it mimics, so developers will be more familiar than our custom scripts), and for the main web apps, I simplified the uwsgi so all file mutations happen in var. Though we have not completed the language migration (which is a moving target because we have seven new apps in development right now), what I learned from the orchestration is something I'll be able to reuse in almost any tech stack that uses containers.

As I mentioned earlier, I feel like I have been able to make a positive impact on several developers, whether on my team or on my (virtual) floor.

Do you have any hopes with regard to tasks or professional development for the next year?

I would really like to help my team finish migrating all of our python2 code.

For future development, if all goes well with the world, I plan on applying for my PhD in computer science and continuing to volunteer as a capstone sponsor.