I was in your shoes for the first half of 2018, looking for a Bootcamp to fast track myself towards a career in software development.
I finally decided on Codesmith (for reasons I will describe below), and got admitted into the program in November. Six life-changing months later, I accepted an offer as a mid-level Software Engineer in July 2019.
A little context first: I have spent my time at Codesmith as a Resident (3 months) and a Teaching Fellow (3 months), experiencing the program both as a participant and a facilitator. This has given me the unique privilege of seeing 5 separate cohorts (over 60 residents) with little to no software engineering experience come into the program and go on to earn 6-figure salaries as Mid-Senior level Software Engineers (check out the CIRR report on Codesmith- https://cirr.org/data, and https://www.codesmith.io/graduate-outcomes). I think there are 4 specific parts of the Codesmith program that leads to these accomplishments:
First, Codesmith sets you up for success before you even join the program. For evidence of this, look no further than the free advanced JavaScript workshops (check out https://codesmith.io/coding-events), free exercises on CSX (https://csx.codesmith.io/) and Bootcamp prep course, CS Prep (https://www.codesmith.io/bootcamp-prep). All of these serve as community-building (you will meet many of your future cohort -mates), and to prepare you for the technical interview to gain acceptance into the program.
The interview itself is quite challenging and might even require more than 1 attempt, but you will be gauged on qualities that are markers for success in the program and in your career as a software engineer (technical communication, problem-solving ability, and approach to tackling unfamiliar concepts). I urge you to attend any of these free JavaScript workshops for an insight into the excellent pedagogy and supportive culture at Codesmith (make sure to stay for drinks afterward on Thursday night!).
Second: Pair Programming and working in groups. Almost the entirety of your residency at Codesmith will be spent working with a partner or in a group. There’s been a deliberate decision to make almost every part of the program collaborative, as this reinforces the qualities needed to succeed as a software engineer. How do you prove your expertise when doing interviews for software engineering roles? By technically communicating software engineering and web application concepts, much as you did in your first 6 weeks at Codesmith. When you get hired as a Software Engineer, you will almost definitely be working as a part of a team in an agile environment- much like you will in your last 6 weeks at Codesmith. Your experiences at Codesmith will translate directly to real-world benefits in both applying for engineering jobs, and excelling at them.
Third, the creation of Open Source Developer Tools. In the last half of your program at Codesmith, you will be tasked with creating an Open Source developer tool, going from conception to working product in less than 4 weeks. It is absolutely a difficult endeavor, but the rewards are well worth it.
While most Bootcamps have simple CRUD applications as their capstone projects, building developer tools gives you deep, specific knowledge on key web application concepts. This will also help you gain real-world engineering experience while working in an Agile environment, and is a huge reason why Codesmith grads get placed in Mid-Senior developer roles out of the gate.
Finally, the hiring program and post-program support. I feel like this is Codesmith’s best-kept secret, and is worth the cost of admission alone. Applying for engineering roles requires a different set of skills than being able to carry out the job itself. Most of the program takes care of the latter, and the hiring program tackles the former. You will learn everything from crafting incredibly effective resumes and structuring your applications and outreach messages to acing your interviews, eloquently discussing your software engineering narrative, and the all-important salary negotiations. These are all invaluable skills that will carry you from your first mid-senior engineering gig through the rest of your software engineering career. After the program, you will have bi-weekly check-ins to gauge your job application process leading up to your first job placement.
If you are driven and intrinsically motivated to progress as a Software Engineer, Codesmith will give you all the necessary tools and resources to succeed. But keep in mind, this drive and motivation is essential. The program is undoubtedly tough from admission to graduation, and expecting to be spoon-fed information will only lead to disappointment. Being persistent and working hard to improve yourself and your peers, however, will lead to success both during your time at Codesmith, and in your career as a Software Engineer- I’ve seen it happen time and time again.
Note: If you’re interested, I highly recommend visiting https://codesmith.io/coding-events for the next Hard Parts. The in-depth JavaScript knowledge you’ll gain from these workshops is invaluable, regardless of whether you choose to attend Codesmith.
]]>Unfortunately it’s hard to talk objectively about something when you’ve become so personally invested in it, and when its community has become your second family, but I’ll try.
Codesmith has warm and fuzzies aplenty, but these exist solely to better serve the development of the students here. Codesmith demands a lot from you – “immersive” doesn’t begin to convey it. The small cohort sizes mean that every single person is an integral part of the bigger team.
The program is established enough to have thoroughly iterated its curriculum and pedagogy, but young and agile enough to still be continually iterating and adapting (e.g. recently including units on Docker/AWS and ML). All of the technologies you’d expect from a fullstack JavaScript program are here, of course, but way they’re instilled is (I think) unusual – lectures are given to provide a general overview of a particular subject (say, Redux), but then you are forced to work together to fight through the code implementation and do a lot of active, hard learning. While support is *always* available on multiple levels, there is zero hand-holding. Every bit of knowledge is hard-fought, and that’s the kind of knowledge that sticks.
The curriculum is only a small percentage of the program, though – after the first several weeks, all of your time is spent working on projects of various sizes with varying objectives, with the free reign (if not outright pressure) to push well beyond the confines of the standard MERN stack into technologies like gRPC, GraphQL, Kafka, and whatever else you can imagine. In additional to expanding the scope of your tech fluency, it forces you to practice real-world practices like Scrum methodology, Kanban boards, Git workflows, and just general empathetic team engineering.
The hiring portion is also intense. You might not realize it initially while your brain is struggling to digest new and disparate technologies every 2 days, but every step of the program is designed with the ultimate goal (the job search) in mind. The reason why Codesmith outcomes are so impressive is that students are constantly being pushed to think not just in terms of how to use a certain technology, but *how* that technology fits into the larger tech landscape, and why certain choices are better than others when it comes to architecting software. Projects have to be approved by the team – to make sure that what they’re working on will grow them as engineers that will be very soon sitting in the interview chair. Resumes are repeatedly iterated upon and also must be approved before the end of the program. Mock interviews and systems design whiteboarding sessions pepper the last several weeks.
I imagine all “bootcamps” (for lack of a better word) are crucibles of growth to a degree, but it’s very hard to imagine one that has the precision and intensity that Codesmith does. It’s hard to imagine other environements where people can willingly, joyfully, engagedly spend 13-16 hours of their day productively engaged in growth.
I’m a bit uncomfortable with how evangelize-y and preachey this review is, because it goes against my general skeptical, jaded nature, but Codesmith really is an unusually special place. I’m a person from a non-technical background (I first pondered the idea of learning to code in January) and generally lacking in self-assuredness, but Codesmith has in a short period of time gotten me to a place where I feel genuinely confident to enter the coding workforce, and not just at an entry level (not that there’s anything wrong with that). I’m already seeing it happening in my cohortmates that have secured amazing jobs, and I see the growth in myself.
Also, I forgot to mention this earlier, but Codesmith is very explicitly welcoming of people from all backgrounds (speaking as a person who is trans, at least). Again, I’m sure other programs are fine in this regard as well, but from the team down to the fellows to the residents, the amount of representation from all walks of life is really inspiring.
Okay, this is already way too long, and I honestly don’t know why you’re still reading. If you’re on the fence, go to the free weekly workshops (JavaScript The Easy Parts or Hard Parts) and say hi. There are no gimmicks or nonsense. What you see is what you get, and what you put in here is what you get out.
]]>After completing Codesmith, I understand why the students are able to achieve the results Codesmith speak of. I had the chance to attend another competing coding program free of charge, but I decided to pay $18k for Codesmith and I do not regret it at all.
The process to get into Codesmith is very unique, but it is not extremely difficult if you work hard, attend the meetups, and come with the right attitude. The reason I say it’s unique is because for some crazy reason, Codesmith never fails to bring in the right candidates that are smart, hard working, supportive, and fun.
During the core curriculum, we are always pair programming. This meant that we quickly learned to digest difficult technical concepts together and communicate these concepts to our peers. Being able to pair program everyday has allowed me to honed my technical communication, which is important for interviews and on-the-job. The Codesmith team is always making the curriculum better or adding new units to the curriculum because they want to do whatever they can to prepare the residents for the current market.
During our project phase, we were always working in teams (other than the solo project). We would have meetings and daily standup and the projects are always collaborative, which is great because it is very unlikely that you would be working alone in the professional setting. We also have a project where we have to iterate over another group’s codebase, which is something that you would be doing when you join an engineering team. So it is just great that Codesmith prepares us for that.
Our final project is like no other – we have to build an open source developer tool. Currently, Codesmith residents have created tools that has 10k+ stars on Github. If you’re like me a few months ago, you might actually be intimidated by this final project. The truth is Codesmith does an excellent job preparing us during the junior portion that we are all able to build a tool that we are proud of. It is definitely challenging, but it is totally rewarding at the end.
Another thing that brings Codesmith to the next level is the hiring portion. We learned to build a robust resume that really makes us stand out and we were taught interviewing techniques that would not be taught at any other programs. I can honestly say that it has made me a more confident interviewer and the things we were taught has made me grow as a person. My fear before graduating Codesmith is that I will take an offer because I want a job and not because I like the company and the role, but the things that I learned through Codesmith has given me the confident and skill that I can pick and choose.
If you’re like me, I wanted to join a program with great people that I can form lifelong bonds with and that is what drew me to Codesmith. Codesmith has a great sense of community and the culture is great – come to any of the meetups and you can see for yourself. The team and residents are super supportive and it is always a great time. Codesmith is like family and if you are ready to work hard, play hard and take yourself to the next level, this place is for you.
]]>There are three things that I think set Codesmith apart, and are things that I would like to highlight for people wondering why they should choose Codesmith over other programs.
Curriculum integration:
There is no shortage of options out there for fullstack engineering programs, and a lot follow a similar or identical tech stack to the one you will receive here, but Codesmith’s execution in this respect is what sets them apart. Here, Codesmith focuses on two key elements to progress you through the program’s completion. These are pair programming and collaboration. The core curriculum is divided into units, and each unit covering a web technology is followed by a pair programming session with another resident to complete a related challenge. This strengthens your technical communication; you are challenged not only in putting into practice what you just covered, but also navigating the communication required to effectively present the concepts of the technology and your thought process to another engineer. Once you move into the projects phase, you are placed groups with other residents in order to prepare you for the collaboration that will be required of you at a job, when you’re working as part of a team. It’s also important to note that the projects aren’t given to you, like assignments would be, but instead are ideas and tools that you and your group come up with and decide to work on.
Hiring program:
When considering what you’ll learn from an engineering program, usually the focus is on the tech stack and the technical skills you’ll pick up, but Codesmith has a period of time set aside for something just as important for people who will be entering the job market. Navigating this market, and standing out in it requires a different kind of preparation, and a professional presence that not many take the time to craft. Codesmith educates its residents in everything from crafting distinguished resumes, to increasing conversion rates through strategically composed applications, to tightening communication and confidence throughout the interview process. The best part of it is that the support doesn’t stop once you graduate. Codesmith continues to follow up as you go through the application process, and give you feedback, and offers help through things like mock interview practices and emotional support.
Community:
I’ve saved community for last because I believe it’s all-encompassing, and is probably the best descriptor of what really glues all the best parts of Codesmith together to create the best engineering program experience. It is not an exaggeration for me to call Codesmith a family. If you’ve ever had the chance to come to a few of the meetups hosted by them, you can get a glimpse of the strong sense of community between everyone involved at Codesmith, residents, staff, alumni, and visitors alike. This is something that is nurtured every step of the way during your time as a resident in the program. The pair programming, the group projects, the support encouraged between not just the staff and residents, but also between the residents as well. This sense of community carries on way after graduation, with a strong network of alumni and staff that are always happy to help in any way they can.
Above and beyond is really the only way I can describe my Codesmith experience. My time there has marked a clear distinction in my life as far as the person and engineer I was before, and the person and engineer I’ve grown into by having gone through it. It has been the most challenging and most rewarding investment I’ve made in my education and professional development. It requires a great level of grit and perseverance, for sure, but when you emerge on the other end, you do it with a family of peers and supporting staff that provide you with a sense of community, and with the technical knowledge and experience to know that any engineering challenge you face is just another obstacle like the many ones you’ve just surpassed.
There are so many more things I could say about Codesmith, but I hope this review helps anyone considering taking this next step in their career.
]]>