#+SETUPFILE: ../../../template/level-2.org
#+OPTIONS: ^:nil
#+OPTIONS: _:nil
#+TITLE: Reflective Questionnaire
#+DATE: <2021-02-04 Thu 12:05>
#+AUTHOR: vaeringjar
#+EMAIL: vaeringjar@land
#+DESCRIPTION: Answering some questions someone asked me.
#+KEYWORDS: blogging


* Reflections

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

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.

     
#+BEGIN_QUOTE
What do you like to work on the most?
#+END_QUOTE

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.


#+BEGIN_QUOTE
What about your job do you find difficult?
#+END_QUOTE

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.


#+BEGIN_QUOTE
Can you discuss your top three achievements from the last year?
#+END_QUOTE

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.


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

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.
