I’m at the end of teaching at my second tech boot camp. I can’t help but to reflect on the students who survived and thrived. I want to share examples of their willingness to do the extra, to grind.
Grinding is similar to resiliency (ability to fail over and over without giving up) but it’s the ability to keep doing the right thing responsibly over an extended time. It’s more about perseverance than overcoming obstacles. It leans toward completing several small tasks over and over till you overcome an impossible goal. Striving to do the extra beyond that is required.
An example of doing that “Extra” was to “learn in public” during the boot camp. This meant publicly posting your coding journey, what you have learned, your achievements, and your projects to digital places like Twitter, LinkedIn, and social chat channels (Slack & Discord).
The purpose was to:
- Let others follow your journey and get to know you while you are learning to code. Tech is a small world and the more people who know you, the higher the chances someone will open the door when you come knocking for a job.
- Side benefit of keeping yourself accountable.
- Great practice for working on your communication skills.
An example of how this helps is I notice several students with LinkedIn posts, about their journey, that was getting lots of attention. Recruiters, developers, and others on LinkedIn was leaving encouraging comments, career tips, and "Liking" the posts on a daily basic.
This means that people with potential to open up future doors were connecting with these students way before the students were job ready.
One of first thing I noticed from those who got jobs during or right after the tech boot-camps was that they created a resume and worked on their portfolio before the boot camp was to end.
- They didn’t wait till they were 100% ready to start that process.
- The best resumes and portfolios aren't created in one day. It's a constant iteration from this resume sucks (cause that’s where we all start) to this resume is the best version of “me”.
- These students constantly ask for feedback and actively search for great examples to learn from.
- They understood that the first iteration will look bleak and non-techie, but the final version will be AWESOME! They kept their expectations in perspective instead comparing themselves to others.
The students that thrived treated interviewing as a skill similar to coding. They came to every official and non-official interview prep opportunity. They understood that it takes time and effort to get better at interviewing. It’s almost impossible to expect someone to practice one time and then go compete with thousands of other developers for jobs.
The key takeaway is to seek constant feedback from mock interviews. It's better to be told you fidget to much, ramble to often, have no eye contact, or gave a poor answer in private then in a real interview.
As soon as possible, you should google behavioral interview questions, and do mock interviews to common behavior questions daily. Some tips:
- Stand in front of a mirror and interview yourself
- Record yourself on your phone answering the questions. Listen to your responses and consider ways to make a better version of that answer.
- Ask a family member, a friend, or a coding buddy to ask you one simple question (no funny business) from your list of questions. You don’t always need feedback, just someone to listen and help you get used to talking about yourself.
- Pretend your dog, cat, rat, or favorite flower is interviewing you. Whatever works for you to practice daily, do it.
The point is to be answering questions about you, your achievements, and your abilities till the process becomes natural. You need to weave a coherent story without ranting. The best interviews is a fun conversation, not a painful interrogation. In time, you will have standard answers to the basic questions and be used to being uncomfortable to the point you shine.
Whiteboarding is another interview skill that takes practice. The best boot campers didn't shy away from this task. In class, they would speak their opinions on possible answers. They didn't let the possibility of being wrong scare them from trying. They would solve a problem and then teach others how to complete the task. AKA, they constantly practice coding in public. In private, they normally did non-classroom coding problems to develop their skills.
I wrote a separate blog post for whiteboarding at Whiteboarding Adice.
Those students that stood out didn’t just come to the required classes, but attended tech meetups. They focus on learning from developers other than their teachers for those unwritten lessons. There is so much value in listening to real lessons learned from someone in the industry or getting practical advice from someone who was just where you are.
Mentorship is invaluable. It's one of those open secrets that helps a small percentage of students be ahead by leaps and bounds. I notice that those who finds mentors almost always finish the boot camp and find jobs. I wrote an article that gives advice on finding mentors here How to find a Mentor.
I can't stress enough to teach others. The best boot campers I've known didn't hesitate to lead meetups, write blog posts, and help others with assignments. They were happy to share their new knowledge. There is a saying that states, "To teach is to learn twice."
It never ceases to amaze me how small groups will form during class. I notice that those who found a peer group did better than the loners. These peer groups:
- Bounce ideas off each other.
- Help each other distress from a debugging session.
- Pair-program to learn hard topics.
Learning to code is not something that should be done alone. The best coders strived to learn from everyone. There is an old saying that states, "You are a combination of the 5 people you around the most". Think about it!!!
An important characteristic of those boot campers who thrived was that they didn't waste time. This included:
- They had a proper view and method of asking for assistance. An example is a lady who always message me with details of the problem, a list of what she has previously done, screenshots of the issues, GitHub repo with problem, and where in the codebase she suspect the problem resides. This level of commitment was impressive, and normally she was almost close to the solution. Just an inch away. This was every project and assignment. She showed dedication and normally was the first to finished.
- This leads into the next point of seeking help everywhere. I remember a student posting a problem on several Slack and Discord channels I was on, on the boot camp channel, and at a tech meetup we both went to. I was impressed. That student was determined to not fail.
- They took the time to be properly prepared. I fondly remember an older gentleman who spent 15 minutes every class periods going over the assignment objectives or project requirements with me. He was determined to set himself up for success with preparation.
- They didn't wait for permission to start on important tasks, and they strived to finished early.
The biggest example of this was the end of the boot camp capstone project. For the campers that finished,
- Several boot-campers brain-stormed early, decided on a project, and started even before they knew 100% of the technologies to complete the project.
- A few took their teachers advice to keep the project simple at first, finish early, and then start adding additional non-MVP features.
- The best students have already completed personal side projects. That project planning and project completion experience gave them the confidence to build their capstone project and prepared them for what not to do.
- Finally, the remaining developers who finish early coded daily and provided daily stand-ups to show their progress. They were the first ones to publicly say "I need help" or "I'm stuck". They put their pride to the side and focus on completing their project.
In summary, here is the 7 actions that successful boot campers demonstrated.
- Publicize your coding journey: Let others follow your journey and get to know you while you are learning to code.
- Iterate on the resume/portfolio as soon as possible: Don't wait until you are 100% ready. The best resumes evolve from being basic with constant feedback, using other resumes as guides, and lots of re-writes.
- Treat Interviewing like learning to code: The point is to get use to talking about yourself, your achievements, and your abilities till the process becomes natural and conversational.
- Willingness to Practice coding in Public: You have to be willing to help others, teach others, and answer questions in public. Similar to interviewing, practice whiteboarding and solving "Leetcode" style problems.
- Don't depend on a Boot camp or tutorials to teach you everything: There is so much value in listening to real lessons learned from someone in the industry or getting practical advice from someone who was just where you are. The biggest tip is to seek mentorship. Single most valuable asset you can have.
- Build Friendships: "You are a combination of the 5 people you around the most". Think about it!
- Don't Waste Time: This includes being thoughtful in the way you ask for help, seek help everywhere, make preparation a priority, and don't wait for permission to do something awesome.