An Overview of Systems Design & Codesmith’s Hiring Portion
Caching, load balancers, message brokers? Becoming an engineer requires more than just learning to...
We have finally reached our final week at Codesmith. If the Junior portion felt as if the days were long and never ending, I'm here to break it to you that the Senior portion is exactly like that—just kidding!
In this blog, I want to dive deeper into the different parts of the Senior portion that made my whole experience here at Codesmith memorable.
Having a lecture with Will Sentance
SENIOR PORTION VS. JUNIOR PORTION
The Senior portion is a whole different ball game compared to the first six weeks of the program. If you aren't familiar yet, Codesmith's Software Engineering Immersive Program is divided into 2 parts: “Junior Portion” is what they call the first half of it, and as you would have guessed, “Senior Portion” is what they call the other half of it.
These two portions are quite different from each other. In the Junior portion, you will have your lectures about topics in Codesmith’s core curriculum, introducing you to concepts such as Data Structures, Algorithms, Object-Oriented and Functional Programming, as well as technologies like Node.js, Express, ReactJS, Redux, and SQL/NoSQL to name a few.
Initially, you will usually have 2-day modules to work on after every lecture, often times with a new pair programming partner. Another interesting part that makes the Junior portion unique is that after you've gone through all the core lectures, you then move on to the “Project Phase.” This is where you apply all of the knowledge you've taken in, to build and implement different kinds of solutions to specific problems, which could take the form of web applications or anything else you might think of.
Then you move on to being a Codesmith Senior.
This is a whole new level of challenge, and during this time, a lot more is expected of you. There are a lot of tasks to be done, and you will work and grind as hard as you've ever done so before. You will hit bigger blocks. There will be sleepless nights, days when you run on coffee—the whole shebang. But the good thing is, all of that will eventually pay off. You will accomplish greater things that will make you feel amazing, confident, and proud of your personal growth.
MENTOR/MENTEE SESSIONS
One of the first things I remember uniquely about becoming a Senior is the mentor/mentee pairings. As a Senior, you’ll get matched up with a resident from a cohort who is just about to start the program, and throughout the program, you will get scheduled times to chat and check-in with them, have code reviews, etc. It's a great opportunity to engage and be closer with people in other cohorts, and you also help them ease their worries when they turn to you for advice to help them navigate the program better.
IDEATION WEEK & PRODUCTION PRODUCT
After your last week as a Junior, you immediately are thrown into the madness that is called 'Ideation Week', which is regarded as “probably one of the hardest weeks at Codesmith” by people who have gone through it.
To give you context, you will get four weeks to develop and build an Open Source Product that solves a senior developer problem. This product could either be in the form of a Desktop GUI, a CLI tool, a node library, prototyping tool, or even a cluster monitoring tool. The possibilities are endless.
Ideation week is a time you and your production project team is going to decide which senior developer problem you want to tackle and come up with a great solution for. It is a time where you explore and research deeply about what kinds of new technologies (especially ones that aren't taught in the Junior portion) are out there, what the pros and cons are, and what might be best for your group to utilize. You will come up with ideas to pitch, present, and subject to either rejection or approval. It's a tough week that will require discipline, coordination, and constant communication with your production project group.
After you get approved, the weeks that follow are just as intense. You are expected to come up and present a Minimum Viable Product in a short amount of time, so it's best for your group to be realistic with your sprint goals, get organized, and have a system in place. Luckily, Codesmith teaches you agile development strategies that could help, and ultimately, it's up to the group to implement that and see what works best. I've personally learned how important time management is, as well as being transparent and having constant check-ins with your team.
My Open Source Product group having standups
Once you've accomplished your MVP (and maybe even a few stretch features), you then prepare for “Launch Day.” This is an exciting time where you switch from development mode and prepare everything needed for production. You will also be spreading the word to the public about the new product you've made, and it will feel very rewarding accomplishing something as tough as what you had just gone through. This is personally where me and my group worked the hardest, to make sure everything needed was met, be it our product's website, our product documentation, or launch articles we needed to write.
TECH TALK
On top of the business that comes with the production project phase, you will also give a Tech Talk about a technology-related topic sometime during those weeks. I think this is a really unique aspect about the program, which helps you hone your technical communication, as well as your public speaking and presentation skills. I suggest choosing a topic that you are interested in learning more about, and making sure that it ties up nicely with your personal narrative.
HIRING PREP
Your last few weeks at Codesmith will be focused more on the Hiring Portion of the program. To career changers like myself, this is extremely valuable information. They have lectures that help you become aware of what the hiring process is like, how to best present yourself, speak about your engineering experiences, and how to negotiate offers. They also have workshops that help you work on your algorithm diagramming and whiteboarding skills, system design interviews, as well as behavioral interview questions.
Fun times with the women of Codesmith
FINISHING UP
I absolutely loved my Codesmith experience. To me, it is life-changing. I am proud of the technical and personal growth I had during my time here. I'm glad I decided to take the risk to change careers and go through this rigorous program. I even found life-long friends that made the journey so much more bearable and fun. It is always bittersweet to close a chapter in your life, but I think I'm well-equipped to handle what comes next—maybe even excited!
Blog written by Allana O, Codesmith LA Immersive Cohort 43.
–-
Hear about another LA resident’s experience in the Junior portion in this blog post by Vicki.
Caching, load balancers, message brokers? Becoming an engineer requires more than just learning to...
It’s no secret that a key to having a successful career is having a good mentor, someone who can...