Arktos kai Mennos

Arun Vijayshankar's blog

View My GitHub Profile

Tags

programming mathematics rust python permutations networking linearalgebra embedded linux device-drivers cpp c vpn ssh settheory mindfulness digital-circuits counting

My first “official” programming project

Published on , under:

Today I wrote my first ever code for a work project. Well, technically it’s the second time, but the first time doesn’t count as I was just changing variable names in someone else’s library. First, some background: over the past year, I have been steadily working toward transitioning from software tester to software dev. I decided to go for the self-learning model as it best suited me as a full time employee. I started learning the CS fundamentals of data structures and algorithms, and for actual development, I mostly used python, as it seemed friendly to me. Also because I like snakes (I know, I know, it’s a Monty Python reference, not a herpetological one). I also wrote a few things in C, because I love C. In parallel to theory, I started a project to get some hands on experience. I wanted to work on something I am actually invested in, so I started writing a password management system. I managed to get the backend all squared away, using redis for the backend, and python for middleware. The front end is still in the backlog, as I’ve just started learning frontend development. Interested parties can find it here.

Working on side projects is a lot of fun, but I really wanted to get my hands dirty by working on an officially sanctioned project at work. As mentioned previously, I am a software tester. Testers do not usually get to write code. But as has been frequently been pointed out to me, there are always opportunities to work on interesting things in my team, for those who ask for it. In the past, I have been reticent to ask for something I wanted to work on, because, “gasp! what if they actually give it to me?? And I can’t do it!? The horror!”. Now, however, I was tired of letting fear hold me back from doing the things I want. I’m tired of standing at the sidelines watching people play. I decided to jump in and ask for a coding project. My manager said he’d see what he could do. A few weeks later, he asked me to think of a way to automate a rather tiresome task my team had been doing manually for the past few months. I came up with an idea and ran it by him, and he pulled in a few more people, and before I knew it, I was adding it as a feature to a bigger project. The project is implemented in python, and it uses a DBMS that I haven’t used before (i.e., anything other than redis), but learning it has been a lot of fun. I wrote two modules today, and after a few hiccups, I got them working!

There are a few more challenges to overcome before the feature can be pulled in, but I’m quite optimistic about it. If it is implemented in the coming weeks, not only will it be useful to others in my team, but it will be the first feature that I developed!