Hi friends. February draws to a close, and it’s been a busy month. A couple of weeks ago, my former team was laid off, and since then, I’ve been networking with folks to help these fantastic educators and technical writers find new jobs. The outpouring of support has been incredible, and I’ve learned that while many companies are doing layoffs, there are still quite a few smaller companies hiring.
I’m starting this issue with a handful of reasons that you should be interviewing for jobs even when you have one because one of the best things you can do for your career is to be proactive about your job search. Then I have a couple of tools to share with you: one to help with your writing and another to help you share your local development work with others so you can get feedback.
Let’s dive in.
When I was in high school, My dad lost his job, and it took a while for him to get back on his feet. He was a teacher for the blind, but he ended up taking retail jobs to make ends meet. It shook me to my core. Since then, I’ve seen countless friends give everything they have to a company they love, only to have the rug pulled out from under them when the economy goes south. Unfortunately, employment isn’t guaranteed, even if you go above and beyond what they’ve asked you to do.
Author and software developer Andy Lester gives the following important advice in his fantastic book Land the Tech Job You Love on page 186:
No matter what your current job is, you’re working for yourself. Consider yourself as working for You And Your Family, Inc., and you’re a contractor to whomever your current employer is.
If you’ve ever done contract work before, you know that part of your job as a contract worker is spending that time looking for the next contract.
So if you currently have a job you like, here are five reasons you should be interviewing anyway.
When you have a job you like, you will be more confident. You’ll be calm and won’t do things that come across as desperate. You’re not going to accept a lower salary than you have, and you’re more likely to ask more challenging questions about the role, manager, and company because you’re going to compare those to what you have now.
Of course, you have to watch out because you also don’t want that confidence to turn into arrogance. You should confidently explore what’s out there with genuine curiosity.
You’re happy and comfortable with the way you and your team work. As you interview with other places, you’ll learn how those teams work. You’ll see if your team is aligned with industry peers, and you may even learn something new. I’ve learned about several exciting tools through interviews that I’ve since put to use.
While in my last role, I applied for a position at another company and made it to the final round of interviews. I didn’t get the role because they went with a different candidate, but I got great feedback. A year later, I decided that it was time to leave my job, so I saw and applied for a different role at the same company that looked like a closer fit. The recruiter recognized me immediately and we jumped on a call. After some discussion, I determined that the position wouldn’t be a good fit, so I withdrew from the process. The recruiter and I still talk occasionally, even though they’re now at a different company.
You can build connections like this too. Not every role will be a good fit, but you, and they, won’t know until you have the conversation. And if it doesn’t work out, ask the people you talked with if they’d be willing to stay connected through LinkedIn. I’ve maintained professional connections with many people I’ve interviewed for roles. We’ll all need help someday. Maybe you’ll be able to help them land their next role too!
As you go through the process, someone will ask you what your salary expectations are. I don’t recommend dodging this question. I recommend you research salaries using self-reporting tools like levels.fyi and talking to friends you trust. But another way you can figure this out is by stating your range and getting feedback during interviews.
Personally, I think taking your current salary and adding 20% to it is a good floor, so you might tell the recruiter you’re looking for 30% more than you’re making now. If the recruiter says that’s higher than they’re targeting, you now have a data point. If you keep getting this feedback, that’s more data to help you calibrate. But if the recruiter says your target sounds like something they can work with, you have another data point.
The more interviews you go on, the more data you can collect. This is especially important for those of you who’ve stayed in the same role for a long time.
A good friend of mine was very happy in her current role, but I suggested she send out some applications anyway because I suspected she wasn’t being paid what she was worth. She got an interviewer at a well-known tech company, and before she knew it, she received an offer with a substantial raise. She told me how great the people were and how excited she was about the new adventure.
If you know me, you know that one of my favorite sayings is, “the answer is always no unless you ask.” You need to apply for jobs and ask for interviews to know what’s waiting for you.
Those are the five reasons I think you should be interviewing even when you’re happy. I want to recognize that it’s not as easy as “I’d like to be interviewed.” Many people apply for jobs and never make it past the application process. Some of that is because their application materials need work, or their LinkedIn profile doesn’t tell the recruiter or hiring manager anything useful about the candidate. But in many other cases, the candidate may have applied too late. Many companies start moving candidates along the pipeline right away, and at a certain point, they have enough candidates in the process that they don’t need to screen more. The best thing you can do is use your network and get referrals. If you see a role and know someone who works there, ask them to pass your information along. Most people are happy to do this, so feel free to ask.
Good luck!
If you’ve written anything for school or work, you’ve probably encountered a style guide at some point. Those style guides help writers in the same organization produce consistent work. Thanks to some modern tooling, editors, and writers no longer need to keep a copy of the style guide handy as they write.
Vale lets you lint your prose like you’d enforce style across a codebase. You define your rules, and Vale looks at your writing to tell you what changes you need to make. It can even hook into your text editor and make changes automatically.
Best of all, you don’t have to start from scratch. If your style guide is built on Microsoft or Google’s style guides, you can import Vale’s implementations of those guides into your project.
To get started, you install Vale and then create a .vale.ini
file in the root of your writing project that specifies what base styles you want to use. You can write this by hand or use the Vale configuration generator to build it.
For example, to use Vale’s implementations of Microsoft’s style guide and alex, a tool that checks for insensitive writing and profanity, you’d add the following lines of code to the .vale.ini
file:
StylesPath = vale/styles
MinAlertLevel = suggestion
Packages = Microsoft, alex
[*]
BasedOnStyles = Vale, Microsoft, alex
Save that file, and then, in a terminal, run the following command to download the styles you’ve based your configuration on:
vale sync
This creates the directory specified in StylesPath
and downloads the Microsoft and Alex styles. You can explore those to learn how styles work and even modify them yourself.
Now test Vale out on a string of text:
echo "This was written by me" | vale
Vale will flag this sentence because it uses first-person pronouns and passive voice, both of which the Microsoft style guide frowns upon:
stdin.txt
1:6 suggestion 'was written' looks like passive voice. Microsoft.Passive
1:21 warning Use first person (such as 'me') sparingly. Microsoft.FirstPerson
✖ 0 errors, 1 warning and 1 suggestion in stdin.
You can have Vale run on a single file or an entire directory. It handles HTML and Markdown nicely and supports other formats too.
If you’ve configured your text editor with Vale support, you can get this feedback while you write. You can also write your own style rules. See the documentation for more.
If you struggle with following style guides or want to save a bunch of time, consider adding this to your project today.
If you need to make a local network service available to the outside world, you can use tools like localtunnel or ngrok. bore is a small, open-source alternative that lets you run both a client and server. It’s efficient, small, and fast. More importantly, it has no dependencies, so you don’t need a language runtime installed to use it.
Download bore
with your package manager or grab the latest release from the releases page on GitHub.
Start a web server on your local machine. For this example, I’ll assume the server is running on port 3000
.
Now use the following command to start bore
and forward the local server running on port 3000
to a random port on bore.pub
:
“`bash bore local 3000 –to bore.pub
You'll see output that shows the service is connected, and you'll see the external port to use:
2023-02-20T20:21:31.767961Z INFO bore_cli::client: connected to server remote_port=SOME_PORT 2023-02-20T20:21:31.768010Z INFO bore_cli::client: listening at bore.pub:SOME_PORT ```
When you visit bore.pub:SOME_PORT
in your browser, you’ll see the local service you’re running.
I’ve been using this for a few weeks now and am very happy with it. The bore
CLI tool has a server component so you can run your own server instead of relying on the bore.pub
server.
I’ve written a full tutorial on Bore for the Small, Sharp Software Tools site. Check it out to learn more.
That’s it for this time, but here are a couple of things for you to think about over the next month:
Thanks as always for reading.
-bph
I'd love to talk with you about this newsletter on Mastodon, Twitter, or LinkedIn. Let's connect!
Please support this newsletter and my work by encouraging others to subscribe or by buying a friend a copy of Exercises for Programmers, Small, Sharp Software Tools, or any of my other books.