DEV Community

Cover image for Precipitates, Plato, and Programming
Sergio B
Sergio B

Posted on

Precipitates, Plato, and Programming

To say that software development was always in my future would be a great exaggeration. Sure, I loved video games and computers growing up, but I wasn’t truly aware of the backstage code making it all possible and was more than content to just chicken-peck my keyboard well into high school. Similarly, my experience with school during that time was that I enjoyed learning things in most classes, but there weren’t any that inspired me to step into their greater depths of knowledge. The first one to defy this norm for me was 10th grade chemistry. This subject struck a nice balance between physical and mathematical theories that weren’t much by themselves, and the practice of thoughtful experimentation, to reveal something fundamentally amazing about the universe. Outside of this passion, I had a great appreciation for geometry, French, and even psychology but none could compete with the hands-on aspect of chemistry.

A New World

It wasn't until my digital electronics class two years later that I once again had a class that let me take my knowledge and test it out in the real world. In this class, we were introduced to Boolean logic and gradually guided from there to understand logic gates. Some time after that, we were capable of designing large-scale systems on a breadboard with capacitors, resistors, and many, many wires that would be capable of carrying out a simple objective autonomously. A breadboard.

A circuit board that displayed my birthdate on an LED display.

I was so obsessed with all this that one day at my friend's house, I realized the light switch at the top and bottom of his staircase both controlled the same bulb. Applying what I’d learned, I immediately drew up a truth table for all the switch positions and recorded the lightbulb's "output". I was ecstatic when I discovered that whatever wiring was connecting the two switches to the bulb behaved exactly like a XOR gate. Unfortunately, my friend did not share the same elation and we swiftly moved on to our task of shooting virtual zombies on his PS3, powered by more transistors and logic circuits than either of us could conceive of.

One year and some months after that, I found myself at CU Boulder, totally set to rock my way through the next three years of a chemical engineering degree. The first year had been interesting because I was learning my new rhythm of having independence (albeit in a campus dorm room of ~150 square feet shared with another person) and getting to learn all sorts of new things in algebra, chemistry, and introductory engineering. I was doing quite well but other than my writing course where we had lively discussions hosted by a professor with a passion for inspiring our curiosity, I didn't really feel like I was having an experience worth half of a brand spanking new Subaru Outback. 2023 Subaru Outback

Lovely.

That is, until I reached sophomore year and got into both my Greek philosophy and introduction to computer engineering courses. Here were two classes, on different ends of the conceptual-to-actual spectrum, with dedicated instructors who clearly had a great deal of knowledge and interest in their subject. Through philosophy, I was introduced to some of the earliest conceptions of formalized logic and reasoning that figures from Plato to Diogenes Laertius would use to try and sort out everything from making a government, to why the sun is probably a giant ball of fire really far away from us. Meanwhile, in my computer engineering course, we were introduced to basic programming languages including Microsoft’s Visual Basic in Excel and Matlab’s proprietary language. These were used as vehicles for us to craft programs and functions, conceived in theory and ultimately executed with real data, to obtain concrete figures and plans for the purposes of engineering.

A New Way of Thinking

Through everything I learned and all the tests I passed in my two years at college, the one thing that stuck with me more than anything else was a function I wrote for that engineering class. It wasn’t a very complicated function I needed to program but it took me the better part of a day to reason through. I remember thinking through the problem conceptually and figuring out the different cases my algorithm would need to account for and what kinds of data I should expect. The objective was to write a function that would accept two circles given the radius of each, along with the distance between the two circles. The function would then need to calculate the area taken up by the two circles, including the case where they overlap, without double counting any area. I remember getting to the end of my coding, plotting a sample curve to test whether my program worked, and just staring at the resulting graph.
My beautiful area plot.

My function plotted for circles of radius 1 and 2, from a distance of 0 to 4 units.

It was exactly what I was imagining but it was a testament to the true power of logic and computation to bring a concept out like that into the real world. And that’s also what led me to realize I had chosen the wrong major.

To Begin Again

After a long bout with myself and careful stock of my situation, I decided to return home and focus on many aspects of my health I’d completely neglected in the single-minded pursuit of being able to say I got a chemical engineering degree. I ended up working real jobs for a while, a harsh contrast to the only one I’d held before as the overnight receptionist for the campus dorm halls. I worked at grocery stores for a couple of years before moving into retail where I was able to go from unloading trucks at 5 AM on a conveyor line, to running a whole department by myself. And after a couple years of that, I decided I’d had enough and joined Amazon to start from the bottom again.

Coincidentally, I ended up in the stow department focusing on something much akin to merchandising at my previous workplace. Although this place was in large part run by algorithms talked about by my coworkers as if they were pagan gods or some force of nature.

I'd hear things like, “the system doesn’t like it when you try and put two similar items in the same bin!” and “the system goes around trying to clean up any little mistake we make.”

Over the next two years, I gained a lot of experience and slowly formed a picture of how the processes in the warehouse flowed and even got to learn how to troubleshoot them using our inventory website. Now, it’s clear to me how people’s interactions with the digital systems built into and behind the scenes of every Amazon warehouse influence the environment and culture of such a workplace. Seeing this and reflecting on my past experiences and the opportunity Amazon has put in front of me through Flatiron School fills me with resolve.

To the Future

I don’t have a “master plan” for what I want from software development but I do have 3 goals in mind:

  1. Gain more autonomy in my career options, hopefully starting out with a higher-paying position within or close to my current Amazon Fulfillment Center.
  2. Host my own website that I will build to represent me, my interests, and any fun or interesting projects I choose to share.
  3. Learn enough about mobile development to work on my own grocery list app, partially inspired by living with my roommates.

I am learning how to learn more than I ever did in all my schooling and I can’t wait to be challenged more than I’ve ever been in this bootcamp. I am excited to begin a new journey of discovery and enter into a community of people making things we rely on that not everyone really stops and thinks about. Lastly, I am looking forward to sharing what I learn and getting to know people extraordinarily different from myself that will also use this medium to turn their conceptions into reality.

Top comments (0)