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.

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.

3. Don’t Stop Learning

This is not just something to do after boot camp but for the rest of your career. If you are not willing to accept that, you will have a tough time as a software engineer. When you switch jobs, it’s a pretty good bet you will need to learn many new technologies you have never used. Take a very simple example. You are a front-end engineer working with React/Redux. You move to a new role that works with React/Redux. The difference is the first application uses an older version of React, so all stateful components are classes and dependent on the provided lifecycle hooks, and redux is written in standard, boilerplate-like fashion. In the new application, stateful components are all functional components and redux is abstracted using Redux Toolkit, following the duck format. Same role, same tech stack, different flavors. Based on the at minimum 10–15 tools/libraries/packages required to run an enterprise application at scale there can be a lot of learning. So learning to enjoy and getting good at learning is a real skill. I have been at the same company for about 3 years now, but I have worked on three different applications. I have worked on an application that was JS/React prior to version 16 using class components and legacy style redux architecture. I was then moved to an application written in Typescript/AngularJs. Then I was moved to an application written in JS/React which was post version 16, so it only used functional components, and the hooks API (hence my above example). Even without switching roles, I have had to stay on my toes, learn quickly, and learn effectively. There are many learning platforms out there, I have not experimented with a ton to be honest, because I started with Udemy and never looked back. I never buy courses at full price, so a course typically costs between 10–15 bucks. On top of that, almost all courses give you lifetime access. So watching a course, which has a good relevant author, will be updated as time goes on. In fact, I have completed a course to come back a year or so later and then see an entirely new course has been put there because of changes in the language or library, and you are able to do the second course as well at no additional charge. For learning javascript, coming straight out of boot camp I recommend:

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:

This one dives deeper into computer science topics with all examples in javascript. These advanced concepts are not as important when you get hired as a junior, but if you want to succeed and excel as a software engineer they quickly become important. Mostly, what I think these courses cause you to do, is write code you normally wouldn’t which will cause you to make mistakes and fail, and getting through those difficulties are ultimately how you learn.

“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:

Conclusion

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.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
David Hammond

David Hammond

Senior software engineer always trying to learn something new. Spend the majority of my time working with React, Angular, and developing cloud solutions.