It is difficult to sum up what the last three months have meant to me. I have reached the last day of my residency at Codesmith, and it feels like the entire experience flew by. I remember my very first week. I was nervous, overwhelmed, stressed, and unsure.
Now, I look back with a group of amazing new friends and tons of experience under my belt. I remember the second day of that first week - the senior cohort was split into groups, and each group gave a presentation. The presentations were very professional, and each member of the group had a turn talking about a product that they were planning on developing.
At that point, most of the technologies that they were presenting were completely foreign to me. I had no clue what they were talking about. Each team member spoke with confidence and authority, and our tech mentors assured us that we would also be doing the same presentations to our juniors, and the cycle would continue in due time. A month later, the seniors presented their completed Production Projects; all of them were incredibly impressive dev tools that were meant to help improve the life and work of software engineers.
A few weeks after that, the time came for us to graduate from our junior portion and enter what is called Ideation Week. On the last day as juniors, our Production Project groups were announced and, after several presentations and requirements, we were sent off on our own to ideate!
My team decided to take the weekend off to rest after the incredibly busy six weeks that had just passed and get started ideating on that Monday. We had a few deadlines to meet, mainly presenting our ideas and getting them finalized within that week. We got to work thinking about what technologies interested us and how we could benefit the dev community. We split up to start doing research.
The scope was vast and overwhelming, and initially, it was extremely difficult to narrow it and pinpoint a direction or focus. There were a few frustrating moments, I won’t lie, but later on, I realized that this week plays a valuable role, and there is a reason for it.
I learned about so many technologies that I would not have had the reason to come across at that moment in time. I watched videos, I read blogs, I learned concepts, and I learned about different companies.
I learned about issues that developers were facing in regard to certain technologies and frameworks. So many things that were once foreign to me now are familiar, and I am able to speak on certain concepts at a high level based on what I learned during Ideation Week.
We finally settled on an idea to build a tool that would generate GraphQL schemas based on metadata from non-relational database schemas. Sounds fancy, I know! We came up with a name and a concept, and we decided that instead of a web app, we would make a desktop app.
We first presented our project to our lead instructor, and he told us that we were on the right track with our idea but that we needed to make some tweaks and solidify some of how we were planning on executing our app and come back to him the next day. We did just that, and the following day we got the official stamp of approval!
Once our idea was settled, we started planning it out more completely and then casually started working on making our webpack, thinking it would be a simple task. We realized that every step of the way, using Electron, the tool that would allow us to build a desktop app, was going to be a challenge.
The four weeks of working on our Production Project were probably the most transformative for me. For one, working alongside incredible engineers that then become incredible friends is the best part of the experience. I would never have been able to learn as much as I have on my own.
Secondly, working and familiarizing myself with the same codebase for a month, knowing what each line of code does, what is in each file, and how to make changes and hunt for bugs is something that I hadn’t yet had the chance to do.
Knowing that our product was going to be out there in the world for everyone to see and use really gave us a bit of extra motivation to make something great. The entire month feels like it went by in a flash, especially the last week or so when every second of every day felt like a sprint to the finish line. The night before the launch, our team stayed up all night working on packaging and deploying our app.
That last part was a very difficult journey, and there were many moments where I felt doubtful that we would figure it out as we were running into so many roadblocks right at the very end. Once it was successful and there were no errors, we were triumphant. The morning of the launch, we got back on, published our articles, and announced our product.
It was a huge win. We worked on our presentation and that evening presented our product to the rest of our cohort. It was bittersweet. On the one hand, I was super proud of what we had made. On the other, it was sad to think I wasn’t going to spend every day with these great friends building cool products together.
Birthday gift from my Production Project team
This is really what makes Codesmith special. Not only did I build an amazing app, but I also built an amazing network.
Blog written by Steven L., Codesmith NY Cohort 23
Codesmith's senior portion is designed to allow residents to work together and create their own technology. Read this blog to learn more about the second half of the immersive program, or learn more about the other projects that have been built by our talented graduates.