Week 4 - A Link Between Worlds
by Andrew Hogan
June 6 - June 10
by Andrew Hogan
June 6 - June 10
On Tuesday, the company held it's Sprint Review for Sprint 4.5.
While awaiting details for my next project to work on, I was invited to observe a primary project one of my peers works on weekly: a generic YAML parser. YAML, in very short, is a data serialization language, which is used to translate an object into a format for future retrieval, and they're generally used in the setup of configuration files. A YAML parser retrieves, reads, and writes to .yaml files within the file system.
While I may not work as closely with his project as another one I've been assigned, it brings up many core challenges that I'll face as a software developer that I hope to acquire ground on. Very frequently, the programs we design need access to other processes within the system, or it needs access to the filesystem to pull and alter files. Python supports many kinds of functionality that allow for influencing the filesystem and operating system processes with packages such as pathlib and os.
These techniques have always appeared advanced to me, and I felt shy accepting a task like this at first because I never studied much beyond Python's native IO methods. I've since been assigned another task that will require me to implement a method returning the contents of a directory as a list, programming my script to utilize Unix commands.
Another challenge I faced this week was bridging the technologic divide between operating systems we all use.
I operate on Windows. And, yes, I've gotten plenty of flack for working and coding in a Windows environment as there are oftentimes incompatibilities or nuances in technical competency and techniques between different operating systems. For Windows, there are many terminal interfaces on Windows that engage with the filesystem: Command Prompt, Powershell, Azure Cloud Shell, to name a few. The unfortunate downside to having so many choices is that they're not universal in their syntax.
Also, generally the preferred choice for developers is macOS, and ideally Linux and Unix since these systems are more universal.
Luckily there are tools available that can close the gap, such as Git Bash that allows me to operate a Unix terminal in a Windows environment. I've already taken a light course on Bash commands, so now it's just time for me to dust off and put it into practice.