Those are both excellent points.
Those are both excellent points.
Hiring people is a big risk. Anything you can do to mitigate that risk (evidence that you’re someone they should hire) will increase your chances of being hired exponentially.
That’s a great summary. Well said.
Let your mentors know you’re looking for work, and how many hours you can work per week.
New programmers provide negative value, so there’s not a lot of demand.
I’m very good and studied hard, but my first couple of programming roles I got entirely because a mentor of mine recommended me to someone who took a chance on me.
Also keep adding code to your public GitHub. Two of my top developers today I originally hired directly away from their retail roles. One had a ton of academic coding experience and had just not yet landed the right job. The other was just getting started, but posted a ton of low quality homework code to GitHub so I could read it and know who I was hiring.
Edit: In contrast, one of my other top developers has one of the top CS degrees in the world. So that works too.
And more than one of my top developers have IT help desk experience. I have had excellent luck when hiring folks with IT Help Desk experience.
Edit 2: As someone else mentioned - your long term goal is to connect with an IT Recruiter that you trust, and work with them to get your resume, and GitHub, and/or binder full of code you wrote into shape. I’ve hired more than one candidate who admits the simply presented themselves exactly as their recruiter coached them to. And I’ve hired candidates I would have skipped, because their recruiter was someone I trust and they asked me to take a second look at a candidate who made a poor first impression.
Edit 3: Since this is for newbies, some information about recruiters: we pay the recruiter in addition to what we pay you. The recruiter’s typical pay for a rookie hire is around $50,000.00, if you stay for a full year. Half up front, in case you don’t stay.
A few things you should know about recruiters: they only need to make a few solid placements each year to earn a living. As a rookie, you’re the hardest to place, and the lowest layout when placed. But, programmers that are easy to place don’t move often, so recruiters may still have plenty of time for you.
The recruiter is probably mainly placing you the first time in hopes that you come back later when you’re worth big money. The initial payent is nice, but the real payment will be if/when you have 5 years experience and still work exclusively with them.
Hiring managers like me have recruiters we trust and reuse. If you can get recommended to a great recruiter, they will get you interviews at better places to work.
In contrast, there’s lots of mediocre recruiters out there. Don’t be afraid to switch to a new recruiter, if you have the opportunity, and your current recruiter isn’t getting you interviews.
What I think makes good programmers is having the ability to bash your head against your desk while debugging, but still walking away at the end of the day loving the job and problem solving.
Just quoting you for emphasis here, in case any of our newbies missed it. Well said!
I don’t hear about “The Vorkosigan Saga” anywhere near enough for how good it is.
A scientist gets trapped on a planet with only a barbarian idiot warmonger to help her survive.
Eight or so books later and we get to read about the not quite scandal across her space empire when she takes a new lover and her star romping space knight sons can’t quite figure out how to handle their new stepdad.
And a lot of star empire drama, ego, heroism, and compassion in between. It’s so fun, y’all.
I am, hopefully, exaggerating on the 11 count. I don’t know the exact number, and likely no one does - but it genuinely is shockingly small, considering how critical usability and accessibility are to everyday use of code.
Anyone can study the principles of usability and accessibility, but the number of experts we have really is far too few, and I suspect it’s is why we have so much reuse instead of innovation, right now.
Lots of other very pragmatic solutions also seem ridiculous.
Every problem is going to cost either clock cycles or highly skilled programmer time.
Currently, in the world, all eleven competent user interface element developers are occupied with more important tasks.
Until one of those eleven finds some extra free time, the rest of us get to slap electron into everything, and he thankful we can spread our atrocious CSS anti-talents to one more problem-space.
While I get the longevity argument (Vim and Emacs have a great track record), I’ve found that it is FOSS vs proprietary that causes beloved tech to die.
VSCode is, by a wide margin, now the most popular IDE. If MS abandons it, there’s a fleet of us ready to continue using VSCodium.
Another consideration for you is that Vim is, by a huge margin, the most popular tool for doing difficult edits in an ultra light or restricted server environment. It’s absolutely worth learning for that use case, which I keep being promised I won’t need again, between each of the hundreds of times I’ve needed it.
Edit: The usual issue with plugins on VSCodium, out of the box, is that it defaults to a completely different plugin set, due to MS license rules about their plugin repository. It’s trivial to switch it back with a config file edit, which is, admittedly, a little buried, in the project FAQ. The VSCodium plugin repository is growing better over time, but there’s not good awareness of it yet by most plugin developers.
If you like VSCode, and want the longevity of FOSS, you can switch to https://vscodium.com/
It still leaves the option of using non-FOSS plugins, but makes it much more obvious which bits are FOSS or not. It is, otherwise, an identical experience with VSCode.
The Vim keybindings for VSCode/VSCodium are ridiculously good: https://github.com/VSCodeVim/Vim
As a diehard Vim user, VSCodium with VSCodeVim is a terrific no-nonsense combination.
Edit: Regarding Vim plugin packs, I honestly only ever had a bad time with curated plugin collections. I don’t think the default settings in Vim are that bad anymore, and are trivial to change as you go when something annoys you.
So ratherb than picking a plugin pack, I recommend spending some time in :vimtutor
to learn about various quality of life settings, and then set them as you prefer in your .vimrc
.
Edit 2:
Regarding the ‘split’ in Vim options, Vim is growing up into a protocol, rather than just an editor. As a ‘trapped in Vim’ user, back in the day, I’m delighted that essentially every serious editor now supports Vim keybindings*.
*Disclaimer: I will ‘no true scottsman’ all day long if someone names me a ‘serious editor’ without Vim keybindings. Let’s all not go there, I’m too childish for that conversation.
One important thing you should know about Vim is that, VimScript, the native way to extend the original Vim, is an unholy abomination that is best left to rot in it’s forgotten grave. It’s the only reason I moved on to VSCodium, which can be extended with TypeScript, an unholy abomination that looks like it’s going places.
I don’t have that game, but the details at that proton link match up to those of games I’ve enjoyed on SteamDeck just fine.
Steam+X for the virtual keyboard isn’t too disruptive, as long as the game doesn’t have too much text entry.
"When we decided to give the test to the development team (about 15 developers) — most of them got scores that were lower than our threshold (45%), despite them all being rock-solid developers. Also, there were some candidates who managed to get 95% and above — but would then just be absolutely awful during the interview — we would later discover that they were paying someone to complete the technical test on their behalf.
There is no substitute for taking the time to sit down and talk to someone."
That’s pretty good advice. Interesting read.
Yeah…We do it beacuse we’re cheapskate bastards, trying to get more than we’re willing to pay for.
Source: I worked for a cheapskate bastard, at one point.
Oh hey, thanks! I never particularly wanted any of my apps to route around the VPN, but there the option it is under Advanced, when split tunneling is enabled. Could be handy. Thanks!
there will be a drought of genuinely good talent in the industry.
You’re exactly right, and there’s actually already such a drought. We had this same conversation 15 years ago and it doesn’t feel like we’ve made much progress.
has to change imo, the path should become clearer than telling everyone to get 5 years of experience then come back when they’re ready.
Absolutely, it must change. We need to find ways to do better.
If you’re interested in that level of control, it’s time to look hard at GrapheneOS. “Internet” is a permission you can grant or deny for each app, under GrapheneOS.
But I’m not aware of a way to selectively direct phone traffic through Proton VPN, at the phone. Even on GrapheneOS.
Enough skill with an expensive router could do it, but only on your home network, or only while routing all of your phone traffic back to your home network via yet another VPN.
Edit: TIL, Proton VPN supports split tunneling. Sweet! Look under Settings - Advanced - Split Tunneling - then pick your apps to include/exclude.
Edit 2: TIL DivestOS also supports “Internet” as a per app Permission. Very cool.
I’m kinda done with Pokemon at the moment, but I did enjoy this game, and the previous DLC was a really good amount of gameplay for the money.
Feels like I’ll pick this up eventually.
Lol. Nice.
In my decades doing this, I can honestly say I enjoyedboth times that happened for me. It was nice.
I assume you mean to check on his often they’re is the breaking changes? :)
Declarative style isn’t perfect, but it’s a massive improvement from straight bash scripting.
I think you’re looking for Ansible. Have fun!
The difference between an Anible playbook and a script, is Ansible has a ‘check’, ‘change’, ‘verify’ pattern, and is declarative (meaning that once the playbook is made, it tends to keep working on future versions of Ansible.)
I think my favorite tale from this book is the one with the two belligerent assholes (who confront Luke and then ObiWan), being various forms of belligerent and assholes in other contexts. It’s surreal, but fitting.