Are you an embedded developer? Bring a show-and-tell to your next interview. Bring an example of something you've worked on. Doesn't have to be in a finished case. In fact, a raw PCB can be more effective.
Make sure 1) the product has already been released to the public and 2) the hardware isn't stolen. Rig up a small power supply and find a way to light it up.
Being able to drop that in front of an interviewer and explain the entire system front-to-back is a massive advantage over people that have listed random "projects" in their resume but don't have much more to say about it. Be honest about your contributions, don't give away anything proprietary, but be proud of the project and show some enthusiasm when you talk about it.
That alone will get you 80% of the way to the job.
I also keep a binder with a single page for every project I've done. Just a photograph and maybe 3-4 lines of text. Keep that off to the side. When an interviewer asks about a technology or idea that matches even a little you whip that book out and point to the page. Now you're showing and telling again. Super easy to put together and maintain over your career.
This reminds me of one of my coworkers who was interviewing around for his next job. One company he was interviewing for had a website with public facing user profiles. My coworker found a SQL injection vuln and wrote a POC virus that would spread to any other account that was logged in while viewing an infected profile and took it with him to his interview, gave them the code, and showed them how they could fix it. He said they were really thankful for the information, but as he was retelling the story to us later we all talked about how that could have gone very badly.
True. AFAIK he had created multiple accounts to play with, so he was exploiting his own test accounts. But as I said, we all talked about how risky of a move that was.
> Make sure 1) the product has already been released to the public and 2) the hardware isn't stolen... don't give away anything proprietary
Basically no one I've ever met was able to show me work from the giant corporation they worked for.
But it's not because of NDAs. Indeed because of the nature of my business, those companies are my customers, we already all work together, I've signed NDAs, they are actually permitted to show me stuff.
It's because they didn't do anything. NDA = Not Doing Anything.
> That alone will get you 80% of the way to the job.
Large corporations (500+) employ like half of Americans, and probably way more than 50% of tech workers. So many of their management systems boil down to having 2-10 people redundantly doing the same work. So many do no work. I mean I'm sure they aspire to do work, but there isn't any to do.
As long as this remains the norm, your interviewers will, statistically speaking, have done similarly little as you, and that will be okay, and leetcode will prevail.
It's your prerogative. Nobody said anything about "exfiltrating." Showing someone X doesn't mean that X isn't owned by its owner anymore. These aren't semantic arguments.
You're going to have a hard time expressing what exactly is the violation when everyone has signed the same NDAs and CIIAs! Like if you work for Google, and I work for Google, you can fathom, well I can look at code you've written for Google.
Okay, now if I only "work" for Google, which like 200,000 people do, and they've signed the same exact agreements as you... It's your prerogative!
> criminally or civilly
It's your prerogative! You can leetcode instead!
I am not saying this is you. But there are many developers, arguably the majority, who complain tirelessly about the status quo of interviewing. And given one opportunity after another to change that status quo - doing the stuff Simon says, doing the stuff I am saying - they make no effort! They vamp about how it's impossible.
They think their social local mobile trip planning startup website code is sensitive. They think their 15 layers of Dagger dependency injections is sensitive. It's not. If you want to change the status quo from leetcoding, you're going to have to screen share a "diff" here or there, and show people concretely what the hell you've been doing for a year at BigCo or UnicornCo. I cannot predict the future and I cannot generalize, but in my experience, the likelihood of criminal, civil or even the far more realistic reputational and cultural repurcussion is extremely small.
All I am saying is, the reason this hasn't happened yet is because most people spend a year at BigCo and UnicornCo doing nothing of any substance. I mean maybe that's going to change. But it's really tough, nobody is being honest with how truly tremendously mismanaged and ZIRP-fueled large employers are. It hasn't been this way forever, but it has for at least 10 years, and it means some crazy things have happened in the job market that made no sense.
Copying work code to a non-work device to show during an interview is exfiltrating code. Well staffed security orgs at large companies have insider threat teams that look for this type of thing, in addition to monitoring for exfiltration of company documents and other materials to personal devices.
> Like if you work for Google, and I work for Google, you can fathom, well I can look at code you've written for Google.
wait how does that work in the context of an interview though? You're by definition interviewing somewhere where you don't currently work
> you're going to have to screen share a "diff" here or there, and show people concretely what the hell you've been doing for a year at BigCo or UnicornCo. I cannot predict the future and I cannot generalize, but in my experience, the likelihood of criminal, civil or even the far more realistic reputational and cultural repurcussion is extremely small
It is more common than you think. I've had candidates submit code samples with proprietary code from their current employer during interviews. One example: some files from a telco billing system. Right or wrong, there is essentially zero risk for this sort of thing.
I do hiring at my company. If a candidate showed me non-public code during an interview, they're an immediate no hire. Interview is immediately over. This isn't my personal preference or anything either. It's specifically in our interview training.
It demonstrates a clear inability to protect company IP. That's a big deal. Especially if you're a publicly traded company.
I've been meaning for years to put together a proper "projects" portfolio for my own site. I really like what Tom MacWright has for that https://macwright.com/projects/
I do something similar. I have a binder of product brochures for every product I have built. Its worked very effectively and is more engaging than just talking about some tech, you can point to an actual product and show how it all works.
I basically just did that and got the job. The interesting bit is that after the (many) interview(s) I talked to some guys and was told not to do that because it would be too unusual and would decrease my chances :shrug:
The trick is being unusual enough to stand out initially but not so much that it's questioned at later steps whether or not you'll be able to fit in, work on the existing team, etc.
I’ve spent nearly twenty years blogging, giving talks and releasing open source code. [...] I’ve interviewed hundreds of people [...] The vast majority of candidates have little to no evidence of creativity in public at all
Are we sure the author is not showing some unconscious bias by looking in others for traits he has (public creativity)?
There is no particular reason why public creativity is linked to good engineers. It's one way to show good engineering, sure. But far from the only way. I could see some other hiring managers arguing the opposite: if you have time to write lightweight tech posts on your blogs, maybe you are not a great engineer who will solve my company's most difficult problems.
That being said, especially for new grads, I strongly recommend showing something, anything beyond "I graduated from this university and here are the classes I took".
I developed complex systems that run businesses all by myself. During those projects I had no desire to do anything computer wise outside of work because I was challenged on daily basis. DevOps, setting up servers, building CI/CD, setting up environments, implementing different features, setting up databases, database design, learning ORMs, writing stored procedures, APIs, building the front end.....and the list goes on and on.
Blogging takes time away from work. Some people like myself do not want to make their thoughts public because I value privacy. I also don't feel like I have anything much interesting to say. I just like getting "shit" done.
I feel I'm capable of learning anything required to complete a task/job. Yet, I wouldn't fit his idea of someone who stands out. Then, again I don't really like working with people who show such extreme bias and are not open minded.
It's very much a conscious bias. That's why I also say: "As a hiring manager, this means you have to learn how to source candidates and interview effectively: you don’t want to miss out on a great engineer just because they spent all of their energy making great products for prior employers rather than blogging, speaking and coding in public.".
He very specifically called out that this advice is if you’d like stand out from the crowd. I think there’s nothing wrong with unconscious bias and him simply calling this out.
That being said, I see no reason this advice wouldn’t work on hiring managers with less experience blogging.
Some of them are live, have screenshots, proper documentation and such.
Some of them gets stars or people reach out for support on these projects.
Some of them I've advertised on Reddit etc and reached 100K+ views and a lot of upvotes in their respective Communities.
I also have a substack which has reached top of HackerNews once.
All this has netted me exactly ZERO opportunities till now.
Thankfully, I'm doing Github and Substack as a hobby/learning so no expectations = no disappointment.
But the author is deluded to think these things help. You might win the lottery and the right person might see your content at the right time. But it's better to just use this time to cram Leetcode and get a job.
I've held various roles over the years and personally believe that public contributions and innovative open source projects will often impress potential employers. Despite not coding much professionally anymore, I engage in fun personal open-source coding to maintain my skills. This strategy even played a part in securing my latest, predominantly non-coding role.
After reading your post, I reviewed your GitHub profile. You're certainly on the right track, but there's room for improvement. Here are my personal observations and opinions:
- You have numerous small projects, but they lack detailed descriptions and the README files don't tell me much about their purpose. Why are you building these? How can they be run? What functionality do they offer?
- Many projects have minimal activity, suggesting they might be incomplete or abandoned.
- There are several boilerplate projects like "calculator", "todo", and "tutorial".
- Your commit messages in most repos are quite short, often just one or two words. This practice might not be accepted in a professional team setting. I've been guilty of this with my personal projects at times too.
- Your project https://github.com/prakhar897/workaround-gpt shows promise in terms of community interest and the start of what could be a well-constructed README. Perhaps you should consider continuing with this project or developing a similar, well-structured project. Just a thought.
So, it sounds like having a Github could be a net negative. I don't treat personal projects like I treat production code at work. I experiment, don't write a lot of unit tests, use bad practices because they're easier, and I get bored and abandon things because after all, it's not like I'm being paid for any of this.
If that's going to be seen as a red flag, then I'm not going to share any of that.
I certainly didn't mean to suggest that having a GitHub profile could be a negative. My point isn't about identifying red flags, but about pointing out areas that could be improved to make one's profile stand out - especially in the case of the person I was responding to. As someone who reviews numerous resumes, I'm providing insight into what I typically look for when I peruse a candidate's GitHub account, based on my personal experience. I don't disqualify someone based on their GitHub activity, but I do use it as an additional datapoint to help identify those who might stand out from their peers.
I've some GH repos whose quality I'm ashamed of today. But it's clear they were developed by a person with 12 years less experience than me today. It's clear it was just a hobby-project or clear that it wasn't ever meant to be continued this long. A line like "The code in X is a mess and needs a refactoring" is enough.
It is to me, when I researched candidates. When a ticket, todo or note shows that the author is clearly aware of the problems, and shows she/he can weigh off why (not) to fix that today, it tells -me- they are good in what they do.
A dev who shows to make decisions about quality, effort, workflows, based on experience and reasoning, to me, is worth a hundred devs that blindly follow The Sacrosanct Rule Of The Latest Cargo Cult Religion™.
A dev who shows she/he grew over time, by showing "terrible" code in the past, to me, is worth a hundred devs that have been doing the exact same rituals for years or decades.
So, yes: by all means, show your worst stuff. But be sure it's clear that you know its "bad" and why.
I never said that having this stuff would get you the job offers. You still have to apply for the opportunities that are a good fit for you.
At least in the companies I've worked for in the UK and the US it should help you make it past the first filter - the "I have a stack of candidates, which of these are worth setting up an initial phone interview with" phase.
So few people even list their github profile on their resume. When I was a manager if I was reviewing resumes and you had a github profile listed your odds of getting that first screening call went up dramatically.
Welp, I have a semi decent profile on Github. Recently I applied for around 100 small startups based in EU/UK, Got a total of 1 callback. In short, I followed all the steps mentioned but still fell flat. Really curious what are your thoughts on this.
I think it's meant as an add-on to stand out when applying to a job.
I'm quite Junior so I don't know if this applies to more senior positions, but in my experience when applying to jobs my Github page was always a point of discussion when I got an interview.
I actively seek out open source maintainers when hiring. I recently hired an engineer (who happens to be Indian) I found via a popular package he maintains. I don't know how common it is to do this but, somewhat self-servingly, I think that employers who select for open source contributions may offer a better environment than those who don't.
I'm on the fence here: sadly it does seem that grinding LC is an optimal use of time for the avg job seeker.
That said, not sure you can easily quantify projects as having no impact. Back when I was a seeker my resume had a handful of non-trivial public projects buried in a footnote and one would come up in about 75% of interviews. Despite bias I doubt this is too unique assuming the projs themselves are interesting.
Remember: your entire resume is adtech for your skills to a future employer. I'm of the belief that if human eyes ever skim it: project: Java CLI fizz buzz will never outperform project: RISC-V microkernel in Rust.
I got my first software engineering job only once I had a successful open source hardware/software product. Every interviewer asked about it, and it was the reason I got in the door despite not doing anything CompSci related.
When I applied recently to a new job, the interviewer(s) didn't even look at my github profile (or if they did, they might have clicked on one repo for 5s, and left). I know this based on the questions they asked me.
Unless you highly curate your online presence for the hiring people (e.g. your blog only contains articles of interest to the interviewers in one place), I think nobody cares. The exception being is if your code/articles are in the top 5% of read articles, then I'd guess that speaks for itself without gaming the presentation.
Actually, I think the opposite can also happen. I've heard point-blank during a programming interview: "why do you want to work here...you're too creative."
I strongly recommend creating a GitHub Profile README and spending some time on it, and get others to review it. Imagine the interviewer will skim it for 10 seconds before your interview -- your personal README matters! They are unusual so you'll stand out.
On mine I list three attributes that make me a great, and unique, worker for the jobs I'm looking for. Go ahead and be grandiose here -- the point is to start a conversation!
I would only ask if its directly relevant. If you have a fork of a few repos and a crud app, I don't really care. If you have something you want to draw attention to, do it in your resume with a link to the github profile.
I'm always surprised at how much push-back this one gets. The point I was trying to make here is that you DON'T need to be someone who spends every free moment blogging, writing open source code and so on. Stick up a few posts somewhere and leave them there, as a tiny piece of extra evidence that you're someone who knows how to do things.
Maybe part of the problem is that I'm grossly under-estimating the amount of work involved in "post an interesting technical article to it once or twice a year" for people who don't already spend a lot of their time writing.
I don't think there's anything wrong with your suggestions; I think they absolutely will be minimal effort for a huge payoff for a job seeker.
Here are the struggles I've had with this over my career:
* Public vs private persona. I'm a pretty open person and happy to share with people I know or where it feels "safe" (eg, Facebook where I more explicitly control the audience) but I'm deeply uncomfortable with publicly announcing things under my name on the internet to go god-knows-where. This is one reason I've been tremendously uncomfortable with Twitter. I absolutely despise the public-broadcast model, and I'm somewhat suspicious of people who want to make such a show of themselves (to build an "audience"). I've toyed with various forms of pseudonymity but that brings its own problems; I think it encourages antisocial behaviors and then at some people you have to 'expose' yourself (eg, when you have to tell your prospective employer, yes, NSAhacker31337 is my github, take a look!)
* Along with the above, blogging/demonstrating things always has a bit of a show-off feel. "Look at this great thing I know how to do, I bet you don't know how to do it!" Or, worse, you're demonstrating something "everybody knows" and you look like a naive fool.
* Consistency. I've made various "I should start a blog" efforts over the years, and inevitably get bored of the tools and want it somewhere else, or I don't like the tone I used to use, or I forget which site I used, or whatever. It's sort of like how "just go to the gym 3 days a week" shouldn't be that hard, but for 99% of people is.
Again, these are just my personal struggles, to maybe help you understand why people don't. It's nothing against your advice, which I think is fantastic.
"Or, worse, you're demonstrating something "everybody knows" and you look like a naive fool."
That's one of the reasons I'm so keen on the TIL format - it gives you permission to write about tiny little things (things you just learned) without feeling like you need to be original or explain something groundbreaking and new.
My take on the problem: You're projecting yourself onto other people who are looking at candidates. This stuff matters to you but not to most people hiring. The corporate apparatus tends to view these things as a challenge to The Way We Do Things Here, so a blog post or side project might even be a red flag. This strategy is a gigantic waste of time. It shouldn't be but it is.
Yeah, my advice is very much focused on "working for ambitious technology companies". I wouldn't be at all surprised to learn that standard corporate coding jobs - where the interviewer might not even have a technical background themselves - wouldn't even think to check for a GitHub profile or technical blog.
> The corporate apparatus tends to view these things as a challenge to The Way We Do Things Here, so a blog post or side project might even be a red flag.
I know I'm coming at this from the idealistic position of someone who's lucky enough to have a job, but isn't it kind of a good thing if you find out early that you're applying to a company where doing things is a red flag?
You'll never receive feedback on why you were rejected either way, so there's no way to prove or disprove this strategy, or any other.
We hem and haw and tweak and fret about every little thing in this process, but ultimately all roads lead to "Thank you for your interest in SomeCorp. Unfortunately, we have decided not to proceed with your candidacy at this time, but we appreciate the time and effort you dedicated to the application process. We will keep you in mind for future openings and we encourage you to keep current on new opportunities on our careers site."
I don’t think the rejection reason matters in this context, though. GP’s point is that it’s better to filter out fundamental mismatches before a protracted interview process that ultimately results in a rejection anyway (or, worse, an acceptance that results in quitting or being fired).
I appreciate the advice Simon! I don't think that you're under-estimating it, I think many (myself included) have a tendency to over-estimate it. I feel a decent amount of self-induced pressure for anything I think about writing to be really high quality - I see blogs like yours and the standard is set quite high! But I understand this is true of many creative activities: if you have good taste, then reaching the level of the work you admire is necessarily a lofty goal, and your early creative work is unlikely to meet it. But all of that is to say, the best course of action is still to Just Write. I hope I can take this advice to heart and start putting work out there! A 20-year blog begins with a single post :)
At least for me, I've never had my public projects, blog, youtube tutorials, stack overflow contributions etc referred to.
Generally it's been easy for me to get interviews, and hard to get offers (something like a 95% onsite rejection rate). I have enough experience and the resume items that gets recruiters excited about their next bonus. But it seems folks walk away saying "Yeah he's technical, but <xyz nitpick or undermining statement about my contributions>" ...
I generally agree. The public presence that's given me a lot of positive attention is:
1. Having a custom ___domain
2. Using that custom ___domain for email
3. Have your custom ___domain point to a professional-looking page. Maybe link to a resume/other things.
I've had a surprising number of interesting interactions just because someone saw my email and went to my website. Some yielded job leads and eventual referrals to jobs through old-school networking.
Do you think the TLD matters? I see you have a .com, but I can never find any plausible .coms available for my name. Do you think people care about this? Does stuff like .me and .io seem unprofessional somehow for this "cool, they have a custom email ___domain, let's go see what's on it" workflow?
I think you answered your own question. It's hard to get into writing if you don't do it regularly.I literally have a list of 30 things it would be nice to write up (not all technical) but the chances of my doing it alongside everything else are quite low.
> I'm always surprised at how much push-back this one gets.
Oh, but the explanation is simple. They resent being told to eat their vegetables. They know you're right, but don't want to or can't do it, and attack you for reminding them of that.
> I'm grossly under-estimating the amount of work
Probably a big part of it - if you write a lot, it is very easy to forget how intimidating it can feel to those who don't. And related hang ups can be amplifiers - if you don't write much and have insecurities (sorry, "imposter syndrome"), being told this should be an easy thing can be triggering. And this is employment we're talking about - it is definitionally high-stakes, whatever the stakes are.
> Maybe part of the problem is that I'm grossly under-estimating the amount of work involved in "post an interesting technical article to it once or twice a year" for people who don't already spend a lot of their time writing.
I think that's largely it. I've thought of things that would be interesting to write as a short blog post. What's stopping me?
* I don't already have a blog where it'd be easy to post things. I'd have to research what to sign up for. Free sites would spam my readers with ads that I don't agree with, and try to track them. Paid sites cost money, obviously, and may be predatory. The platform could be acquired and/or killed, and I could lose my content or have to transfer it somewhere else. I anticipate 50% of my total blogging effort would be spent just on dealing with all this bullshit. That's time I could be spending with my kids. "Just self-host!" okay now 90% of my total blogging effort, plus server costs.
* I'd want proper code formatting, examples, good visuals; you know, something publishable. I'd simply never get it good enough to post. Perfect would absolutely be the enemy of good. And ideas are constantly evolving and changing. I don't agree now with everything I wrote a year ago; that's what progress and learning is supposed to do. So the temptation to constantly go back and nitpick it, edit it, would be there, all day, every day.
* Nobody would ever read it anyway. It wouldn't hold a candle to the blazing light of SEO spam. Even in the unlikely event someone did read it, they wouldn't care. Even in the unlikely event they did care, it would be different from the way they're already doing things, and therefore they'd become extremely hostile and write hateful comments about some minor point they misunderstood. Which I'd read, despite myself, and then I'd have shower arguments with them instead of focusing on actual work.
So why am I doing all this work? Who am I blogging for? A potential future employer for the one time I'm looking for a job in the next decade, who probably won't even bother to look at it? "You write for yourself, to organize your own thoughts" -- okay, I already do that, I just don't publish it, for all these reasons.
I'm not a blogger and have no horse in the race, but I think you should re-evaluate a couple things on the list if you think you'd be interested in blogging.
For both #1 and #2, there are dozens of static site generators that handle all of this for you automatically. Not all of them are as complicated as the big ones. You can get started with a theme in Zola in a couple hours and that can be your blog forever, with support for code syntax.
For number 3, the idea is not that people will organically stumble on your blog in a search, but that you'd share it to different communities relevant to your blog post. If you're writing about F#, post it on the F# reddit. SEO spam can't really mess with you there. In fact, I feel like SEO spam is only pushed by Google, and communities tend to not engage with that content.
I feel you on the extremely hostile responses, though. Without fail, any article that makes it to the top of HN has lots of people insinuating it was somehow written maliciously, even if it's just about something minor like Sum Types vs Union Types. Unfortunately the answer is to shut off your brain to the hostility but take in their counterpoints. These people likely think about nothing but code for most of the day, so even if they're well-rounded and nice in real life, their brain has temporarily narrowed the scope of their world view, and they make mountains out of mole hills
> Free sites would spam my readers with ads that I don't agree with, and try to track them. Paid sites cost money, obviously, and may be predatory. The platform could be acquired and/or killed, and I could lose my content or have to transfer it somewhere else.
My recommendation these days is to start with GitHub Pages.
3. GitHub have a REALLY GOOD track record of not breaking things like this. I trust them more than most other companies with respect to my stuff there staying online for a long time into the future.
My trick for formatting syntax highlighting is to write my posts in Markdown (with the ```python tags for code) and then run it through this little tool to turn it into HTML: https://til.simonwillison.net/tools/render-markdown - then I publish the resulting HTML.
I think what you're missing is an explanation on why there should be any correlation between being a good developer/employee with writing a blog. Sure, you can say communication skills, but you want to test for that anyway.
I actually think that we'd have a much better job market without any of this.
I'm also among the people that see too much pointless content being published simply for hidden advertising, including by companies.
I don't think there's a correlation between writing a blog and being a good developer.
I think there's a small correlation between "having a tiny bit of evidence online that you're capable of solving problems" and "getting invited to an in-person interview" - at least given my own experience at the companies that I've worked at (and hired for).
That said, I do think there's a strong correlation between being good at written communication and being a great senior / staff-level engineer.
For me the barrier has been that I've never gotten around to setting the blog up. Often having ideas for (I think) a good post, but don't have the blog to post it to. Some of them get noted down in case I ever do.
I do intend (as in, have been particularly intending recently) to do it, because I think then I would find it lower effort, I would do it, and that I would like that. We'll see, the list of things I've intended to do is long!
I particularly like the style of (others') blog where you dive semi-deep on something semi-obscure to fix or do something, perhaps it's not your usual area, and then write up a nice explainer for the next searcher, or a note to self for the future. Explain it to someone who's never understood it before, while you still remember that perspective.
Suggestion: start with Gists! Post markdown files on https://gist.github.com/ - you can migrate them to a proper blog should you set one up in the future.
I'd suggest a regular repo, but GitHub block search engine crawlers from indexing anything other than the README.md file - so Gists are weirdly better for publishing content.
I’m not a big self-publisher myself, but as a hiring manager, I am definitely attracted to candidates who have a robust public portfolio. That said, in hindsight, I’m not sure I’ve noticed any correlation between the strength of the public portfolio and job performance.
Ha, I think this is a pretty classic description of unconscious bias; you have warm fuzzies about people with robust public profiles, without having given much thought to whether it's a strong signal of performance.
Edit to add: I feel like this came off as harsh, but it really wasn't intended to at all. We all have this kind of bias. I have a bit of the opposite bias as you, for what it's worth, because the best people I've worked with have been essentially silent in public, and I tend to see people with robust public profiles as having spent time on marketing themselves that could have been better spent on other things. This kind of bias that we all build throughout our life experience is why hiring is extremely fraught.
I have about five ideas I really want to write about, that I know would be really great future PR for myself in the niche I'm interested in right now. They wouldn't need to be long, but they would still be hard for me to write and edit to a point that I feel good about having them out in public attached to my name. So they don't get written. (But maybe they will someday.)
In spirit, I agree–spread your knowledge, far and wide.
But making your voice heard and stand out from the crowd is no simple feat: we don't all have the luxury of Twitter following, a much subscribed RSS feed, a prominent ___domain name to spread the fruits of our hard work.
The network effects that benefit early influencers are difficult to pierce, I find.
That's the trick here though: you don't need any distribution at all for this to work.
You just need something you can link to from your resume, so the hiring manager can click through and see a tiny bit of evidence that you can talk about code or build a project.
One of the best ways for me to understand a candidate in an interview process OR a prospective lead that I'm reporting to (be it CEO, CTO, VPE) if I'm on the other end is to see how they think and how they interact with a community.
Whether that's through a blog, through their socials, LinkedIn posts, through their YouTube, through their GitHub - I review all of it; anything I can find. I want to see how they communicate, how they think, how they comment their code (or don't), their view points on various touchy subjects in software engineering and system design.
It's basic background research. Why suffer through a relationship that isn't going to work out for either party if some basic digging can short circuit that problem? It also provides great context for an interview and points of discussion that help connect with the other party.
I think this is not a good idea. It is misleading to dig into what people are like in their personal lives in order to understand what they're like in their professional lives. People have different personas in different situations and for different audiences, and what matters as an employer is what they are like professionally, which may or may not have anything to do with what they're like on social networks or youtube.
100%. Especially in a tough, competitive job market like today's, having a credible portfolio of work, published content, and external validation makes a huge difference. It can take a good candidate to the top of the list, and when that list is a few dozen great applications, that's critical.
As a hiring manager I weigh a candidate's public presence at 10~15% of my initial decision, even more if it's exceptionally impressive. And I hear from other hiring managers that they view this similarly.
If you have good academic qualifications and a great record of past work experience ... guess what, there are several other candidates with great academic qualifications and an impressive work experience. Having a strong portfolio of public work can be what distinguishes you and gets you the opportunity to be invited to interview.
One important note: just having publicly available content isn't enough. It also has to be credible and impressive. Original articles that demonstrate deep expertise and are valuable to others. Serious codebase you wrote yourself or made significant contributions to. Real achievements on things like Kaggle competitions. I sometimes see people including a link to a "business card" type website with their photo and links to their social media or a blurb about themselves. That doesn't impress and won't make a difference.
Companies already want us working an amount of hours well beyond what our salaries should cover, being on-call, and often working well into the night for deadlines, and sometimes the entire night into the next work day when incidents arise.
Then, when we need a job, we need to custom write a compelling “cover letter” that sucks the dick of some corporate entity in order to “tell us why you’d love to work for us” in a unique way that gets someone’s eyeballs in the 5 seconds of time your resume has to get attention or shredded.
Why do I want to work for your company? Because I need to eat to survive and you’re hiring. That’s why. There may be more about your company I like, but at the end of the day I wouldn’t apply to work there if I didn’t need to in order to survive.
Now, we need to be spending all of our time off, which if you work for a startup isn’t as much as you’d think, developing a blog with highly technical and relevant posts in an industry where all tech is a moving target with fads that move fast, Maintain open source projects that should not be “simple” in nature, speak at conferences, etc. That’s in addition to the never ending time commitment to continued learning we already have to do in order to stay somewhat relevant, while also trying to focus on specific tech enough to become a senior level expert or industry leader.
No. Enough. Corporate America gets enough of our lives. The interview process from applying to offer is already a shit show circus of having to market yourself hoping you get picked to not become homeless, all while dealing with multiple rounds of lengthy calls with people on power trips who can often actually be threatened by an impressive portfolio and not recommend you for hire in order to secure their own role and status.
If I work on open source it will be for me and not for a potential job (that won’t look at it or care anyway unless they can use you for it).
You know what gets people offer letters? Word of mouth referrals coming from highly revered coworkers. If you have solid connections out there that are badass engineers who can vouch to their eng managers that you too are a badass engineer, the interview is essentially a formality.
I hear something like that from other Americans as well and do not doubt that what you are saying is true, but why is it like that? Isn't the unemployment rate in the US low (around 3.5%) right now?
I live in a country where the unemployment rate is pretty low (2.5%) and the situation is kind of the reverse of what you are describing. Companies are trying to entice potential employees, not the other way around. Give me 6 weeks of paid vacations and do not even think about over-times; you look at me funny and I am gone... there are 10 other companies where I can start tomorrow.
I am now trying to relocate to Spain and it is not like that there - but I get why; because their unemployment rate is really high so employers have the power over employees. But in the US? I am sorry if that is a naive question - I've not been to the US since 2002. A lot has changed, apparently.
Its very easy to fire people in the US, so there is likely considerable more stress involved in the US workers day to day as they don't know if they are going to be randomly let go tomorrow. US companies will often lay off hundreds of people to make the bottom line look better. We generally make good $ but it could all end tomorrow so we are always thinking of the next position. In addition, we get used to the money so while we could probably easily get a lower paying job if we have to, many of us [not al] also are not that great at financial planning in the US so the stress is maximized. On top of that our health insurance for our family is provided by our jobs.
So in the US its a perfect storm of stress and reliance on our jobs that can be taken away at any moment.
> our health insurance for our family is provided by our jobs
I was not sure how this worked. I knew that the US does not have universal health care (not having it is one of those famous American things) but I assumed that it works on a private basis - you chose an insurance company if you want (and can afford) to be insured, you pay them $X per year and you are covered. Having this tied to your employment gives your employer terrible leverage over you. That would certainly stressed me out.
Generally your employer provides you a fixed set of say 1 - 3 options, each better but more expensive than the prior. Our insurance policies generally also include a deductible, an amount you have to pay out of pocket before coverage kicks in. For example $3,000 per year. The higher the monthly premium, the lower the deductible. The employer pays ~50% - 70% of the premium and the employee pays the rest with pre tax money. The cost increases as you add children and spouse to your policy. Spouse is generally a higher premium bump than kids.
You should doubt it, because it’s wildly exaggerated. The overwhelming majority of software engineers in America are not speaking at conferences, blogging, or maintaining open-source software beyond possibly toy projects.
> Isn't the unemployment rate in the US low (around 3.5%) right now?
Remember that the "unemployment rate" in the US is very particular. If you haven't searched for a job within the past 4 weeks then you're not unemployed.
Unemployment being low in the US is not so directly correlated with how workers are treated because there are so few labor protections in place and those that do exist are rarely enforced.
For a tech industry example, what Elon Musk did with layoffs and worker treatment at Twitter in his relentless efforts to demonstrate his incompetence would be illegal in most of Europe and quickly face the ire of unions and regulators. In the US, by contrast, his behavior was seen as aspirational by a number of other tech CEOs, who quickly followed suit to demonstrate that they were just as “smart” and “tough” as Musk.
Tip: Work for an established company - preferably a non-Internet oriented one. Perhaps a traditional engineering company (you know, the type that actually manufactures something physical). Definitely not a startup. Or one that is not in tech (e.g. bank, hospital, etc).
They typically will not work you that hard, and no one checks your blog or Github.
Of course, there are downsides to this approach as well...
This is a good idea. I have found that since I started working for an old established fortune 500 [non tech] company, my work life balance is much better. Benefits are very good and no one bothers me when I take vacation. Get out of startup and tech specific companies unless you love development work.
Personally I don't like software development, I have just put on the golden handcuffs that software engineering provides. I cant switch careers and take a massive paycut to do something i like.
An old big company is a good place to work for those of us that just want to work our 40 - 45 hours a week, get a solid paycheck and live our lives. Plus you can do solid work and feel good about it without the local 10x developer coming in to tell you its wrong.
> Why do I want to work for your company? Because I need to eat to survive and you’re hiring.
This is embodied in the contractor lifestyle: no corporate bullshit, no politics, and the "you give me money, I give you a limited slice of my time and skills" equation is crystal clear, without any BS like "we are a family", and such like.
> You know what gets people offer letters? Word of mouth referrals by highly revered coworkers.
Equally relevant as a contractor. And the bonus is that interviews are usually done quicker than for permies, actually, the last time I had a single 45 minute interview, with a minimal amount of technical questions asked (YMMV!).
Tbh I don't think that is the uncommon opinion at all. In fact I agree with it myself. But it seems obvious that the more people share this opinion, the easier it will be to stand out if you do just a little bit extra.
I thought the same. But now I'm looking for a job, and I regret that I don't have a polished project on GitHub that I could show. You don't have to code for another three hours after work, but doing one or two projects on GitHub doesn't hurt. It's relatively easy and adds many points when looking for a job.
If you happen to find a job which has a small open source component, the for-pay public work you do for job n can help you land job n+1.
I agree that hundreds of hours of non-paid work is not a reasonable thing to expect of IT workers. But TFA's message has worked for me for landing several jobs.
> Now, we need to be spending all of our time off, which if you work for a startup isn’t as much as you’d think, developing a blog
If you read my post, you'll see that I'm not advocating for that. I'm suggesting the bare minimum: "Start a blog. Post an interesting technical article to it once or twice a year—something you’ve learned, or a bug you’ve fixed, or a problem you’ve solved. After a few years stop bothering entirely, but leave the blog online somewhere."
The point of my piece is that you don't need to dedicate huge amounts of effort to doing this kind of work. Do a little bit, stick it online somewhere and it will still give you a huge benefit compared to other candidates who don't have any public evidence of their work.
I think what can be confusing to people who receive this advice at a time when they are already searching for a job, is that this is potentially a bit too late. If you publish something once or twice a year (like you suggest in the post) it all adds up and in a few years you have a body of work to present. If you're applying for a job next week there's not much you can do in this one week (although I've seen some exceptions to that too, where people did something cool and heroic in a few days to draw attention to what they have to offer before or while going for a job).
Been on a lot of hiring teams over the years. Hiring managers are especially wary of self promoters. If it's a genuine contribution, side project, or meaningful community involvement, that's great and it counts a lot. But the idea that this status doesn't take much to achieve can backfire if you try to game it.
(Obvious disclaimer all views are my own and not my employer's)
First, let me say that I don't disagree, pragmatically, with the truth of what you're saying, in terms of increasing your odds on the whole as a candidate.
But that said, as another hiring manager, let me respectfully disagree with this as a strong hiring signal. I say this, to boot, as an engineer with an, in my experience, above average OSS contribution, research, and patent portfolio, although these things are a bit power-law-esque so obviously I'm nothing next to many.
When I interview, I want to know you have a track record of high quality delivery, and are good for the skills you attest to. I can understand some folks looking at the public displays as a proxy to that, but I'd argue, at that point, indexing on the "public" part is orthogonal to what we're looking for it to display, and carries both false positives and negatives.
To some degree we may be agreeing loudly here, where you'd say "well that's what them putting it in public is" but I'd worry that by caring about the public component vs. a more generalized examination of professionalism and accomplishment, we preclude folks who have no time or interest in curating that sort of profile.
If I put myself into the absolute edge case of two candidates all things being equal but one seems to have also made a more visible portfolio of work, MAYBE, MAYBE that would move the needle in terms of establishing a degree of external validation, but I think I'd be looking _hard_ for other aspects to differentiate that would seem to have more direct applicability to our day-to-day needs, and am hard pressed to think of a time in the last few hundred interviews I've had to make such a choice without a stronger differentiator for any candidate above a very junior level.
Not necessarily disagreeing with this approach - but an interesting other side to this that should be considered: what about candidates who look great on their public profiles - real achievements and credible expertise - because they focus more on their public profile than their main job?
Completely anecdotal and probably another extreme of the coin - but I'm curious if folks have some experience with this and how to spot this case.
> what about candidates who look great on their public profiles (...) because they focus more on their public profile than their main job?
Not OP, but I'd want to chime in and state the following fact: if you're looking for a job, your goal is to sell yourself as the best choice that your potential employer can make. If you cannot make that case for your employer, why do you think any third party would make it for you?
There are indeed a lot of paper tigers out there. I worked with a couple of them. They can interview better than most. If hiring managers have a limited amount of time to make that call, are you helping them find you by failing to present your case?
Plenty. I have an unusual background with no education beyond high school and all-over-the-place career history, and everything I got in my career was on the strength of my work. It's amazing how many times my publicly available work was crucial for being able to get an opportunity.
It does work to build professional connections. A good number of my jobs came through people recognizing me from talks I've given, my writing, meetups, and working on open source projects.
However it didn't help much in the interview process. I've never been in an interview where the interviewer looked at my profiles on various code hosting platforms, reviewed some of my pull requests before hand, and came into the room with a good idea of what I do and how I work. They will still ask the same pre-canned questions they are forced to ask and we're back to reversing linked lists and memoizing tree walking algorithms.
It's good for getting to know folks which can help in finding places to apply to where you might already know some people.
But I doubt it's going to make you stand out in the interview process itself.
Update: That being said, I've been on the other side of the table and when I was the one setting up the interview process I made sure candidates knew that they could send over recent PRs they've made for us to review in order to bypass any coding exercises. I find it much easier to discuss the problem they were working on and seeing their solution is really helpful.
> I've never been in an interview where the interviewer looked at my profiles on various code hosting platforms
I guess one thing Simon didn't consider is that as long as the vast majority of developers (let alone people) express no creativity, your interviewers won't either.
> ...they could send over recent PRs
As long as the cultural norm is NDA - better known as Not Doing Anything - it won't happen.
Unlike another top poster, this doesn't ring true for me.
I have a blog with 170-ish posts. About half are technical. Three or four have gone viral on HN.
The other half are personal, but I live in a place where people generally share the same values, so those other posts shouldn't be a problem.
I've got a personal project. It's used in production and ships as part of the base install with FreeBSD and Mac OSX.
It demonstrates high proficiency with C. It demonstrates careful work with every function documented in Doxygen comments and a development manual entirely designed to raise the bus factor to infinity. It also shows I've got fuzzing chops.
I have other code. It's not complete, but I've got hundreds or thousands of hours in it, and it's to the same quality.
> Got another programming job. Got fired for "performance." I think the reason wasn’t good, but I also have a hard time building a theory of mind, which means I can’t read code written by others.
If you can't read code written by others, that's going to be a big concern for companies that require you to read and modify other people's code.
Perhaps you need to be a contractor, not an employee.
> Because, quite literally, the Rust Foundation wants to make people like me unwelcome in any Rust event, not just official ones.
> Don’t believe me?
> Look at the draft Rust Trademark Policy that the Rust Foundation is asking for comments on and go to page 12:
> > We will consider requests to use the Marks on a case by case basis, but at a minimum, would expect events and conferences using the Marks to…prohibit the carrying of firearms…
> I have a concealed carry permit. I have firearms and other weapons. I know how to use them, and I will use them in defense of my wife and myself.
> And you can bet I carry them into places I consider dangerous if it is legal to.
Fascinating how they place more importance on how “unwelcome” they would feel if not allowed to carry a gun, versus how physically unsafe others might feel if they were.
Not much. Having lived many years abroad, my theory is that America appears to be such a wild and crazy place because we value everyone having a voice. People in America like to let others know of their opinion as freedom of speech is so celebrated here. You don't see shirts and stickers exposing lifestyles and opinions as often abroad, like "I'm the proud parent of an accelerated learner" or "I love God and Guns".
I bet there are people out there outside the US who think that you should protect your safety in a boring computer conference, but you won't ever hear about it. This notion is too fringe and people won't dare say it.
> I bet there are people out there outside the US who think that you should protect your safety in a boring computer conference,
I think you missed my previous point. Angry men with guns being allowed into a boring computer conference (or anywhere else for that matter) is the reason people think they need to protect their own safety in the first place.
Especially bringing up defending his wife. Do people bring their wives to Rust conferences? Or maybe the reason people don't is because it's too dangerous.
LOL.
I know Rust programmers can be passionate. But this juxtaposition of Gun Violence and Programming strikes a funny chord.
Can just imagine a Rust conference, and an argument breaks out over memory management, one guy starts yelling about 'borrowing', starts shooting, someone else yells "you can take my pointers out of my dead cold hands", starts shooting.
Pandemonium.
I doubt that even a C-only programmer at a Rust conference would be in such danger that it would require firearms to mitigate. But that is my European perspective anyway, perhaps Rust programmers in the USA are significantly more vicious.
It's good PR CYA. They ensure that there will be a much lower chance of an article headlined "mass shooting at rust conference" being written.
I am personal'y of the opinion that brands play it too safe in general and people aren't stupid and know that just because a brand happened to be near something bad doesn't mean the brand is responsible and therefore bad, but apparently brands don't agree and they're the ones calling the shots on where they're displayed.
> They ensure that there will be a much lower chance of an article headlined "mass shooting at rust conference" being written.
I don't think this follows. Historically speaking, most mass shootings have occurred at locations that specifically disallow firearms, making them "soft targets" where the cowardly attacker will not have anyone fight back. It doesn't seem logically consistent to assume that this policy item has the effect you are stating.
I've never had anything to do with guns and I admit I find it weird to want to bring one to a rust conference, ridiculous actually. I do see the point though that whoever came up with these rules is intentionally provoking people. Why would a software project have firearms policy other than as a sort of discrimination or put differently a way of showing the kind of people who are welcome and those who are not. Laws are what they are, and if someone is complying with the law completely unrelated to the software, I don't think my software should have an opinion about that. It's a loud dog whistle and a provocation, not a useful policy.
Eh. Nothing that you quoted would concern me about this person. I am anti-gun and vote that way, but I am mature enough to see the other side's perspective. If a person says he refuses to use Rust because because they prohibit firearms, then as a person I would find it quite understandable, and as an interviewer I would bring it up in the interview to point out that he'll have to work with whatever tech stack we use, and should we switch to Rust, would it be a problem?
Frankly, I think if people won't hire because of a post like this, then the interviewers are the one contributing to the problem.
> Frankly, I think if people won't hire because of a post like this, then the interviewers are the one contributing to the problem.
Totally disagree. For the vast majority of software dev jobs (like 98% of them), you just want someone who shows up and does the work without making much of a fuss. People who openly demonstrate that they are difficult to work with are freely signaling "do not hire me, I will make your life much harder"
Why would you hire someone like that? You'd much rather have someone who is 50% as skilled but gets along with everyone and doesn't make other's lives harder because of their personality
Same. Finding out the politics and personal views of some of the people I've worked with would curl most people's toes! But they show and and work without making much of a fuss. In fact they have been some of my favorite people to work with.
> as an interviewer I would bring it up in the interview to point out that he'll have to work with whatever tech stack we use, and should we switch to Rust, would it be a problem?
And you'd have no problem with your coworkers always keeping a gun on them? This seems like a recipe for a workplace incident
GP carries concealed, so by definition you wouldn't know. If you did know, then it's no longer concealed and that's a different issue.
But (depending on where you live) you'd also be surprised how many coworkers carry guns with them. At one company I was shocked. HR put a policy prohibiting concealed carry, and damn near 80% of my team took serious issue with it. It felt like I had accidentally walked into an NRA meeting or something. There were never any issues, and we tended to get into some heated arguments at that place. Turns out most gun carriers recognize and respect the gun and don't just pull it out and start shooting people every time they get offended.
I haven't seen the actual blog post, but my understanding was the comment was about Rust conferences, not workplace.
But sure, the workplace will usually have a policy about guns, and that's more an HR problem than a problem for me as an interviewer. And I'd put the burden on him to enquire about that aspect.
> Perhaps you need to be a contractor, not an employee.
Unfortunately, I'd say a key skill for a contractor is probably reading code written by others because - at least in my experience - you're 90% of the time coming in to clean up or maintain an old mess someone else has made.
> Perhaps you need to be a contractor, not an employee.
If you can't read code by written by others, being a (software) contractor is probably the worst job you could have. Now you need to read new code at every new client you start at.
And most times it's code that you really don't enjoy reading because it was dragged up from the slurry pits in Beelzebub's own septic tank and mangled over the years into a horrific totem, a paean to insanity, screeching out its perverted agonies the only way it knows how - through JIRA and Kanban boards containing decade-old bugs that you are asked, nay expected, to fix in your first week.
I worked with a contractor who implements an abstraction layer for a communication protocol: goes into a company, provides an integration for the protocol, then leaves.
Similarly I've worked for someone who sets up a continuos integration systems.
There are contracting jobs that don't require you to read the code of others.
Even then, your job as a developer is reading and comprehending other people's code and your manager's intents; writing your own code should be a detail.
The other half are personal, but I live in a place where people generally share the same values, so those other posts shouldn't be a problem.
I read a couple of the posts; I can't comment on the demographics or beliefs of the people recruiting in the ___location you are looking, but I suspect they are not as uniform as you imply - and even those who share them may not share also your penchant for mixing the professional with cultural evangelism - especially if they have responsibility for team cohesion and company reputation.
Is it possible that employers could think that your political aspirations may outweigh your commitment to working consistently for them into the future? Links from your site:
An employer cannot retaliate if you're running for office or have whatever political beliefs you may have. This is from the California Labor Code, but if I remember correctly, every State has this protection in place:
> Labor Code section 1101 prohibits an employer from preventing employees from engaging or participating in politics or preventing employees from becoming candidates for public office.
I can't comment on other jurisdictions, but the United States has a section of legislation called the Civil Rights Act Title VII[1] codifying that discrimination on the basis of a variety of factors (age included) is actually not (legally) right.
I think this is hard to enforce in practice, but just to be clear -- it's not (technically) "right" to be ageist in one's hiring practices in the US.
We have similar anti-discriminatory rules in the various parts of eu.
The answer is always: 'prove the discrimination'.
Candidates can rarely afford to even consider bringing a case.
Of course. But I bet many are quietly influenced by something like this, especially smaller employers who don't want to lose an employee and have to rehire.
I can appreciate that plans and motivations change, but I read that page about intent and the update at the bottom was about getting a letter from Romney. FYI, I'd found the campaign content from the Gab link, which didn't have the campaign-termination announcement.
"If I lose, I will run for Senate of the United States against Mitt Romney in 2024. I will not go away."
"And if I lose, I will then run for President of the United States in 2028 since that is the first year I will be eligible. I will not go away."
This might reflect poorly on you in the eyes of an employer wondering if you were distracted by political priorities, and/or not seeing it through? Could explain the job fortunes.
Let's just say that there was an external reason why I lost motivation that I could tell a potential employer, and they would understand. I won't repeat it on HN though.
In reality, I know why I'm not getting a job. I'll not a good fit for sterile office work. And that's okay for both me and companies; their are right to avoid hiring me.
As long as you're not surprised by the dampening on your job prospects. I feel like there's a difference between not being a good fit, and not getting the opportunity to prove you're not a good fit. Some of your filter, as many are suggesting, is well before the interview process.
I'm mid-40s and have worked for myself since my late teens. I recently realised that I'm likely unemployable in a traditional office sense, and so will need to make everything work off my own back until retirement. Things are good now, but prospects and perceptions change quickly with age, depending on your field.
IME, most companies generally don't care about Github or your blog, but _some_ companies that are heavily involved in on FOSS or OSS, do care and hire contributors.
Even for companies like Red Hat, Canonical, SUSE, Mongo, ..., my experience is that a good blog or a good Github doesn't account to anything more than a few pleasant sentences at the beginning of the interview.
Of course, it might happen that they'd hire contributors, as you say. I'd say this is incredibly rare (but does happen). Usually, from my experience, this happens when the company wants to essentially "acquire" the code (and sometimes, the contributor is hired as a contractor for a couple months).
Weeeell.. I mean, look, anything's possible, but if the CV looks kinda meh but the candidate has a good blog, would that get them an invite? I'm not so sure.
> (...) my experience is that a good blog or a good Github doesn't account to anything more than a few pleasant sentences at the beginning of the interview.
A few years ago I was offered a job explicitly because I had a github account where I hosted a public project that used a framework.
Later, I was the recruiter in a few hiring rounds, and public source code repos was my primary source of data to assess q candidate. If a candidate had shit code in their repos, they'd be rejected. By "shit code" I mean a candidate for a senior software engineer for a C++ project showed up his GitHub project as his C++ portfolio, and all he had for show was a project that didn't even used include guards.
There are exceptionally talented, successful, high-profile software developers with incomplete & unpolished exploratory projects on their GitHub. It's surprising that you would take pride in using this as a basis to disqualify.
> There are exceptionally talented, successful, high-profile software developers with incomplete & unpolished exploratory projects on their GitHub.
If you intentionally put up your GitHub page in your resume and all you have is "incomplete and unpolished exploratory projects", that's how you're choosing to present yourself.
Also, the degree of "unpolished ness" actually attests to the skillet you bring to the table. If the "exploratory projects" you choose to showcase as your portfolio are ungodly messes, you should not be surprised they reflect poorly on you.
> It's surprising that you would take pride in using this as a basis to disqualify.
I know for a fact that public GitHub repositories explicitly presented by candidates as their technical portfolio is an accurate reflection of their skillet. I am certain of this fact because I never used personal source code repos to exclude candidates but to guide the interview, and each and every single candidate I interviewed that published crap in their portfolio was lacking absolute basic competencies in the ___domain they showcased.
Do you have any data to refute this?
I really don't understand how anyone in this day and age is surprised that the way you present yourself in a CV or even online, specially in professional venues, has an impact on your hireability.
It was a bundle of declarations that included duplicate definitions on each source file. The candidate then expected stuff to remain consistent by updating all declarations.
They may not care about it much, but for me it's at least been helpful in having prospective employers waive coding tests on several occasions. How they interact with it (e.g. whether they ask me any questions that suggests they've at least taken a look) also acts as a strong signal to me about whether or not it's somewhere I'm likely to be happy. So it may be worth putting it on your CV anyway.
I'm sure you'll get pissed at this, but assuming hiring managers see your blog and Gitea instance, here are some of my guesses as to why they don't want to hire you:
* You call BLM a "terrorist organization".
* You explicitly object to the idea that the phenomenon of police killings of black people is rooted in white supremacy.
* You give off serious antivaxxer vibes, and refuse to wear a mask during a global pandemic.
* You're petty enough about the above to post a list of businesses you won't patronize because they require masking.
* You are boycotting Rust because they don't want people bringing guns to their conferences.
* You complain about being banned from lobste.rs for posting transphobic comments. (And yes, despite your protestations, they are indeed transphobic.) And also for claiming that gender dysphoria is essentially a mental illness to be cured.
You clearly think these are all reasonable positions to hold, but the fact of the matter is that these sorts of things will be considered red flags by many recruiters and hiring managers at many tech companies. You may believe that these things should have no bearing on whether or not you get a job, but what matters is the reality, not what you believe.
On the technical side:
* You don't want to work in any language but C.
* You claim that you can't read/understand code written by others, citing a dubious "theory of mind" excuse.
Most tech companies don't use C these days. Certainly there are some, but most that write internet-facing programs don't use it. Even a company that does have C positions might be concerned about your unwillingness to write anything else. And reading, understanding, maintaining, and adding features to other people's code is a huge part of nearly any software development job.
I have no doubt that some of your technical achievements are impressive, but companies consider much more than that when making hiring decisions.
All this is just from a few minutes perusing your website.
> I live in a place where people generally share the same values, so those other posts shouldn't be a problem.
I'm assuming you live in Utah based on some of the things I read on your website; I don't expect there are a ton of tech-company employers there. And of those that are there, I suspect many people who work at them don't share as many of your values as you think they do.
Yeah, even if I were to agree with the standpoints, they all say "I do not work well with other people and I am an angry person", which is a disqualifier for most jobs.
Dude's getting eviscerated for his opinions, but you're right, it's the attitude that's the red flag. I'd avoid hiring his political polar opposite too, if they were this petty/angry about it.
I wonder if he's going to listen to the advice and present as more milquetoast when using his real name, or double down.
Even discounting finding his opinions objectionable (which, in my opinion, any reasonable person would), I'd pass on someone who posts this kind of content purely because they're a ticking time bomb. I don't want them to piss off a big client or explode because of a work disagreement while they're packing heat. I wouldn't want to hire them knowing that I might have to fear for my life even a little if I need to fire them one day.
I mean I have some pretty fringe beliefs too (mainly on the strongly anti-capitalist, progressive side of things). I'm not stupid enough to post those ideas publicly because they're far more likely to hurt my chances of employment than to help them.
The original post is titled "it doesn't take much public creativity to stand out as a job candidate"
Not that I necessarily agree with that, but how are you refuting it?
The posts that make you stand out the most don't really demonstrate creativity, nor do they make you stand out in a positive way (to most employers; perhaps not to any employers, since you're so publicly opinionated on a variety of things that are largely unrelated and yet also largely unaligned with the majority of tech workers)
I'm not refuting that you have technical writing that could make you stand out in a positive way, but it's overshadowed by all the other stuff.
It's like if someone posted "You only have to write one operating system from scratch to stand out as a candidate", and then Terry Davis (author of TempleOS) comes in and says "not true, I wrote an operating system and no one will hire me"
Well sure, but if you look at the comments in the source code for that or any of his writing or videos, they're riddled with racial slurs.
Obviously the OS itself is impressive, but no one wants to hire a liability
The article didn't expressly say that in the title because it was clear from the context.
The author is clearly talking about blogging to demonstrate expertise and creativity in the technical ___domain, in order to stand out positively.
The author did not make the claim that ranting about your fringe opinions online will make you stand out positively. In fact, they didn't mention the impact that would have at all.
You are fighting a straw man.
> When you're like me, it's not
It has nothing to do with being like you. You're not standing out positively because you're choosing to post things that make you stand out negatively, and the author made no claim about how that would impact you as a candidate.
The article talks about how you can start building a relatively small online presence that can give you a leg up in job interviews. It doesn't say that any kind of online presence will do that.
To offer an extreme example, if someone were to put up a website that advocates for child cannibalism, and then didn't get a tech job as a result, I don't think it'd be credible for them to say that their website refutes this article's point.
As an aside, your comment that any work environment that might object to your views must be "sterile" is yet another piece of supporting evidence for why you might have trouble finding a job.
> which, in my opinion, any reasonable person would
Well, yeah, but I'm European, which means I'm practically a Communist ;) I was trying to give the benefit of the doubt, because "dude, tone it down a bit, you're spookin' the horses" is easier to swallow than "everything you believe is wrong".
The post you reply to sounds quite angry as well. Many "social justice" people are extremely angry, form mobs and defame anyone standing in their way.
All while striving for positions of power that they keep and deny to those whom they pretend to represent.
They do not work well with other people, they dictate, intimidate and eschew real work.
Yet they are hired. The irony is that I agree with several of their positions, but make no mistake. They are horrible people who would march under any flag if expedient.
I assure you that I wrote that without anger. I started off with some feelings of sadness and disappointment, which gradually morphed into some incomplete level of detachment. I was hoping the post would come off as at least somewhat neutral, as in "I don't have a dog in this race, but here's why I think -- hopefully factually -- your website turns off potential employers".
I know I didn't achieve that; certainly some amount of judgment came through, but ultimately I'm fine with that. Life goes on, etc.
For the record, your post comes off as a bit angry too! But I'll try to read it as if you were writing it with feelings of weary disappointment.
Perhaps it wasn't clear, but here I mean they think people with gender dysphoria should be "cured" in the sense of "go through some therapy" or "change your outlook on life" and it'll go away.
Certainly transitioning is one way (and a seemingly very successful one) at dealing with gender dysphoria. Whether or not accepted psychological practice would call that situation "a cure for a mental illness" is something I don't know.
The article doesn't say that "blogs are all good". It says:
> Start a blog. Post an interesting technical article to it once or twice a year—something you’ve learned, or a bug you’ve fixed, or a problem you’ve solved. After a few years stop bothering entirely, but leave the blog online somewhere.
That's all it says about starting a blog. It doesn't say blogging about any topic is good. It very much doesn't say posting about social and political issues is good. It just says that posting a couple times a year about technical topics is good.
I work for an established (perhaps legacy) tech company. While people with such views aren't the norm, we have quite a few of them, and we all get along quite well. The only thing that would give pause in the list above are the transphobic comments.
Fair point. I try to reach outside my bubble when I can, and do know and speak with tech workers who live outside SV (and outside the US), but my biases certainly show sometimes.
But I do believe that, even for an employer who might by sympathetic to some of this person's views, many will not want to take a chance dealing with someone who might be a liability in the workplace in various ways due to those views. Certainly writings on one's blog aren't a perfect indication, but I think most hiring managers would prefer people who keep their more extreme views under their hat. Whether or not this is fair is besides the point; I do believe this is the reality.
For the record, I think many companies would have the same reaction to someone who posts angry-sounding leftist rhetoric on their website. But I do expect many are more tolerant of that than angry-sounding right-wing rhetoric.
Beyond that, even without all the social and political views, I think things like "I'll only work in C" and "I'm bad at understanding other people's code" alone would disqualify a candidate for most jobs.
> It demonstrates careful work with every function documented in Doxygen comments and a development manual entirely designed to raise the bus factor to infinity.
In my experience, not a single employer cares about documentation.
I don't see a contradiction. The article only talks about standing out from the crowd. You probably do. But in your case it probably causes people to not want to hire you.
Yeah you're 100% right. There's absolutely no contradiction. This guy's online presence does make him stand out. Unfortunately, in his own words, he isn't too great with following logical constructions (like code) written by others.
While I disagree with the stance and tone of that repo, I appreciate that someone stops being a corporate lackey even on their personal websites; we've all become sterile, pleasant representations of the ideal worker just hoping for someone to have the decency to pay us for our programming ability and talent.
Maybe be a little careful with the conspiracy theories, but I am quite done with the corporate-friendly personas we are pushing in our tech world.
I wanted to write a couple posts about anarchism on my personal blog, nothing crazy, and kept being concerned it might drive off a potential recruiter. Who the hell cares, a company where I cannot have a touch of personality is not a place I want to work at either.
Must be because I learned this job in the early 2000s, when sysadmins were wearing black shirts and listening to death metal, and the CEO stayed well away from that office, not the shirt-wearing, well-trimmed DevOps you see at conferences these days.
The only potentially "controversial" idea (as in, corp might not like it but will have to deal with it) that is still accepted in tech is being trans or a furry. I have no issue with either, mind you, just pointing out that anything else is a no-no.
> I wanted to write a couple posts about anarchism on my personal blog, nothing crazy, and kept being concerned it might drive off a potential recruiter. Who the hell cares, a company where I cannot have a touch of personality is not a place I want to work at either.
If it's important to you then you should. There are places that allow/encourage people to be individuals.
>The only potentially "controversial" idea (as in, corp might not like it but will have to deal with it) that is still accepted in tech is being trans or a furry. I have no issue with either, mind you, just pointing out that anything else is a no-no.
That said be careful what you write and how you phrase it because it's one thing to have an opinion, and another to make a statement like that.
> That said be careful what you write and how you phrase it because it's one thing to have an opinion, and another to make a statement like that.
That's the bloody point. Fuck having to walk on eggshells, especially when I made it quite clear I have no issues with that. I had to be quite careful with the wording, and I know exactly this opens me to be attacked and pointed out as a bigot because I equated gender identity struggles with identity in general. How dare I.
We're all walking on eggshells and get quickly silenced if we even dare question it. I do not wish the Internet to operate under mob rule.
No, what you are railing against is that your actions have consequences. But it is your choice wether you are willing to bear them and act or not and do not act. That's a basic anarchist tenet reaching back to the Cynics of ancient Greece.
The things you say in public could be heard by someone and those someones have the gall to form an opinion of you you don't like -- some may even confront you about it.
Disagreement, unemployability, hostility, these are among the prices we pay for saying things in public places such as the internet. You can decide to pay the price and maybe turn it into a fruitful discussion (granted, unlikely on the internet) or you can shut up and seethe with anger for "being silenced".
You made a conscious decision to introduce gender identity into the discussion when nobody else was talking about it. It's not walking on eggshells for getting pulled up on you bringing up your beliefs when nobody asked.
> especially when I made it quite clear I have no issues with that.
No, you didn't. You pretty much said "just saying" as though that absolves you of what you actually said [0].
> People increasingly don't even read the posts before the go off on ideological rants and false accusations.
Eh? The comment I replied to said `The only potentially "controversial" idea (as in, corp might not like it but will have to deal with it) that is still accepted in tech is being trans or a furry. I have no issue with either, mind you, just pointing out that anything else is a no-no.`
I should be able to mention it en passant without having to dive deep into my opinions of the matter which are wholly unrelated and just a way to entrap me.
The discussion is around identity, and mentioning that these days only gender identity is a corporate-acceptable struggle. I claim that identity in general should be celebrated. I shan't be afraid to say, on my blog I'm an anarchist, or, for argument's sake, I'm a satanist, I am trans, I vote Trump, Google is a shitty company, or Star Wars is a terrible franchise.
> I should be able to mention it en passant without having to dive deep into my opinions of the matter which are wholly unrelated
No, you don't get to do that on any topic. If you write a blog post on a programming language feature, and in the middle of your post decide to slip in a note about your feelings on the middle east conflict, web3/crypto or your political opinions, expect people to talk about that. You decided it was important enough to mention in your post, so it's up for discussion.
> and just a way to entrap me.
Nah, you don't get "woe is me" card if you shoehorn in a dog whistle and get called out on it.
> I shan't be afraid to say, on my blog I'm an anarchist, or, for argument's sake, I'm a satanist, I am trans, I vote Trump, Google is a shitty company, or Star Wars is a terrible franchise.
Do that. But don't be surprised if people treat your words equally.
If you can't keep your message on-point, that's a you problem, not an everyone else problem.
This is why social media is shit today. It's full of people unable to sustain intelligent discussion, so they try to find hidden meaning behind someone else's words.
You see a dog whistle, I see a person that gets off doing online witch hunts, instead of simply knowing how to disagree. If you have to resort to the personal attack, it's quite obvious there is no intelligent argument to be had here.
This. I got a very mixed feeling after reading his blog. On one hand it looks like he lacks self-awareness to the point that he didn't realize the blog makes him quite unemployable. On the other hand, I don't want to live in a society where a blog can make you unemployable, and I kinda admire his audacity to keep it on.
You're allowed to discriminate based on personality by law, but socially, if you do it with anyone you don't agree with completely:
1. You probably don't have many friends or
2. Your friends are not very diverse
Outside, in the real world, I can sit and have a very pleasant conversation on TV shows or Lisp interpreters with someone with terrible ideas or belief which are inconsequential to the matter at hand and are not part of the conversation. I can sit for a beer with childhood acquaintances that I know are racist, bigots or generally idiots, because we're talking about something else than the things I know we don't see eye to eye. And that's fine.
It is frightening that we're forgetting how real people outside the Internet are, behave and can get along in all their complexity.
> if you do it with anyone you don't agree with completely
Where did I say that?
> Outside, in the real world, I can sit and have a very pleasant conversation on TV shows or Lisp interpreters with someone with terrible ideas or belief which are inconsequential to the matter at hand and are not part of the conversation. I can sit for a beer with childhood acquaintances that I know are racist, bigots or generally idiots, because we're talking about something else than the things I know we don't see eye to eye. And that's fine.
Good for you. We're multinational company with thousands of employees, I personally been witness to situations where incompatibility in views caused issues during work.
In my free time, with my childhood acquaintances I can talk about anything, during work with my colleagues I want to have productive workday - not arguing about current flavor of racism or whoever-knows-what's opinions about anarchy.
Yeah, but it's a bit like to refuse to work with someone who follows a different religion than you, or someone who is into astrology a bit too much.
Again I know it's not black and white and everyone has different red lines. If someone treats killing baby mammals as their favorite form of entertainment I probably can't work with them.
My original post was refuting claims that a blog and public code could get you hired.
I know that companies will see me as not a good fit. That's a good thing for both of us because I've come to realize that I'm not a good fit for a sterile office environment.
I thought about it but no. I am OK with who I am, and I don't have any hate speech to share that I need to hide my identity. I just want to show the Internet world a side of me that is not only the stereotypical software engineer, because I'm not. No one is, is the point I'm making.
We all have our quirks, and we should celebrate them. I know your blog, I can't say I understand where you're coming from or that I relate very much with your persona, but I appreciate that you're able to stand out as your own, and I'm able to recognise you among the masses.
But in many cases, outside the fight for gender identity freedom, this is not possible in the world of modern social media, where you're always one step from being lynched by a mob because you dared go against the grain. The Twitterverse is the reason we're all sterile clones of each other, dividing everybody into a us vs them culture battle. That's too much nonsense for me.
Yes but really, having a pseudonym that is wholly unrelated to you and letting you get things out on that side blog that way can be invaluable. I have at least two such side blogs. Statistically you've probably read one of those side blog articles without knowing.
Yes you might be right. Also the hacker culture has always been centered around pseudonyms and fake identities. My quest might be a bit quixotic in this day and age.
It's funny, because posting that list of businesses is... also pretty petty. As is refusing to wear a mask during a global pandemic. I bet this guy also gets pissed off at the "no shoes, no shirt, no service" signs some businesses have.
I know if I was hiring for something and found that post, that'd be an instant no-hire from me.
> It's funny, because posting that list of businesses is... also pretty petty.
People boycott things all the time for all kinds of reasons. Some people boycott Israeli businesses due to the Israel/Palestine conflict, other people boycott MyPillow, and others boycott Chik-Fil-A, or more recently Budweiser. The outrage here on HN is a bit annoying, considering this used to be a fairly balanced platform.
As a consumer, boycotting a business is basically the only recourse for whatever grievance (justified or not) you may have which happens to be outside the purview of the law. Or is boycotting not petty only when your tribe does it?
Absolutely agree boycotting is a great way to tell a business you're not happy with something they do.
But if many people think you are being petty/bonkers/anti-something-they-care-about based on why you are boycotting particular businesses, that might cause you some trouble.
> Or is boycotting not petty only when your tribe does it?
There are certainly some boycotts I don't participate in, but respect the decision of those who do.
Boycotting is petty when people think it's petty (pettiness is an opinion, not an intrinsic property of something). If you want to talk about "tribes", sure, maybe a particular "tribe" thinks some particular boycott is petty. That's life.
I don't care how good of a C whiz this person is, if I see that crap associated with an applicant their application is going straight to the incinerator. Even if I had no problem hiring bad, asshole human beings, this guy is a legal liability.
If people can't read your posts then you need to write them more clearly. You're the author of them. Don't shift that personal responsibility onto the readers.
You're the one that isn't getting hired. Whether you recognize your error or not, the people looking to hire do. There's content in your posts that if they were in a company slack message would be a major liability. Most companies don't believe in breaking the law.
He is wrong, transphobia has no place anywhere. Trying to pass it under the thin guise of "unfair moderation" is both cowardly and thinly veiled. It certainly has no place in the workplace. Would he try to deny the identify of our trans senior developer? Would he say discriminatory things about our trans in house counsel? He has already shown from this blog he has transphobic beliefs and no problem saying discriminatory statements.
Beyond being an ethically bad and bigoted person, this guy would bring state and federal liability to the company from the first day on the job. I don't care if he disagrees, this isn't a matter up for discussion, I will not break the law for you.
But he wasn't being transphobic, far from it. He was reflecting upon his own experiences of gender dysphoria, what he learned from this, and how he dealt with it. His trans journey is no less valid than anyone else's.
While he does feel that he "live[s] in a place where people generally share the same values" some of those values are probably a bit public for a "boring mainstream" company.
I'd suggest separate technical/non-technical blogs and only referring people to the first. I'm mostly thinking of all the blog posts that explicitly point to the disclaimer..
You don't have to hide the personal blog but this is probably a bit much for sites you point employers at.
It can be any part. Usually, the problem is that companies find out that I'm not good as a cog in a machine. That can happen at any time, but once they do, they're not interested.
What does that actually mean? The fact you're using language like, "cog in the machine" is already telling me a lot about why companies don't want to hire you. If you told us exactly where the process breaks down for you and why with illustrative examples, we might be able to help you identify where it's going wrong for you. But tip 1, companies hire people who are positive about how they can contribute and work within an org.
EDIT: Took a quick look at your blog to see if there were any obvious red flags and found this, in the context of the Rust Foundation's prohibition of firearms at Rust events
> I have a concealed carry permit. I have firearms and other weapons. I know how to use them, and I will use them in defense of my wife and myself.
> And you can bet I carry them into places I consider dangerous if it is legal to.
If I was hiring, this would be a huge red flag to me. Why do you need to even consider bringing a firearm into a conference?
Literally came here for the same thing. Went to their blog and saw that a programming language is "dead to [them]" because the organization behind the language doesn't like guns. WUT
> "Why can't I get a job?"
> - man with 30ft pole behind them with a red flag hoisted on it
You seem like a super intelligent guy in regards to your profession, though (and perhaps it is my own bias) also super contrarian. I'd genuinely always pick the person who is easy to work with than someone who might cause conflict - even if the latter was way smarter. Collaboration is key in teams.
This is 100% true in basically any case of bigger than startup orgs - you don't desperately need that superstar 10x or 100x coder if he is pain to work with, creates code full of abstractions that are then hard to maintain for rest of the team or even worse, like potential security problem (looking into OP for 2 mins I already know he is rather hardcore christian, maybe a bit gun nut, antivaxxer/anti-mask, has long history of anxiety and other health issues). All sums up into 'probably difficult to work with'.
This would be a problem for me when hiring too (to be frank - hard pass due to above, and no amount of git code beauty would change that).
Collaboration, communication, team work are much more important long term in bigger teams. Willingness to help team/project even though sometimes bureaucracy might be Kafka-esque. Yes we are all cogs in big machine, so what? It takes 2 seconds to realize that for each of us. We still do the work, its work for christ sake, we pay the bills, vacations and go back to our families just like everybody else.
> Usually, the problem is that companies find out that I'm not good as a cog in a machine
IMO this is the real problem - and it comes through in your blog posts. It's very risky to hire someone who can't be a cog, you need a lot of social proof that they're worth the risk.
There is being a mindless cog, and honestly, at the extremes, nobody eants that except for the most mindless, easiest manual jobs. And there is being a professional who does his job as part of a team, follows some basic rules and still speaks his mind, but also knows when it just doesn't do any good. Try being the second, because at the other extreme of the mindless drone (which people are forcedbto be and hardly are by choice) is being a contrarian know-all who is just impossible to work with.
Edit: From what others wrote about about your blogs, I think your ascertion that your personal views shouldn't pose a proboem are wrong. By that I don't mean having them is wrong, but being as outspoken about, lets put it mildly, potentionally controversial opinions in a borderline aggressive way is the problem. It would be an equal problem if we talked veganism as another, potentionally bad, example. Nobody wants to be called out by their co-worker during lunch for having a steak everytime. And nobody wants to talk about why a co-worker feels insulted for not being ablento bring a gun to the workplace.
Edit 2: Paul Graham has one of his earlier articles that seems relevant: the one about keeping a low public profile. Is more relevant than ever, the more said profile deviates from the mainstream the more it can become a problem. GP is great example for this.
Yeah, this is usually a killer in interviews. You can be super smart, know what you're taking about... but if you're not willing to "play the game" you're going to go nowhere.
Looking at your blog, I think you're such a specialist that it's going to be hard to find a good fit. (For example, only being willing to write code in C.) Most people are more flexible.
You can get a job. You've made it clear that you know what you need to do to get a job (be more flexible with the language you'll work in, remove all non-technical opinions from your blog, and for the love of god stop carrying a fucking gun with you everywhere)
If you don't want to do the things that would qualify you for the available jobs, that's not because your technical posts wculdn't make you stand out, positively, it's because you're choosing not to!
I'm already infamous for my personal opinions in the tech world. Will removing he personal posts and putting them on a separate blog really work? (I do already have a ___domain.)
I'm not so sure it would work. By the time I thought about it, I had already gone viral on HN and the personal attacks had started.
Yes, absolutely, it will work fine. People on the Internet don't have that long of a memory and many people will not have seen your articles on HN. No one is going to look your site up on the wayback machine.
You can also ask dang to delete some of your posts on HN if it helps disassociate your name from discussions like these (though I doubt most people would think to look you up on HN based on a name)
Sorry for not looking at your credentials, do you have enough experience to potential land staff+ roles? Would still be a cog but maybe a bit more breathing room depending on the type of role you apply for.
Whoa - you can't attack another user like this here, no matter how wrong they are or you feel they are. If you'd please review https://news.ycombinator.com/newsguidelines.html and stick to the rules when posting here, we'd appreciate it.
Please don't bring in extraneous information to attack someone on HN, no matter how wrong they are or you feel they are. It's not what this site is for, and destroys what it is for.
I always linked my gitlab profile in all my applications. If I had any code on it which might be relevant to the position I also mentioned it in my cover letter. Barely anyone ever mentioned my gitlab projects or ask things about it. Just this one guy, he was confused that my master thesis was stating I handed it in in 2021 and asked why i didn't have a job yet. Thanks to this man I found out there is a typo on the cover of my thesis, because i handed it in 2022.
It was kinda embarrassing, but I also felt joy that there are actually people out there who look at my stuff. The job didn't fit, but it was still a good experience.
So yeah: Investing a few minutes in writing up a personal readme which gets shown on my gitlab was worth it. I can recommend!
You need to distinguish between filtering and interviewing.
Most interviewers will not discuss your public work because they want to be unbiased and have the same discussion with multiple candidates without any other factors other than your performance in the interview itself influencing their assessment. They are doing the right thing.
Where a portfolio can help you is in getting you from application to being invited to interview, which can be a challenge when there are many applications for a role.
In some cases it might also influence a hiring manager's or hiring committee's decision as a tie-breaker between you and another candidate who did just as well as you did in interview, but I believe that's less common.
GitHub can be faked by taking work of others. When screening there’s no time to investigate each artifact. It’s nice if someone has a github repo, but it’s by no means the deciding factor.
Yeah. I often look at a candidate’s GitHub profile before an interview to get a sense of what they’re interested in - but mostly so I can ask interesting interview questions. “So, I saw on your GitHub you’ve made a few projects building terminal based UIs. What got you into that?” / “What are the big challenges in making modern terminal UIs? Why don’t more people do it?”
Just happened to come across a coworkers GitHub today and really only looked at it for like 5 minutes. My take always were: “wow they have a LOT of recent activity”, “all the history of this repo is 8 years old”, and “didn’t know they coded with next|node|ruby”
But it gave positive impressions
I'd say that's what the README page is for that you can create and gets shown at the top of your profile.
I summarized my most important projects, the languages I know and some other simple facts about me. Mainly because i have a lot of "trash" on my gitlab which is just for personal use (I am always unsure if i should keep that public anyways)
Yeah, I have a fairly prolific GitHub portfolio so the first 5 minutes of most interviews are flipping to a random GitHub repo and asking me what is going on there. Makes me think they're trying to have me prove that I'm the author of it.
Anecdotal, but I've changed jobs 3 times in the last 6 years (oof) and in two of the interview processes they dug deep enough into my github (linked from the CV) to be able to ask tricky questions and have discussions.
Heck, as part of the most recent interview process I was asked to provide a code walkthrough of a part of a personal project of mine for two developers from the company I was interviewing for. It was fun actually.
I can only speak from interviewing candidates at a big corp, but generally HR shortlists a bunch of candidates, schedules interviews then send me the resume about 16hr before the actual interview.
I’ve never come across a candidate where anyone has dug into someone’s online presence prior to an interview.
And to be honest, I’d rather speak to the person that read something they wrote.
But again, that’s big corp so obviously other companies might do it differently.
I’ve had an in person interview where we talked about them actually reading through my website. It was awkward to be honest but also cool they read it - was also strange to talk about “extracurriculars” during a technical interview.
Always had a really really difficult time with how to present “myself” on a personal website - too many sides (code, personal preferences, opinions, etc) in one place. But whatever just send it and own it I guess - am still content selective though.
I really just don't know what to look for. Occasionally when looking at resumes I'll see a github link, and I never get any useful information from looking at it, so I mostly don't bother.
Your blog, open source contributions, or conference talks are often the thing that gets you to the interview, but I’ve never been asked about them directly during an interview.
First they need to look at your application / resume.
Then they need to have questions, which triggers curiosity that has them looking for more.
Only then does having a piece of content help you.
Yes it helps, but it doesn't help as much as having a resume that suggests you're a potentially good match without oversharing why you're not a good match. A good resume raises questions that leads to a conversation.
The resume matters more... but if all else is equal and candidates you're competing against also have great resumes, then content matters. You'd be very surprised at the lack of great resumes though.
Completely agree with this. Personal projects, blogs, etc are tools which can help pass barriers in the interview process. Normally these barriers are later in the process.
One thing I haven't seen anyone touch on here is that I think this is more relevant early on in someone's career when there is less visible history on candidates.
When you make stuff the order is usually the other way around - someone finds your work, then gets interested in the person behind it.
If you make it easy for someone doing so to get in contact about job opportunities and make it clear you’re open to them, you’ll often start to get some.
IME in Aus, it's mostly recruiters, the kind who ask if I have experience with 'Jasons', who do the initial screening. I'm not sure I'd have much more luck getting past them with a substantial online presence behind me. On the other hand, I was recently referred by a friend for a role with the state gov. The HR person said my lack of experience with X hurt my chances. I passed this on to my friend and said thanks anyway. They later said their line manager scoffed at the HR person's comments. I'd be interested to hear if other Aus/NZ folk have similar experiences. Maybe the online presence works better in the US.
Also worked in Aus - Melbourne and Sydney, as well as London. I have zero blogs, and I don't contribute towards open source. My github has random bits of code, a few coding exercises from other companies.
What I do have though is a decent CV.
When people say you need this or that, what they're actually saying is you need to show somehow that you're technically capable.
There are other ways of doing that than just having a blog.
Agree. Also in Aus. HR doesn't give a shit about creativity. They need to see the TLA's on the CV that the tech nerds said they needed for the role.
Also, is it me, or is this ridiculous? Accountants don't need to do any open-source accounting to prove their bona fides. Lawyers don't need to side-hustle some public defense cases to get respect. Civil Engineers don't build some free bridges to get hired.
The employer working out if I have the technical skills I say I have is literally not my problem. They need to have a technical test or whatever they feel ticks that box for them. I'm happy to jump through whatever hoops they put in front of me (except a "take-home project" that will actually take more than an hour), but they have to put the hoops out.
I'm not against open source, but I don't see that as a qualification either. It's a different thing from writing commercial code, with different skills and conditions. Plus, 90% of "projects" that I see on people's Git*b repos are forks or non-working code. I'm all for having my mistakes in public, but if I was to judge the average coder by their Git*b content I'd never hire any of them.
Same for blogging - the ability to write a coherent, meaningful blog is great, and possibly a useful indication that the author can actually string a sentence together, but it's a different skill from what's required to write commercial code.
I do have private code that I'm working on in my freetime that is not public and most likely never will be.
Most of it is an incomplete mess, intentionally over/under engineered or created to learn a new tech / development philosophy. It served it's purpose and is not going to get "finished".
Other projects are personal and are tailored to my specific needs making liberal use of hardcoded assumptions.
None of it is a good representation of my professional work 99% of which is not open sourced.
> The HR person said my lack of experience with X hurt my chances.
The HR person probably also wrote the job spec with "at least 10 years experience with programming language that is 1 year old" or "minimum 5 years managing a team of more than 20 people and revenue over $100mil - entry level starting salary $30,000"
As a person involved in hiring in my company, one of my goals is to remove biases for things that are not really related to the thing I'm evaluating, which is the ability to do a given job. There are valid reasons not to have an interest in publishing your coding or writing work, there are lots of great developers that don't do that, so I don't feel like this should make a difference.
I completely agree that here are lots of great developers without a public figure.
However, having one gives the interviewer some additional insights about you. While no candidate should be discarded for not having public code, I don't think dismissing it completely without even looking at it is correct, because you are discarding a great source of information about a candidate.
Note that the insight could even be negative (such as a candidate applying to a senior position with sub-par public code recently written)
The shouldn't in an ideal world, but on the other hand, it's obvious that it can. If you're looking for someone to perform a specific task, and you stumble on a blog post from him, or a project that showcases his passion and skill, it would be (IMO) pretty stupid to "remove the bias" and ignore this. At this point it's not even bias, it's just proof in front of your eyes that this guy has some knowledge and might be a good fit ( or whatever proof it is)
It's because information exposed in blog posts can be used to bias or discriminate, either intentionally or unintentionally. Consider a hiring manager finding a blog post from a month ago about the candidate having a newborn child; now the hiring manager has been exposed to information that can be used to justify discrimination.
There are valid reasons not to post code or blog. True for some.
Posted code or a blog may demonstrate knowledge and capability in the subject area for the potential hire. Also true for some.
Demonstrating professional skills shouldn't be discounted just because someone else doesn't.
It absolutely should make a difference if it's relevant even other people have reasons for not doing the same.
Hiring is selecting the right person and not selecting the wrong person. It is not about sorting all people 100% correctly into hire/no-hire groups.
A blog with code can tell a lot about a person. Do they understand the material? Can they write coherently about it? Can they target an appropriate level of audience with that? Maybe these can't be answered just by reading the blog, but it gives a lot to discuss in the interview process.
Some people want to have the exact same interview process between all people. People are different, though. Locking the interview down to a single process doesn't allow for the variety of skills out there to shine individually. If that avenue is through a portfolio or blog, it's fair game.
A team I was on hired someone because I dug up an emulator he had written in the past (I think it was of some Nintendo console). I took a quick look at it, showed it to the other devs on the team, asked the candidate about it to check he really built it and understood it, and then we told the manager to hire him, if he passed the personality assessment. He hadn't even mentioned it on his CV as he worried it would look unprofessional.
I got another person hired as I found a Android game she had written and pushed to the Play store. Again, I don't think she mentioned it on her CV. After looking at it and talking to her about it, I told management to hire her, if they found no issues in her as a person.
In both cases they were outstanding at their job, relative to their level of seniority and pay. Both are very high up the list of people I'd happily work with again.
It might not be fair to the candidates that didn't have projects (or had ones that I couldn't find), but it was a very effective way of getting amazing people. Which makes sense as examples of work are probably better than CVs and interviews for judging someones ability to do the job.
I love all these blog posts that will take you to the heaven of the $500K jobs with three easy steps.
It is hard, period. Otherwise everybody would be there, and if the advice works then you will have to find something else as in any other market, gaps close.
The article doesn't promise a $500k job, just that public portfolios stand out vs candidates without a portfolio. I don't think it's an especially exotic or unbelievable claim.
“work life balance shouldn’t be penalized, going beyond will be rewarded. if you aren't interested in those benefits you should still be able to collect a paycheck at a static level, if you are it is accurate that you can get offers and counteroffers more easily”
Judging from my experience as business unit lead in an enterprise company, for every very high paying dev (VHPD) there is a mentor who supports this person. This is like in real life: no one promotes himself, you get pulled up.
Usually there is a specific business case behind VHPDs - and someone with technical prowess, to understand the need behind it. The line between ignorance and support is thin: "Why pay someone so much money? We can have 4 people for the same amount. 4 are better than 1!"
It's also just a different type of work. Some people enjoy it more than others.
Putting out public consumption content shows you're the type of developer that enjoys putting out public consumption content. That can be a useful role for companies to fill, but it's hardly the only role needed.
It's a little flashy for interviews, and that can help get a foot in the door sometimes - but like the author mentions... Interviewers aren't stupid, we know that some of our best hires don't do any blogging/public content at all. It's not going to move the needle much either way for most of the hiring I've been involved in.
There are tons of devs who have little interest in those $500k jobs. But regardless, applying for any position at any company is a sales and marketing task. The advice in this article applies well to them all.
This rings true for me anecdotally. The last time I was looking for a job I struggled to land even a phone screening. But then I posted about a small project on my blog and LinkedIn and I had a hiring manager call me the next day with a gig that worked well for both of us.
The most basic competence signal is a good LinkedIn and resume.
The problem is that if you don't know what good looks like, you don't know that your thing isn't good and you may not even know how to recognize someone who can review it for you.
The question to strive for: "if someone doesn't know me or my work and my company at all, can they look at my resume and understand what I've done, why it's impressive: and why I am an interesting candidate?"
As someone who sits on the other side of the table all the time, when someone has structured their LI/resume this way, it tells you they (1) cared to do it well (2) found a way to understand what's relevant and (3) found a way to implement it: those add up to a very strong signal layered on top of their technical skills.
Someone will inevitably reply that you can be a great dev and a terrible writer and I guess that's true but it makes it so much harder for someone to "see through it" and hire you.
Worked for me at the start of my programming career. I had a few Stack Overflow answers (few hundred karma) and a fairly barebones GitHub profile.
I applied to a large local IT corporation. The person interviewing me (who was a team lead) simply assumed I have the skills necessary for an entry position and we pretty much skipped the technical part of the interview. (I ended up in a fairly fantastic team full of great engineers and coworkers. Turns out the guy who interviewed me was awesome at hiring.)
Hiring managers are looking for people like themselves. Simon is big on blogging and OSS so he looks for that. This type of bias is especially present at smaller companies where there isn’t much formal evaluation of hiring processes. Hell, some even amplify it with a “culture” interview.
This post didn’t say “I’ve found that candidates with public work are more likely to pass the interview.” Just that he noticed that he’s biased and that could be a good way to get the interview. It’s unfair but if you want the job you could use this to your advantage.
It shouldn't take any. This hiring attitude discriminates against (not an exclusive list) parents, people with caring responsibilities, and those that find "public creativity" difficult due to personality traits or medical issues. It cements the "tech bro" culture. It stifles diversity. Just hire people that can do the job you're paying them for. I don't ask my plumber to show me their blog posts.
> I don't ask my plumber to show me their blog posts.
Yes, but you probably read his reviews online, compared his quotes with competitors in the space to pick one with a good reputation, and otherwise sought signals of competence. Blog posts are the very same thing, quickly verifiable, albeit potentially wrong, signals of skill and competence.
> Just hire people that can do the job you're paying them for
Speaking bluntly, this is what hiring people that can do the job looks like. Attacking those that take the effort to show they have that experience because others wouldn’t is tall poppy syndrome, and it neither improves the quality of the field nor actually helps those struggling that need more support so they can operate at the same level as others.
Free quotes and inspections prior to work commencing, time potentially spent waiting for jobs to come in in which customer support and taking calls are essentially a pure unpaid cost center for the business, taking the time to answer customer questions wholly unrelated to the job potentially even after the job completed, a desire by customers to hear you say things like
> hey, I saw your valve on blah was loose when it shouldn’t be, since I was there and it was an easy fix, tightened it for you as part of the job, no charge.
And there are likely more, I’m not a plumber.
If you are looking for it, you’ll find many cases of “free work is used as a tool to distinguish oneself, delight, and lubricate business”, and plumbing is no exception.
Nobody asks you to put any blog posts online, but complaining that someone gets more recognition for extra work they do to promote themselves is kind of obtuse.
Do you also complain about fit people having bigger chances to find a partner than people who don’t work out because of their situation?
Other comments here mention there's no real time to look through actual code or a GH repo. I agree, however that's why I think it's better to focus on the other markers here - blog, community involvement, and so on. It doesn't have to be grandiose; just list it on your CV!
You cover a few things this way. You show that you think beyond the terms of warming a seat, and can highlight particular ways you may fit a specific job.
I've had several jobs/contracts that told me they think I'm a fit because of me listing my involvement with meetup hosting and how I've tailored my CV to highlight specific kinds of work that I'm interested to do more of (e.g. payment integrations).
Like with dating or sales, it's kind of the same idea: you want to look specific instead of generic, in order to filter out jobs that would be a lukewarm-to-negative fit for you.
If you have nothing to differentiate yourself, then start something and highlight it. For kicks and giggles I even have "Certified Log Home Builder" in my CV after taking a course on it.
I keep reading how bad and competitive the "job market" is today, but I haven't been able to find actual data on it.
It's like people have this gut feeling that due to the recent layoffs at FAANG, no calls for interviews and the number of (likely mediocre) applications showing up in a job post in LinkedIn indicates the job market is extremely competitive. But is it? The entire job market?
There's no doubt some companies and markets are beaten up but other are actually doing great and growing.
So rather than invest time on blogging and creating repos why not focus on researching, identifying and learning about the industries that are actually hiring and acquiring new skills so that you can target them?
I've mostly always believed this to be true and had some early confirmation in my past, greatest spike being around 2007.
But for the past 5 years I've been consistently publishing original work and getting absolutely zero feedback and little engagement. My former personal network doesn't respond to my emails anymore, etc.. Might have to do with some defamation that happened in 2016 by an employer, but that shouldn't be surfacing until the reference check after I get an offer--unless I'm on black lists that are decently circulated. Another possibility is my reach is just limited when I post content with depth, as opposed to things that will get more engagement. People used to read my blog directly, which has been shut down for years.
I'm open to the possibility that my presentation is just terrible, that my SEO needs work, stuff like that. Keeping all my web properties up and producing content up to modern standards has been pretty out of reach given my life circumstances... not complaining, just saying.
My temp bosses are always happy with how good I wash dishes, anyway. I'll never stop publishing my tech work online, but I know it takes more than just publishing what I'm doing to stand out as a job candidate. I'd love to get an objective view about what else I'm lacking or penalized on almost as much as I'd like some good old fashioned Agape love, to help me want to check my email and notifications that I'm programmed to dread checking by now (usually due to non-responses to everything I send, if not trolls).
Sorry that this may come off as negative. I've really had some success standing out and just publishing for most of my career, it's been really hard to figure out how to get out of the crater that it has become. I don't even talk like this that much, to anyone who wants to say my negativity pushes everyone away... I get that, too. Hard conversations are different than negativity; negativity is more like being a parasite, whereas I'm genuinely trying to find the issues which actually exist and fix them.
Things I know I can fix:
* Maintain properties and populate search engine/open graph fields for SEO
* Produce thumbnails and editorialize headers
* Increase my engagement in ways that are selected for
It's rare that I look at projects when interviewing, but I'd rather see a complete, published open-source project than a dev sandbox. It's a signal that you can stick with something complex and drive it to completion. Alternatively, meaningful PRs to projects can be good because it shows you can work in someone else's codebase and build consensus.
You're selling a notepad app for $30 with the disclaimer "This is the initial release and may contain bugs that lead to data loss, and so frequent backup and careful usage are suggested."
I did a quick Google search for you on LinkedIn but didn't find anything.
Everywhere you say you can take consulting gigs, but I'm not sure why I'd want you as a consultant. What expertise do you bring to the table?
Just a note for anyone who needs to hear it: you don’t even necessarily have to be a maintainer and have complete open source repos to show off. If your entire GitHub is you just forking libraries, fixing a bug or adding a feature, and then creating a somewhat tasteful PR then I find that extremely reassuring. It means you’re doing real work, experiencing pain, diagnosing the issue and fixing it. I do not need to see seventeen green badges at the top of a readme to be impressed.
I really should work on polishing up my public appearance, but right now my job and personal life take up any creative energy I might have outside of work. I have a blog (multiple?), but posts are few and far between and I frequently regret publishing things. I barely go back to previous comments I leave on the internet / HN, afraid of what others might think. Maybe I should talk to someone about that <_<.
I could be shadowbanned for all I know, come to think of it.
One issue with trying to stand out is that you might stand out in a bad way, rather than a good way. I have a blog, and a Github profile, but I'm not sure if I want employers looking at them, since a lot of my writing is poor, and a lot of my code is bad. There's good stuff there as well, I think, but my model of employers is that they are more concerned about false positives than false negatives, they tend to see "red flags" as nullifying any positive traits, and so, when they're examining my public portfolio, the parts that are bad are going to stick out and become salient in their mind, moreso than the parts that are good.
I don't worry about this too much though because in my experience, no employer has ever looked at these things (even though I have usually made some mention of them on my CV). If they have they've never mentioned it at interview.
I have first hand experience of this being false, just a few months ago to stand out for a React open position for a company called Personio, I created a org chart that feel much snappier and friendly using React and CSS3 animations that the one the company is using in their main product (this one if you are curious https://github.com/Ivanca/personio-demo ), I linked it in the cover letter and also tried reaching out some public email addresses of their recruiters but nothing, I got a generic rejection message.
I have tried similar tactics before for some other positions I was highly interested in but nothing, it never works from what I can tell, the jobs I have gotten were all using my generic CV and not much else.
Its subjective, but I meant little usability things, like you can view anyone on the chain of command right in the bottom after their profile pic moves there, and the farther away from you in the chain of command it looks smaller so you can see them all without scrolling like you have to in the current org chart. Also the current one freezes a lot after clicking and this one doesn't, which is arguably non-userfriendly behavior.
I can confirm. I once created a project called Doodledocs. The reason was because I (still!) haven't seen a project that showed pen styluses pressure sensitivity in a web app. So I whipped up a collaborative drawing app where pressure sensitivity of the stylus was captured (if the stylus was capable of it).
In the beginning of my career I did 100s of job interviews. However, in this case I only did a few and I'm sure I got the job because of it.
Also, it was a lot of fun to try and create backend style type of functionality only by utilizing peer to peer! The hacking and reasoning required felt novel and fun.
Maintaining an employer-friendly public persona seems pretty miserable if you like sharing opinions more controversial than programming language preferences. Or if your hobbyist tech interests skew in the anti-corporate or copyright-infringement-y directions.
Question to those who post about work they've done while employed at a large company - how much do you take into account employer confidentiality clauses? Is there a good 'rule of thumb' checklist of rules to tick away ahead of posting?
Public activity is marketing. Most good developers are not good marketers. But for rockstars blogging is definitely a big plus.
I have over 100 past projects and need a cheat sheet to answer HR questions. Recruiters are usually not impressed with your past projects because you are a flood of resumes and interviews to them, and they usually not impressed with you because they just want to close the task. Because time is key.
The 80/20 rule applies here. Only 20 percent of recruiters will read your resume carefully (not your show, blog, youtube, twitch, twitter, etc).
Add to that 20% of fake jobs and your chances of finding the most relevant tech job for you are greatly reduced.
Alternatively I see people publishing their "creativity" as virtue signalling nothingness.
I did a freelance job for someone and they asked to see a portfolio.
I said I can't even divulge the nature of the projects I did for various banks let alone send you screenshots of it because me having screenshots would indicate a breach of contract.
Ask me anything about the tech you want to implement.
I got the gig.
I've also seen "vibes" hiring of people with a good rep in various communities and it doesn't work. Those people are generally awful to work with and lack any desire to compromise
Most candidates nowadays are obliged to deal through low grade, poor quality recruiters. Demonstrating creativity to these morons is an absolute waste of time.
Those "poor quality recruiters" only work with the data you give them. If you give them the same stuff everyone else is giving, what leads you to believe that they'll side with you? They naturally tend to go with those who help them justify their decision, and that's where that creativity enters the picture.
I would argue that being public is one of the ways you may be unintentionally biasing your hiring set against visible minorities. Most minority folks I know tend to avoid being public figures because they will become targets of bigotry. I’ve seen some fairly innocuous stuff get the most vile shit in comments/inboxes. I would hesitate to index for public profile knowing that being a public minority is riskier.
On blogging - I would add to the discussion, ask someone you trust their opinion of your writing. If you are a great or even good writer, this can be good advice.
I’d you are not so good - this can backfire. I’ve seen a lot of CV’s with blog links that turned me off on the candidate immediately. Usually for more architecture type positions, not coding, because architects need good written comm skills.
the bar for public creativity may be relatively low, but in my experience as a candidate, interviewer, and hiring manager, it really does not actually make a difference. i'm generally too busy to be looking into this kind of stuff. hell, i rarely read your whole resume.
let's talk and see if there's something. outside of that it's just wasting time.
I started doing talks this year to get better at speaking. Posted photos on LinkedIn and got an offer from an old acquaintance who saw it, for something related. Other than that, makes the day job mor fun and I became the 'expert' on the topic at eork
> you don’t want to miss out on a great engineer just because they spent all of their energy making great products for prior employers rather than blogging, speaking and coding in public.
say it louder for the tone deaf recruiters and hiring managers in the back
You google my real name, and there’s a mountain of content I created. I’m an independent contractor and it’s been getting me short and long term work… all over the world as a web developer. I think it’s been the best thing I ever did.
This sounds like good advice. My current employer does not allow me to write technical blogs or have public git repos even if they’re unrelated to work and when done on my own time with my own resources. Sigh.
> My current employer does not allow me to write technical blogs or have public git repos even if they’re unrelated to work and when done on my own time with my own resources. Sigh.
That sounds like overreach; I don't think an employer is within his rights to try to restrict what you do in your free time with your own resources and without infringing on your employer's legitimate claims to IP (copyright, trademarks, patents, trade secrets, etc.)
This kind of overreach in contractual language and managerial posturing is somewhat common, driven by fears related to your exposure to your employer's IP, but the bark is worse than the legal bite here. I'm not a lawyer, but I still feel confident when saying that an employer wouldn't prevail in court, if they took legal action to enforce such restrictions on what you do outside of work.
It does feel like overreach to me as well. It is a FAANG and they have great lawyers. I hope to never be in a legal kerfuffle with them but regardless I should read more about what they can enforce.
The hilarious thing about their no open source policy is that they sometimes shoot themselves in the foot. Sometimes, they’ll hire someone with a very successful open source project, in the employment contract ask them to stop working on it, then part of the company depends on that software and when it breaks, it causes chaos because the maintainer now works at the company and had to stop working on that open source project that the company relies on.
I try do some sort of frontend for every project and case study a company sends me. I think it helped a lot until now and will help more in the future.
anyone can plagiarise a github or a blog. you still need to speak to the person. you're just adding even more steps to what is already an insufferably bad experience.
but adding more steps is something we love to do. every solution creating 10 new problems.
People don't realise how easy it is to get to top 1% in most fields, if you are sufficiently intelligent (say 110-120). Most intelligent people don't get there because they are either not willing to do the work or don't know how honest work looks like or they put artificial barriers before themselves.
And even if you are less intelligent you still can get there, you will just have to put in more work.
I think of those, the ability to put in honest work is the biggest limitation of most people. I like to compare honest work to Allies fighting World War II -- doing whatever is necessary to win, wherever it leads you. No plan is stupid if it works, there is nothing shameful about trying and failing. There will be setbacks because life is not fair and on short time scales the rewards are never assured. But what makes winners different from losers is what they do in response. If they can persevere, through their setbacks, experience, hard work, the focus they put in they will gain the knowledge that lets them win on the long time scale. You lose only if you lose faith in yourself and quit.
True, and you don't even need to get to the top 1%. For many jobs, being in the top 20% for the relevant reference group (global, local, specialised, general) will make you the best candidate with a wide margin.
You're using the word "easy" but I think what you describe only seems easy when you have the right attitude and few distractions. For many people, this is actually hard.
I think there are not many people that have few distractions. It's a (very very hard) decision to force yourself getting rid of them or ignoring them. Distractions are everywhere. At some point you have to resist and move on.
"Easy" means it is just your decision whether you want to get it or not (well... most of the time... to get to 1% in most fields).
I know if I can spend enough effort I can learn to reasonably play Irish flute, the only question is am I willing to put in the effort?
Once I decided I really want to get something, the rest is relatively easy -- yes, that means resolve and the right attitude and some amount of consistent effort -- I have not said "easy" means "free".
I have been in the top (say top 3-10) of a number of online games and had a lot of discussions with people who were at the top about what makes them different from all those other people who never reach the top.
Most of the time the difference is people get stuck and they don't know how to unstuck themselves. They are not listening to advice. They are not honestly trying to understand what keeps them stuck, etc. That's a problem of attitude.
I think training your resolve and the attitude is separate problem from achieving your goals, this is something many people would gain a lot from if they focused on it for a bit.
Your definition of "easy" is certainly unconventional.
> Once I decided I really want to get something, the rest is relatively easy
I hate this phrase, but I think it fits here - check your privilege. It's quite possible that you ignore your starting position and don't consider it doesn't have to apply to everybody else - especially when you're forming very general statements.
by this logic its "easy" to become a champion bodybuilder, an accomplished mathmetician, top of pretty much any sport, and many other things. After all, it just needs sustained focus and effort over a peroid of years, as well as the humility to learn.
Turns out that the ability, support network & lack of distractions to do this is very rare.
There's a classic blog covering this that has done the rounds here a few times. I recommend giving it a read if you don't think becoming a top achiever is possible through non-heroic amounts of sustained practice.
Make sure 1) the product has already been released to the public and 2) the hardware isn't stolen. Rig up a small power supply and find a way to light it up.
Being able to drop that in front of an interviewer and explain the entire system front-to-back is a massive advantage over people that have listed random "projects" in their resume but don't have much more to say about it. Be honest about your contributions, don't give away anything proprietary, but be proud of the project and show some enthusiasm when you talk about it.
That alone will get you 80% of the way to the job.
I also keep a binder with a single page for every project I've done. Just a photograph and maybe 3-4 lines of text. Keep that off to the side. When an interviewer asks about a technology or idea that matches even a little you whip that book out and point to the page. Now you're showing and telling again. Super easy to put together and maintain over your career.