This is post 2 in a series. For the other parts see:
- Introduction to the Agile Job Hunt
- Identify Strengths
- Learning Methodology
- Test What You’ve Learned
- Deliver Your Skills
- Evaluate Yourself
At this point in the process, you know what you want, and that’s to find a position as a Rails developer. Knowing your goal, how do you get there? There’s really only two options.
- Use a system to get what you want.
- Blast your resume to everyone and everything that has ‘Rails’ in the job description.
Option 2 is a viable one and can definitely work. However, that depends too much on luck and hoping whatever skills you’re in possession of, a job opening, location and other compatibility to all align. I highly recommend doing this every now and again, but you’d be a hopeful fool to make this your primary strategy. For a sustainable approach to building success and creating maintainable momentum, you need a system. You’re an intelligent person; go for the long game. The start of this process should be reminiscent of a huuuuge freight train getting started. Methodical, powerful, and once it’s up to speed, unstoppable. That’s what you want to become, a mass of forward momentum. The early stage of this game is all about information and reconnaissance. Identify and get a great view and understanding of any potential roadblocks. Know what your path is and ensure you can handle any future problems without sacrificing momentum. Every time you slow down, that’s wasted time getting back up to speed. Your goal is to find a job, possibly in an industry you haven’t experience before. Take a moment right now to think about what that will involve, especially in regards to new challenges you haven’t dealt with before. Write them down, and visualize what getting to and beyond those steps will take. Just think through the whole process to give yourself the best view of what’s ahead.
For me, this took shape into the following list:
- Test code: The majority of my prior Rails dev work hadn’t been either TDD or BDD.
- Rspec familiarity
- Full stack integration testing via Cucumber
- Team development: Working at a Rails shop means developing code around with and around other devs’ work
- Git: Master the workflow, forking, squashing commits, cherry picking from branches and rebasing are definitely need to know.
- Code reviews, learning from others and putting their critiques on your code into practice
- Familiarity with common gems, such as Devise and Pundit.
That’s just a brief rundown of the shortcomings in my knowledge at that point. Do the exact same things for your strengths; because in the end you sell yourself on your strengths, not your weaknesses. Know your strengths well, be ready to sell others on what you do know, and put time in to keep yourself sharp on these skills. Any unique skills or knowledge are a huge plus. Within my first month at my new job, I was able to put some past white hat hacking experience to use debugging a problem with Ruby’s handling of SSL as well as taking on another security related issue for a client. My employer received immediate gains from my knowledge of computer systems outside of what’s usually dealt with in the Rails stack. At the end of this, be able to clearly say what you’re good at and what needs to happen to make yourself a competitive player in the job market.
More to come in part 2, where I’ll talk over how I went about learning what I needed to. See what I do on the About page for information about your development needs.
If you enjoy having free time and the peace of mind that a professional is on your side, then you’d love to have me work on your project.