You Just Graduated From a Web Development Bootcamp, Five Things To Do Next
I went through a full-stack web development boot camp in 2017. Since then, I have been on the software engineer journey, and I am pretty happy with where I have ended up so far. With that said, We can always narrow the path taken with hindsight. These are the 5 things I would do if I had graduated boot camp recently.
1. Read “The Clean Coder” By Robert Martin
Reading any and all books by Robert Martin is sound advice. But I recommend you start here. The reason why? When I left boot camp, I don’t think I ever realized how much time a software engineer spends not coding. It is, unfortunately, quite a few other important tasks that lead to more efficient coding. This book covers many interesting topics including, professionalism, time management, estimation techniques for pointing tasks, testing practices and much more. I found it very insightful coming into the profession, but read it after I had already been an engineer for some time. I recommend multiple reads as well, as it is a quick mostly non-technical book.
The Clean Coder: A Code of Conduct for Professional Programmers
The Clean Coder: A Code of Conduct for Professional Programmers [Martin, Robert] on Amazon.com. *FREE* shipping on…
2. Make Your Portfolio More Legit
This could take many forms, but in my boot camp we mostly focused on using Heroku for deployment. Nothing is wrong with this and I still deploy test applications to Heroku on a regular basis. When my portfolio originally was hosted on Heroku, it was a React application that had an express backend, on average it would take 28–30 seconds to cold start (Heroku does not keep your server running, so if it is turned off and your URL is pinged, it is actually running
npm run start in the background and waiting for your server to start and then serving the webpage). When I interview someone for my current company I am with if I visited a project/portfolio that did not show up within 10 seconds I would assume it is broken. So one of my main goals coming out of boot camp, was to get my portfolio on to a known cloud provider. I chose AWS, mainly because it is a very popular cloud provider which many companies use and provides good experience which can also be added to my resume. Getting your portfolio up let’s say in an S3 bucket is great, and if you need a backend, you may want to use EC2 or save some cash and learn something new, by changing your backend to be serverless and use API Gateway with Lambda (which supports Node out of the box). Most portfolios, in my experience, are just static assets with minimal backend needed, so my goal was to get my portfolio hosted, with a custom domain name as static assets. I accomplished this, using S3 for hosting my files, purchasing a domain through Route53, and using Cloudfront for caching and SSL termination. I needed one endpoint, which I decided to use API Gateway and Lambda for. If you are interested in accomplishing this your self you can see some articles I have written on such below on getting your static application set up on S3, fronted by a custom domain with SSL termination using Cloudfront.
Setting Up a Static Web Application in an S3 Bucket
Hosting a static React application on AWS S3 is cheap, reliable, and easy.
Using Custom Domain With Statically Hosted S3 Application
Hosting a static web application on Amazon’s S3 storage service, which is cheap and reliable, is a no-brainer. When you…
Forcing HTTPS For Web Applications Hosted In S3 With a Custom Domain
Having your web application hosted in Amazon S3 with a custom domain is a fantastic way to upgrade the validity of the…
3. Don’t Stop Learning
Coding Interview Bootcamp Algorithms, Data Structures Course
Data Structures? They're here. Algorithms? Covered. Lots of questions with well-explained solutions? Yep! If you're…
In this course I felt like transitioned my brain from thinking about code like a boot camp student to thinking more like a software engineer. Once you feel comfortable with this one I recommend this one:
Hi! I'm Colt. I'm a developer with a serious love for teaching. I've spent the last few years teaching people to…
“I have not failed. I have found 10,000 ways that don’t work.” — Thomas Edison
4. Don’t Stop Coding
One of the top things that stop people from being successful after graduating from a boot camp is they stop coding. If you are lucky, you will be hired immediately out of boot camp. This is rare from my experience. I took 6 months afterward to be a teacher’s assistant for the same boot camp I graduated from and to continue learning (using Udemy). I was lucky that I was able to find a job that worked out for me to start right after that 6 months period. Still even only 6 months after I graduated finding this role, I still think that was a win. Sometimes it takes longer to find that first role. You must be persistent and continue to sharpen your skills. This cannot happen without continuing to code. The way I have approached this is I have 2–3 projects which I have committed to continuing to improve over time. I would recommend at least one of these be a full-stack project. For me, I have my portfolio, which I would say is very basic and a place where I like to experiment with front-end skills like trying out new CSS and new animation techniques, etc. I also maintain a site for my wife to sell jewelry on which is a wrapper over the Etsy API. This application is built in the cloud to scale, if needed, uses a serverless architecture for the backend, and would be my capstone project to show off my skills across the stack. This would be my most important project because it would be most representative of how I would work on an enterprise application. It also has real users, which is a nice-to-have but potential employers looking at this site would never know either way. I also maintain a small npm package which I use in my personal React projects. Those would be my applications I would place on my resume. Once they are built you may not work on them regularly but they would be applications you would update over time and continue to work on. The other type of coding to do more regularly once you have capstone projects for your resume is to do experimentation coding. This would be like creating a new repo to build some small application to do something with no real intention of continuing to develop on it. This is typical of almost ALL applications built in the boot camp. Why did we build applications in the boot camp? To learn something. You don’t build a todo application to build one you expect to maintain forever (ok fair enough I use stickies still so maybe a really good one does have use in the marketplace), but you build it to learn something. Let’s say you read a Medium article on using context API in React and you have never used that before. Maybe create some basic app that uses this API. It is simply a learning exercise and I recommend doing this regularly to learn and experiment. These should also be done with clean code and on your Giithub account. This is a fantastic way to learn new things and continue to build new skills and stay relevant, and build a larger footprint on Github as well.
5. Read Everything In Sight Related To Coding
You should take advantage of all mediums for reading (see what I did there). There are many books that are timeless, by Robert Martin, Martin Fowler, Erich Gamma, and many more. I tend to ask for these for holidays birthdays etc, as they are not very cheap. Find books about high-level software engineering principles, these tend to last the test of time and you will read them over and over again. It takes time to publish a book, so you must find other ways to keep up with the field. I subscribe to many blogs, such as Interview Cake weekly problems, Kent Dodd’s blog, Dan Abramov’s blog, and many Medium publications. This is not some shameless promotion, since I began my software engineer journey, Medium has played a pivotal role in learning for me. Why? Because there are tidbits that you can take in that provide value but there is typically not a huge commitment when reading an article. Also the ability to mark articles you think are interesting and come back to them when you have a spare moment. That is the other key, notice your spare moments. When I have spare moments in life I just pull open my phone, zip to my saved articles and pick one to consume. I recommend trying to shoot for 3–10 articles a day, and I believe the more you do this, the higher the number will become. In fact, I played the game at first of trying to read many more than the 5 articles you get for free on Medium, and in the end I read so many articles, that I started shelling out the 5 dollars a month and I have never looked back. It is totally worth it because you learn and support those helping you learn as well. In terms of books to commit to, I have a few recommendations, but this list is by no means exhaustive, nor representative of my full library, these are just four I recommend without a question.
Clean Code by Robert martin:
Clean Code: A Handbook of Agile Software Craftsmanship
Clean Code: A Handbook of Agile Software Craftsmanship [Robert C. Martin] on Amazon.com. *FREE* shipping on qualifying…
Algorithms Illuminated: Part 1: The Basics
Amazon.com: Algorithms Illuminated: Part 1: The Basics eBook: Roughgarden, Tim: Kindle Store
Algorithms Illuminated (Part 2): Graph Algorithms and Data Structures
Amazon.com: Algorithms Illuminated (Part 2): Graph Algorithms and Data Structures eBook: Roughgarden, Tim: Kindle Store
Design Patterns: Elements of Reusable Object-Oriented Software
Amazon.com: Design Patterns: Elements of Reusable Object-Oriented Software eBook: Erich, Gamma, Helm Richard, Johnson…
Staying on track after your graduate from a boot camp is not an easy task. Finding a job, typically in a field with no experience is even harder. If I can do it, so can you, and I think doing these 5 things I have mentioned here are some of the most influential tasks that have moved me forward as an engineer and within my career path. Learning is inevitable on a daily basis for a software engineer. Even something as simple as saying, I typically would use a for loop here, but instead am going try forEach or map and understand what is different about each one, and why one might be better than the other. Something a small as that is a learning moment and continuing these moments through reading, coding, and learning are a great start in the right direction.