The First Week of My Software Engineering Journey: A Codes and Challenges Odyssey
Introduction
My first week as a software engineer was a whirlwind of learning and growth. Little did I know, this experience would set the foundation for a lifelong career in technology. My first job was as a C developer at a pre-series-A startup called Sookbox, which has since gone out of business due to competition from Chromecast. However, the lessons learned during my first week shaped my career trajectory as much as the company's fate.
The Assembler Challenge
My first taste of the professional world was a baptism by fire. Upon arriving at the company, I was informally enrolled in an Assembler class, which was scheduled to start immediately. The enthusiasm with which this was presented initially thrilled me, as it was an opportunity to learn a new language. Over the past three decades, my passion for learning continuously has never waned, and this remains part of the job for me.
A fellow intern who joined at the same time, however, expressed his skepticism, stating that he already had a degree in programming and believed he was hired to work in C, not Assembler. Unfortunately, this skepticism clouded his future and it ended up being his last day at the company.
The Internship Adventure
My first software engineering job was an internship at Sookbox, a startup that had yet to secure series-A funding. One of the projects I worked on during my first week involved building a Pandora app for the Sookbox device. Initially, I was asked to write the backend of this app in Python and the frontend in HTML/CSS/JS. However, I had zero prior experience with any of these languages or frameworks.
The first week was challenging, but also exhilarating. I found myself floundering, much like trying to fix a television after learning how to wire a lightbulb to a battery. Here are the key challenges and lessons learned during that pivotal week:
Learning the Basics
Before diving into the Pandora app, I had to get my bearings in Git and Python. My knowledge of Git was practically non-existent, and I had zero experience with assembly or backend development. I started by familiarizing myself with Git using some basic commands:
Git Commands:
git add .
git commit -m "some text"
git push origin master
git pull
To master these commands, I relied on various online resources and tutorials. It was a steep learning curve, but it laid the foundation for my version control skills.
Building the Pandora App
The primary task was to build the backend of the Pandora app using Python. Since I had no prior experience, I struggled to write functional code. The breakthrough came when I discovered an open-source Pandora client implemented in Python called Pithos. Pithos served as a starting point for my backend work, and its source code became the cornerstone of my development efforts.
As for the frontend, I had no prior experience with HTML, CSS, or JavaScript. To tackle this, I spent the rest of the first week working through tutorials to understand the basics of these languages. Familiarity with these tools was crucial for creating a user-friendly interface for the Pandora app.
A Lesson in Dedication
That summer after my first year in college, I gained invaluable experience. Although it was my first job, I realized how much I still had to learn. The struggles and challenges of that first week shaped my approach to problem-solving and continuous learning. The excitement I felt at the start of my career remains infectious, and my passion for learning new technologies has only grown over the years.
The first week at Sookbox was a defining moment, not just for my career but for my personal growth. It was a testament to the transformative power of learning and the importance of embracing new challenges with enthusiasm. It's a reminder that even the most daunting tasks can be conquered with perseverance and a willingness to learn.
Conclusion
My journey as a software engineer began with a challenge that seemed insurmountable at the time. However, it was precisely this challenge that ignited my passion for technology and set the stage for a lifelong career in software engineering. The lessons learned during my first week at Sookbox continue to influence my approach to problem-solving and my unwavering dedication to continuous learning.