So you learned how to code…
Whether you taught yourself through online courses, tinkering, and programming books over the course of years or went through an immersive software engineering bootcamp in just a few short months, you’re gonna get to the point where you have basic proficiency but aren’t entirely sure what next steps to take. Build large-scale projects to deploy? Mess around with a bunch of smaller programs to add a bigger variety of technologies to your repertoire? Work through data structure courses and leetcode until your eyes bleed?
The answer is yes.
Most coding bootcamps equip you with an extensive roadmap on how to land a job after completing the program, but I’ve found what’s often missing is detailed advice on what to focus on for your post-grad studies, and I must assume that’s by design. Programming is inherently exploratory and what makes a great programmer is the ability and willingness to jump into the deep end of an unlit pool at night and just start swimming. Since graduation, I have done a lot of different things to build out the foundations of my technical expertise: solo work on a simple portfolio page for myself (#branding), pair programming with fellow grads through challenging Leetcode problems, onboarding to a friend’s attempt to build a better (read prettier, more secure, and less exploitative) Instagram using Svelte. When you get tired of coding, take a break, watch a video or read a book about interesting technologies you may want to dive into next. Changing the medium makes a big difference for warding off code fatigue, while keeping you engaged with relevant content.
I wanted to share a few of my favorite resources and tips in a simple short list below:
- Things you don’t learn in bootcamps that will definitely come up in tech interviews are algorithms and data structures, this course gets you started: https://www.udemy.com/course/js-algorithms-and-data-structures-masterclass/
- React, React, and more React… this book is $30 for US based buyers but the author encourages you to take advantage of her location-based discounts by using a VPN location in another (less wealthy) country if you can’t afford it, doing her part for equitable access to tech, amazing: https://opinionatedreact.com/
- Do a few easy problems by yourself each day, and tackle the hard problems with friends, you’ll level up much more quickly: https://leetcode.com/
- Build a portfolio page for yourself, or two or three, play around with different technologies and approaches to solving the issues you may run into and create a polished product before deploying it into the universe. Don’t rush this, make it perfect. It’s not a necessity but a nice icing-on-the-cake kind of project for your job hunt, and something fun you can do for an hour here and there until you’re satisfied with the result. In the meantime, dreas up your github landing page a bit, my friend, Chaya, recently wrote a great article on it. Spend time on styling, keep it very minimalist but cohesive if you’re not necessarily a design wizard, make it a simple page that would get your attention if you came across it. I’m working on little touches like flipping letters in the menu on hover and I’ve been playing around with location awareness to change the theme depending on the time of day at the visitor’s location. Not everything has to make it into the deployed version of your page, treat it as your personal sandbox.
- Review technologies you haven’t used in while. Vanilla JS problems you might have aced in your sleep while working on that topic will feel much more challenging if you haven’t used the syntax in a few weeks or months. Stay current, spaced repetition can help.
- Read the docs. Bookmark them. Download Dash for your text editor to access docs offline. The best programmers don’t learn pages and pages of syntax by heart, they amass just enough knowledge to know what to look for and where to look when they come across a problem that needs solving.
In summary: work hard, don’t get complacent, don’t quit, don’t get tunnel vision, shoot your shots, and have fun.