I am just finishing up my full time software engineering bootcamp through Flatiron School. When I decided to attend a software engineering bootcamp I had no idea what to expect. All I knew was that I loved the small amount of coding I had experimented with and I wanted to pursue a career doing it. I did a lot of research going into the program and I tried to prepare myself as well as I could, but at the end of the day, I was still taking a big leap of faith into a world I knew little about. So you've decided to pursue a bootcamp and you've chosen Flatiron as the school, here's what I can tell you about my experience.
Aside: One thing I can tell you upfront is that if you're just doing this for the money or any other reason besides a genuine love for code, you probably won't do well in this program.
The first couple weeks of the program was busy and hectic. There were a lot of students to start out and we were all getting our bearings with the program and its format. This part of the program you will be learning Ruby. I would say that this is one the more important parts of the program. There is a lot of new information during this first phase. After all, you're learning a completely new skill. My advice for this phase is to have prepared coming into the phase by taking Flatiron's free bootcamp prep course. Not only will you get a better sense of the feel of the program and if you like it, but you will have set yourself up to get ahead or keep up with the fast paced lessons in this first phase. It was easy to fall behind in this phase, which WILL affect the rest of your program. The best thing you can do for yourself in the program is to stay ahead of the curriculum so you have time to review, make awesome projects, and not fall behind if things get tough. At the end of each of the 5 phases of the program, you will complete a project - if you're ahead in the curriculum you will have more time to finish these projects. This is crucial because these projects are how you pass through each phase, and also what matters on your resume. At the end of this phase, I made a simple command line interface (CLI) application that showed users information about the solar system.
Once you make it through the first phase of coding basics, that is a huge milestone. The next phase, Sinatra, will be confusing and exciting. Sinatra is an old framework for creating web applications with Ruby. They teach you this because it is a good way of understanding the concepts behind web development. It is, however, a bit head-achy and difficult to initially wrap you mind around. That being said, at the end of this section you will build your first web application which was extremely exciting for me. My project was a recipe sharing site.
Once you make it to the third phase, Ruby on Rails, you should start brainstorming project ideas immediately. Rails is a framework that makes you mad you spent time learning Sinatra. Rails makes web development feel much more accessible. However, this section is a long and tough one. Rails is built on convention, so there is a lot of syntax to wrap your mind around. Once you understand how to use it though, you can build very powerful applications quickly. That is why brainstorming an awesome project idea early is important. I never waisted valuable project time on brainstorming. I always brainstormed while I was learning the curriculum material, before project week came around. That way, I was able to have extra time building out my ideas. Rails will give you great tools for creating complicated projects - so think bigger! My Rails project ended up being a social media site where users could curate and share artistic content, such as music, art, movies, etc..., vie a personalized mix.
And now I am finished with the program, looking for work opportunities, and writing this article as a reflection and hopefully a helpful insight into the Flatiron experience. Towards the end of the program, you are matched with a career coach who helps you navigate your job search. Don't expect Flatiron or your career coach to get you a job - that is completely up to you, however, they will help you navigate the waters. Just remember that the more effort you put into the program, the more you will get out of it. The more time you spend each day on the curriculum, means more time working on your projects, and exploring topics outside of the course. Good luck, happy coding, and feel free to ask questions in the comments!