First, I must say that I’m as non-traditional as it gets in regards to tech. And yes, I did become self-taught before joining Revature in regards to some front-end technologies that helped me greatly during my time in Revature’s training program. My core background is in finance, marketing, and economics. And while I am a serial entrepreneur (over ten (10) ventures and counting) I wasn’t usually the one working directly with the tech side of things. I was the one responsible for finance, branding, marketing, management, etc. That changed. And changed for the better. I’m all hands-on now! And a great part of that is due to Revature.
So why did I join Revature?
Breaking into tech is incredibly difficult. I’ve heard stories of people submitting thousands (yeah, thousands!) of applications for entry-level positions only to be ghosted or just get flat-out rejections.
After my two (2) self-taught Udemy web development courses (Colt Steele and Angela Yu if you guys are interested) I was excited! It’s now go time! I then submitted over two hundred (200) applications for entry-level positions only to be rejected with no interview. Interestingly enough; I got to the first round with Amazon only to come across a coding challenge. And then a rejection right after. I dislike coding challenges but that’s for another article.
So after an abundance of rejections (my torture tolerance is incredibly high) I started looking around for potential opportunities for other ways to break into the wonderful world of tech. And after hundreds of hours dedicated to research (Reddit, Glassdoor, Linkedin, etc.) I settled on Revature. They pay you to learn a tech stack and help you secure a job after the training (ten to twelve (10–12) weeks) with one of their many clients.
Now on to week one (1).
We had a group (batch) of twenty-eight (28) and then we were placed in sub-groups of five (5) to six (6) people. We came up with cool names for our sub-groups and then we went over our tech stack which in my batch’s case was; Bash, Java, Spring, Spring Boot, SQL, Hibernate, Maven, React, Material UI, HTML, CSS, JavaScript, TypeScript, Redux, Microsoft Azure, Git, GitHub and Agile methodologies and software development life cycles.
Our sub-groups are where we would complete our daily stand-ups (discuss what we are proud of; what we need to improve on; plan of action; and so on) and then add them to our Github repository (from the terminal: git add . ; git commit -m “insert message here”; git push.
In week two (2) we started discussing p0 which stands for project zero. We index at zero, not one. An insider note for developers. We’re supposed to build a banking API (application programming interface) with Java 8 while implementing CRUD (create-read-update-delete) operations. Our user stories (features of the application) were low in quantity but the pointers (task difficulty) were pretty difficult, especially for people who have never done this before.
We had two weeks (all of our four (4) projects would have to be done in two (2) week sprints) to complete and present this project in front of the entire batch plus QC (quality control). More on QC right below.
Quality control comprised of two to three (2–3) individuals who would quiz us (we were placed in random groups of four-five (4–5) individuals) weekly on the prior week’s topic/s. It was a great tool to keep us sharp. Oh yeah, it was also very stressful.
During this time is when a batch mate and I started putting in a minimum of fourteen (14) hours per day. Dedication is key to success in this program! I cannot stress that enough!
Now it was around week four (4) which is when we started presenting p0. And let’s just say that the project, for the entire batch, was a bit harder than expected. I went to bed at 4:30 AM and had to get up in less than five (5) hours to present this project. This was the most stressful project of the four (4). I’ll just leave it at that.
Right after p0, we were then given the next project which, of course, was project one (1). For this project, we (pairs programming which means groups of two (2) people) had to build a full-stack restaurant application using Java, Hibernate, and Maven for the back-end, AzureSQL for database, Azure Apps Sevices for deployment and React and BootStrap (I chose that CSS library because I have experience with it) for front-end.
Fast forward to week five.
We’re now down to twenty-five (25) people due to numerous reasons.
Now, around week seven (7) And right after project one’s presentation, which went similar to p0’s presentations, we were given the next project which was project two (2). This time we had teams of five (5) people. I was the team lead and DevOps engineer for my group.
For this project, we created a full-stack web application where experts can offer advice and users can check it out on our platform. Think of it like LinkedIn meets Reddit. Our tech stack was: Java 8, Spring Boot, NodeJS, Axios, Azure Apps, AzureSQL, React, and Material UI.
I’m incredibly proud of this project because due to my self-starter attitude we were able to fully complete our project in one week (remember, we have two-week sprints per project). As soon as we got the project I set up our Trello board with user stories, assigned tasks, completed our database in AzureSQL, and more…all in one night! I made sure my team crushed this one! This was the least stressful project.
We presented this project at least four (4) times including to our anchor client.
Now, week nine.
We’re now down to twenty-two (22) people.
On week ten (10) we were given project three (3) which was to build a full-stack banking application (sounds familiar?) now using (almost) everything we’ve learned since day one…and we must do it as a team of twenty-two (22) people. So the tech stack was: Java 8, Spring, Spring Boot, Lombok, Docker, Axios, NodeJS, React, Material UI, AzureSQL, Azure Apps Services, Jest for testing, Git for version control, and Github for deployment.
Now, we’re on to week eleven.
We’re now down to nineteen (19) people.
We’re in the midst of doing p3 (project three).
And then…
Another person dropped out.
And it’s now week 12. The final week of this amazing, yet challenging at times, journey.
We’re now eighteen (18) people going into our final presentation and that’s success in and of itself for those who were still there. Ten (10) people dropped out.
We practiced our final presentation for p3 at least nine (9) times before presenting it to a group of over fifty (50) people. It went pretty well.
The next day we had our graduation ceremonies where we announced the most improved; the MVP; and the most helpful. We then reflected on the journey, and played some games, while some people rejoiced on being selected by the anchor client, and then the end.
My Revature journey (so far) has been amazing. During the first month, it was downright brutal. It was so much information coming at me plus I had to implement the knowledge I’ve learned in many projects almost in real-time. Plus weekly QC, plus weekly quizzes, plus Loom recordings. It was stressful! It was exciting! It was definitely worth it! I learned so much even outside of coding such as; agile methodologies, scrum, and software development lifecycles. I gained so many new skills (Java, Spring Boot, Hibernate, React, and more just to name a few) and greatly expanded on my previous skills. I’ve met great friends (Jacky, Soyoung, Asrat, and a few more) who just happen to also be great developers. I can confidently say without any doubt that I’m now a full-stack software engineer and developer.
Oh yeah, I’m ONLY getting started. I’ve already started a Udemy course on React and another one in regards to Java to continue to be a better engineer. Continuous learning. Continuous building.
In Revature, like in life, you get out of it what you put in. That’s my firm belief. As I’ve stated; a buddy and I dedicated at least fourteen (14) hours per day, including on the weekends, during training. We self-studied and built side projects (mostly with React because we’re both front-end focused). We networked with past alums. We took full advantage of the opportunity we were given. Time is limited…so make full use of each minute!
Oh yeah! One more thing; do NOT call yourself a software developer/engineer if your Github is empty or near empty. One of the great benefits of being a developer is the ability to build without being told what to build. You have the freedom to build continuously and hone and improve your skills. There is imposter syndrome and then there are imposters. Yes, tech is super cool now so there is a flurry of people jumping in calling themselves developers/engineers while they have developed next to nothing! Don’t be an imposter! You’re making things worse for real developers.
For the real developers: Continuous learning. Continuous building. No excuses!