My heart aches for the dozens of engineer's I've met so far this year who have had such rough luck finding their first full-time job. I'm regularly asked for advice on this subject and I'm afraid the best I can offer is ideas rather than solid experience-based recommendations. (I got my first job in an interesting and unique series of events).
With that said, whether you are looking for your first job or have been doing this for a while, I'd like to give you three ideas of what you can do now to increase your marketability as a developer.
Maximize the impact of time spent on experience
There's no shortcut to gaining experience. Everyone must put in the time. But you can maximize the impact of the time you put in by teaching as you learn to solidify what you learn. Last week's newsletter was all about solidifying what you learn. I recommend you give that a read if you haven't already. The basic premise here is that learning comes in three steps:
- Consume information to be made aware of what's out there to learn
- Build something that you want using the technology you want to learn
- Teach what you learned in the process of building
You need each step to really learn. Teaching is the step that solidifies what you've learned which maximizes the impact of the time you spend on leveling up your skills and experience.
When in Doubt, Make it Public
This phrase comes from a blog post by Jeff Atwood. In that blog post he quotes Brad Abrams who says:
If no one knows you did X, did you really get all the benefits for doing X?
In all the process of learning, you have opportunities to make as much of it public as possible. The teaching bit is the easiest and most obvious to make public, but the consuming and building parts of learning are also possible.
- Teaching co-workers something over lunch? Record your screen as you do it and put that up on YouTube.
- Answering a co-worker's question via slack? Publish it as a blog post, or make a fancy carbon, Polacode or just a normal screenshot and tweet it (like this).
- Want to chat with the creator of an open source project, but know they're busy? Tell them you'll make it worth their time by recording the conversation and making it available for them to use in their docs! (Like what I do for my tech chats)
- Building an interesting component for your app? Livestream it! I live streamed a bunch while building and improving downshift.
Making things public is generally not a whole lot more work than keeping them private, and it does wonders for getting your stuff recognized (though it can be a little intimidating, but you can do it!). When it comes to getting the work that you find interesting, it's not what you know or even who you know. It's who knows what you can do. The more people who know what you can do, the better chance you'll have of getting the opportunities you're looking for.
Tip: diversify where you publicise things to reach a wider audience.
(I should add a disclaimer here that you should check over your employment contract before making things public as it may preclude you from doing some or all of these things... If that's the case, then maybe finding another job would not be a terrible idea).
Be kind
Nobody wants to work with someone who's unkind. You could be the smartest, most skilled developer in the world and everyone knows about it, but if you're not kind, lots of people will pass you by. Aside from that, being kind to others is one of the things that can help bring true happiness and fulfillment in life (not the subject of this newsletter, but truthfully that should be a major factor in everything we do).
You want to make yourself more marketable? You want to make it so you get the projects/work/jobs you find enjoyable? Be kind, make what you do public, and maximize the impact of the time you invest in your experience.
I hope this is helpful to you! Good luck!