When I look back on my time on with the Firehose Project I have gained some perspective on how you can get the most out of your time with the Firehose Project. I’ll do my best to relay as much as I possibly can and will be more than happy to answer any questions you have any.
If you’re a potential student, new student, in the middle, or close to the end you should be going into the bootcamp with the mentality of “I want to get the most out of this and I’m going to do everything in my power to achieve that goal.” That’s what I did, before setting out on this journey decided that I wasn’t just going to stick a toe in and see how the water felt, what I was going to do was jump in head first and zero concern if it was shallow or cold. I wanted to get the most out of this experience and position myself in the best possible way so when I completed the Firehose Project I would be prepared to be a developer in the real world.
As I’m finishing my experience with Firehose I some advice for everyone in the Firehose community to make the most of your experience.
Firehose Pro-tip #1: You NEED to be Blogging
I’ve spent over a year writing a blog and in general just writing every day for myself, so when I started the Firehose Project I decided that I would chronicle my time through the course. This worked out beautifully because after a year I was starting to run out of fresh ideas and needed to reinvigorate my creative blogging juices.
If you ask anyone in the industry about blogging the general consensus is that you should be doing it, no matter what. The reason for this is that when it comes to interview time and you’re 1 of 2 people that could potentially get the job, employers say 9/10 they will go with the person who has spent the time writing a blog. The reason for this is that you are showcasing who you are, what you’ve learned, and that you are passionate about what you are doing. Folks passion is your trump card, you got some skills and a plethora of passion versus someone with a little bit more experience and skill but doesn’t seem passionate, the passionate person is going to nail it every time.
Now I know blogging can be incredibly difficult to start and it’s not always easy but we’ve got a golden opportunity at the Firehose Project because the blog basically writes itself. Because every week you do amazing things, all you do is summarize what you learned, what you struggled with, and your exploration into your new passion. If you do that getting a roughly 1000 word blog post every week is incredibly easy. That’s what I do, each week I do a week in review post that summarizes the things I’ve learned, my struggles, and excitement to explore. Each week I have a blog post has been more than 1000 words, which is a pretty significant post. The actual writing only takes about 30 minutes or so, sometimes faster if I’m in the zone. This is mostly because the prep is already done. Through out the week I jot down little reminders of the things that I found interesting or what I’ve learned and from there I have an outline for a blog post with a minimal amount of work. From your note cards (or digital note taking system) all you have to do is flesh it out the outline you have and actually write it.
When writing a blog don’t think about writing it for the masses or even potential employers, write it for yourself. Most writers will tell you that you never want to write for the masses but you always want to write for yourself. When I write, I write for only 2 people, myself and my potential future children (this is usually about advice that I wish I had growing up, it’s also not technical related), the reason for this is that when you write for the masses you aren’t writing to please yourself you’re writing to please everyone else. Folks, you can’t please everyone, so just please yourself. It’s much easier to find your voice when you’re writing for yourself because there isn’t any pressure to be anyone but yourself. The amazing thing is with writing with your own voice people respond much better to it. The objective is always to write for yourself and when someone else besides yourself gets value out of it, well that’s just the cherry on top of the sundae.
I don’t even get super technical in my posts because that’s not what I want to write about. I would love to get more into a technical blog but for now that’s not my objective, my objective is just to chronicle my progress so that when I can look back I will see how far I’ve came and how I felt in those moments of success, struggle, defeat, and triumph. My single biggest recommendation while going through your time with the Firehose Project is to do this. Oh and make sure you are sharing it with people, just put it out there and let it live in the wild. It’s a very freeing experience.
Firehose Pro-tip #2: Engage with Other Firehosers Early
Each of us, when we start out, get invited to the Firehose Project Google+ group and the Slack channel. The thing I see a lot of students not doing is socializing with other students. The Google+ page and the Slack channel at times can feel like digital tumble weeds just blew into town. We’re all in this together and it’s important, not just for you, but the Firehose community in general to socialize and engage with each other. I completely understand that we all can be busy but you should make an effort to socialize. Socializing is an important human behavior it allows us to share knowledge and skills but socializing in the technology world can be, well, very awkward. Coming from an IT background I can tell you that the average IT person’s social skills are not all that great and they would benefit themselves by opening up and talking more. This isn’t always easy for people but it will build an important skill; eventually you’ll want to land a job and they’re not just going to give it to you with out talking to anyone technical.
The other huge upside of socializing is that you can start getting comfortable talking about development and technology. The greatest hurdle people have with starting a new career in any field is the vocabulary. One of the few major take aways that I have from my time at art school a decade ago is that in order to be comfortable in your field you need to be able to talk like you belong in that field. One of our art professors would put the students in small groups and as homework we would have to go to an art gallery and talk with other artists, collectors, and admirers with the vocabulary that we were given that week. There is so much more to learning something new than just learning that skill but it is huge when you can communicate in that given skills native tongue. That little homework assignment that professor gave us made huge impacts on my ability to appreciate and critique artwork. Since then I have tried to apply that same technique to every new thing that I have learned and it makes a massive difference in comprehending and socializing with other people in that industry.
Don’t be a lurker in the background always taking, give back to your network. Make connections, socialize, participate, share, and teach. I do my best to communicate with as many people in the Firehose community as I can, I also do my best to share things I’ve found interesting whether it be a video, an article, or my personal weekly progress report. The interactions with the community have been some of the best and it really has helped make my time at the Firehose Project something truly special. I know going forward that with the people I have meant and the connections we have made will have massive benefits moving forward into the future. I’m so glad that even after we complete the course that we can still participate and have access in the Firehose community spaces.
Firehose Pro-tip #3: Leverage and Utilize Your Time in Office Hours and With Your Mentor
Office hours are an amazing opportunity to ask questions about things you got stuck on through out the week. My personal experience was that the issues I ran into during the week I usually was able to solve on my own (this will vary person to person) but I also didn’t just want to waste my time during office hours so I would ask questions that would give me an insight into the world of web development, interviews, job searches, and bunch of other stuff that wasn’t necessarily technical related. I find all of these things interesting and they’re common questions I’m sure everyone has flash in their mind at some point so I figured, why not ask them. It’s one of those things where it doesn’t always have to be technical, the soft skills and the insight into the industry are just as important for your future. There is a wealth of knowledge and experience in the office hours so why not leverage that for yourself? Just always ask questions even if they’re not technical don’t be afraid to get that insight if you want it.
The same thing really goes with your mentor. Your mentor has a plethora of experience and skills, if they didn’t they wouldn’t be Firehose mentors. For instance my mentor doesn’t have a ton of experience in Ruby or Rails, he’s much much more advanced than me, but what he does have is decades worth of experience in software development. He has helped me massively throughout our time together and I’m so grateful for that help. We’ve pounded out all of the coding challenges and then some, we’ve discussed high level information, he has helped me understand more than just Ruby and Rails but has helped me understand software development in general, and he’s been an amazing asset to help me understand more than just the curriculum. I got super lucky I feel with the mentor I’ve got, he has done so much to encourage my progression through the course and in retrospect I couldn’t think of a better match and a better mentor for me. Your mentor will be the same if you want it to be. Make sure you make your objectives clear and make sure you tell them you want to be pushed to excellence, that’s what they are there for and also don’t be afraid to ask questions. Just like office hours you want to leverage the experience and dedication that has made your mentor the programmer they are today.
Firehose Pro-tip #4: Start a Passion Project
One of the best ways to become passionate about building software is to start a passion project. A passion project is going to give you something you actually truly care about, it’s going to allow you to leverage the knowledge you have been building going through Splurty and Nomster and apply it to something that you care about. If Splurty and Nomster are the bulldozed foundation for your house of knowledge then your passion project is the cemented foundation that allows you to build something beautiful on top. The passion project no longer holds your hand, you design, develop, implement, and structure it how you want it and your only safety net is your past experience. This is a great way to pivot from doing step-by-step tutorials and advance you into thinking like a developer. It lets you try and fail, and you will fail, new and interesting ideas.
I had a portion of my passion project that I worked on for roughly 4-5 hours to only be a horrible way to approach the problem and scrap it. While you can look at this as a waste of time and a failure I don’t see things that way I see this as an opportunity to learn how NOT to do something. Failure is only a failure if you don’t learn anything from it. So do a passion project, fail often and fail fast, learn something every time. Allow that foundation you’ve been learning through the Firehose Project to be cemented in your conscious. You won’t regret it.
Firehose Pro-tip #5: When Working on the Group Project Volunteer for the Hard Stuff
When you start your group project, don’t take the easy way out. Don’t strive to get the easy tasks but strive to get the hardest most difficult thing they have to offer, this will be real world learning experience. Once you get a job as a web developer you will be tasked with complicated objectives and you won’t be able to have the easy option out so why take the easy option now? The group project has a ton of moving parts and many are complicated, you want to be in the complicated zone, it really does make you a better developer.
At the start of the group project, each team member will have the ability to volunteer to be the project manager for the team, and I suggest you jump at the opportunity. It sounds scary but it’s not that hard and taking on that little extra work will give you the exposure to use tools that you would use in the real world: Agile Task Boards. This will give you exposure to tools real teams use, that isn’t covered outside the group project.
Firehose Pro-tip #6: Pair Program on the Group Project Often
Take advantage of your group project and my best advice for the project is to pair program and pair often! You will have to do this in the real world and it will make your life all the more easier when working with your team. After all two heads ARE better than one!
Do things that will help you grow as a developer in the long-term, not necessarily things that are immediately inside your comfort-zone.
Firehose Pro-tip #7: Attend Local In-person Ruby User Groups
Attending Ruby meetups has been an extremely valuable experience for me. Not everyone will have a meetup close to them to attend but if it is within driving distance you should make it to at least one meeting a month.
My closest, reliable, meetup is 300 miles away in Chicago and I make it part of my education at Firehose to attend that meetup at least once a month so I can start getting to know people in the industry and try to make connections. This is another situation where socialization is incredibly important so take the opportunity to talk to some people about code and get to know other developers.
You should try to see if any of your Firehose peers are near by and want to meet in-person at the meetup. I got a chance last night to meet one of my fellow Firehose peers and a group project partner and it was fantastic. I really enjoyed getting to know her better and it’s awesome to have that chance to transcend from a digital connection to an in real life connection. It was an amazing opportunity and experience.
I have not regretted any of the meetups that I have gone to and each one of them I made at least one connection and learned at least one thing. Make the effort, even if you are far away, to make your presence known at a Ruby or Rails meetup.
Firehose Pro-tip #8: Give a Lightning Talk for the Firehose Community
Give at least one lightning talk during your time at the Firehose. The point of the lightning talks is so that you get comfortable talking about technology and programming. The lightning talks are recorded and then edited into separate videos so when you are out on the prowl looking for a new job you can show a potential employer how dedicated you are to your craft and that you love it so much you can look speaking in “public” straight in the face and say “I am not afraid, I’m comfortable with my knowledge and I’m here to impress you”.
The lightning are there also to simulate a Ruby meetup, the whole point is to get you comfortable with programming and show your passion. Do me a favor, sign up for a lightning talk and just do it! I want to keep these alive and well.
Right now, drop what you’re doing and send an email to Ken letting him know what topic you’re excited to share with the community and start preparing your talk. Trust me, you’ll be glad you did!
There you have it, that’s it, I’m all done. Really truly from the bottom of my heart if you read this “THANK YOU” it means a lot. Also, if you read this that means you have an advantage from other students, it means that you have a great working knowledge of making the most of the Firehose Project. You will feel amazing once you wrap up your time with the Firehose Project! Just like me, you won’t want to leave and you will want to give everything to make this community even stronger.
I wish all of you the best of luck with your time at the Firehose Project and I wish you the best of luck with your future as a web developer. At anytime you want to ask me a question or have a chat my proverbial door is ALWAYS open. I want to help and I find it incredibly satisfying to help others. So Firehosers, Stay awesome and keep on coding!