BTS Behind the Scenes is a chance to showcase the people who are making things happen at BTS and give you a “behind the scenes” look into their worlds. In this month’s feature we’ll talk with Full Stack Engineer Carl Eberle and learn about BTS’ role in Baltimore City’s COVID-19 prepaid card project, talk bioinformatics, and see what new languages he’s learning this month (Lojban anyone?).
Word on the street is that your background is in “bioinformatics.” How did your path take you to BTS with a degree like that?
BTS was my first job out of college and I kind of stumbled into it. It’s true, my degree is in bioinformatics and I’m a Biomedical Engineer by education. I came to BTS with the intent of supporting the BIFROST project in that role but fell into the software engineering role, full stack development, etc. At graduation time, I really thought I would be doing computational engineering or medical device manufacturing but, well, it’s a little different compared to what I’m working on right now.
Speaking of current projects, tell us about the COVID-19 prepaid card project with Baltimore City and your role in it
The COVID-19 prepaid card relief program is a city-funded, OSI-administered, community-based emergency assistance initiative where up to 15,000 applicants can get approved for a $400 prepaid card. Essentially, BTS came in to help get the website over the finish line in time for the launch as a different group had already started the development. We came in to a half-finished project and had a hard deadline fast approaching to get it done. With a single Github repo and some partial deployment instructions, we focused on changing the deployment platform to something we knew better, building out the text messaging services, and switching to AWS.
What does it do exactly?
We essentially built the intake portal for a COVID financial relief prepaid card. Community organizations will evaluate the financial aid requests from applicants going through the sign-up process, receiving a voucher code, and then getting their COVID-19 prepaid card after processing. There’s a built-in review process to validate and check through duplicates, etc. It’s really meant to be a smooth user experience that ensures data integrity and legitimacy of all submissions.
What are some of the key ingredients of a great project like this?
First of all, practical demonstrations. For example, in school, we had a yearlong design project which didn’t actually require students to produce anything functional at the end. The students that didn’t have any working demos in the end didn’t have a good grade but our team for example, had a working demo with documentation. We came in 2nd place out of all the submissions for our tracheostomy tube pressure monitoring system to prevent tissue necrosis. For this project, every single time there’s a change request we push to have a demonstrable item to show the team each week. It’s important not to underestimate the value of tangible deliverables- they make a good impression, you gain practical experience, and you learn from your mistakes.
Another core ingredient is planning: Ideally, a project’s biggest time spend is in the design phase. Unfortunately, in the case of this project, we inherited a project with a lot of completed parts but only a vague idea of how it all was supposed to operate. There were so many unknowns that we had to spend a ton of time learning, digging into, and redesigning before we even touched the code. Front-loading that initial planning work first made delivery of the whole project possible. If we had not taken that time, we probably would still be asking what needed to be done to get the site finished on time.
I’d also say you have to be responsive. We’ve made sure to closely work with our client to integrate their needs with our development process and this ties into my first point. You need to have a working demo to be able to work in iterative changes as the project progresses. Make changes, give feedback, repeat. Without a working demo, we would have been trying to make changes blind.
Well, that sounds simple enough!
Ultimately, the project is “simple” in the sense that it’s a website with a straightforward form that goes into a “simple” backend. But there are so many pieces: a database, static file storage, deployment resources, GIT repository, security, etc. So, I guess “simple” isn’t really the main word I’d use to describe it.
What kind of impact will the prepaid card project make?
Most importantly, the financial impact for so many families in Baltimore City will be huge. Beyond that, this project is structured in such a way that it could be replicated, rebranded, and re-used for any kind of similar program. It could certainly be repurposed for other Baltimore City projects and beyond.
Switching gears, how are you filling the time during COVID-19?
I’m a homebody by nature so the restrictions and lock downs haven’t really changed much for me. I read a lot of fiction. I’ve also dabbled with learning different languages like Lojban and Esperanto. I occasionally work on personal software projects or other things.
It’s a not-very-popular proposed language based on unambiguous syntax. The best way to put it is that no one could confuse what you say even if they misinterpret what you mean. Tone and intonation aren’t part of the language, it has rigid structure, and was originally intended to be a language to talk to computers. I actually hated learning languages as a kid but the reason I picked this up now is that I was interested in constructed languages. There’s a great subreddit all about it too.
Anything else you’re interested in?
Fanfiction, scifi, fantasy, MLP stuff. I write short stories too.
Speaking of MLP, we hear Bronycon is dead?
There were just diminishing returns of people coming so now everyone is going to Trotcon in Ohio. There are rumors of a new show but other than that everything is stuck where it is. Most of Brony culture is online anyway so COVID hasn’t impacted it much.
What kinds of connections do you see between your writing and software development?
When you write a story, you have to plan it out. It’s very rare to find an author that just starts from nothing and then produces a complete story. Most writers frame out the chapters and what happens in them, etc. It all takes planning and it’s not that much different from engineering. You have to think about what’s going to happen next and make sure it makes sense or else you’re not going to get anywhere.
Lastly, is it true you’ve taken almost every math class that one can take?
Pretty much, yes. Math heavy engineering is great like that.