Because of the company VPN, I usually teleport to Israel, and I have absolutely no idea how to change the language on a right-to-left layout with a Hebrew alphabet...
~6 years ago I've created a lib to convert any text into the image and decode it back.
Each symbol char code is converted into the hex color and placed on the specific x & y. Brackets, curly brackets, colons, semicolons, or other statements like function, class are highlighted with their own color.
Just for fun
- convert source code into the image
- apply filters
- decode image back into the code
- WOW! the code is refactored kekw
Today, for some reason, I decided to convert the source code of the React and Vue into the art-code images and place it as the NFT tokens on the opensea platform
In case if something will be sold — I will spend all proceed to support open source developers
Tangentially related question: could Nuitka target WebAssembly, given that according to their overview page, they translate Python into C? Usually when it comes to Python -> WebAssembly, the biggest problem is the lack of GC in the WebAssembly spec (as far as I understand), and I'm wondering if this would be an issue for Nuitka as well...
Of course you can build a GC in WebAssembly. You might have to avoid the native stack and lose some performance that way, but that shouldn’t be too bad I think.
One problem is that this GC doesn’t interact with the browser’s GC in any way. So you have painful memory management interactions when (for example) a DOM event handler references a WebAssembly object which in turn holds a reference to a browser object, possibly with cycles (so simple reference counting isn’t enough).
You can fall back to manual memory management here, but that’s painful to use. To make this work seamlessly, you need a way to trace references across both heaps in one swoop. Last I checked, there was standardization work underway to enable that.
This. Before accepting any offer, put all promises into writing. Attach milestones, even if you just make them up, i.e. salary will increase when company receives next funding round.
Send this to the employer. If they balk you know know they were just telling you what you wanted to hear. Be wary.
I'm not trying to be insulting, but none of what you wrote is realistic.
There's no such thing as putting a promise of a quick-promotion into writing. No company would agree to that, nor should they (what if you suck once you start?). And I'm highly skeptical a company will agree to a milestones-rewards plan for an individual employee.
If someone wrote such a proposal and sent it to me, I'd immediately reject them in the hiring pipeline. And I consider myself to be a very employee-friendly hiring manager.
* hiring manager tells the candidate they’ll get a “quick promotion”, but only if they “don’t suck”.
* candidate responds with proposed clarifications of “speedy” and “suck”.
* hiring manager drops candidate from consideration.
Did I get this right?
> And I'm highly skeptical a company will agree to a milestones-rewards plan for an individual employee.
And yet hiring managers play fast and loose with employee expectations all the time, even if their company would never honor such promises as a matter of policy.
How would you propose a candidate determine whether the hiring manager is making promises in good faith?
The only answer is there's no guarantees, and Caveat Emptor.
One of the worst offenses is the one we're discussing in this thread: a HM or recruiter says "We're slotting you at level 4 instead of level 5, because we like to give employees room to grow." That's a BS line -- put me in at 5 and grow me to 6, then! If you hear this line, you just need to understand it's poppycock and make a decision from there.
But basically everything a hiring manager says about a position can turn out to be just wishful thinking on their part:
* The team is most likely not solving a big problem
* The company most likely does not work well together
* The position problem does not have huge room to grow
I've noticed that unless you live in a city where one can switch jobs in under a week, not have to re-locate, or take a big hit on the commute, companies know (knew? At least pre-COVID and rise of work from home) that they have the upper hand.
Even in countries with extremely strong labor laws, companies are not shy to pull every trick in the book to drag out promotions. I've seen examples where it took close to 12 months for someone to get their promotions finalized, and thus a new tittle/higher pay. It took that long time because the employer knew they were the highest paying in the area (albeit underpaying the employees in question, due to not having received promotions in years), and very much locked to their jobs.
When people get established with a mortgage, family, and what not, it's much harder to just drop everything and move away for some extra bucks. So my advice to young devs / engineers would be to do as much career climbing as you can, before you settle down. Once a company knows there's little chance of you leaving, they'll slow down things all over.
As you get older there is diminishing returns on getting better. There is a big difference between someone fresh out of school and been there for 1 year. Between 1 and 2 years it isn't as big, but still important. Between 10 and 20 years there is very little (at 20 years you should have forgotten something that is no longer useful). By 40 years your mind is probably in decline...
This. Anytime management asks you to do some work, ask them -
"How will this play into my promotion?"
If they can't come up with tangible points, don't do the work. You are not risking anything because at this point, the manager has already decided they want to string you along.
If I had a direct report who asked me this for all the work I ask them to do, I'll have to tell them:
"All the work you do, every bit of it, plays into your promotion. I ask you to do something because it's important to the company and to us all as a team, not because it's going to specifically help you get promoted. If you deliver strong results, I will be the first to champion your promotion. But if all you care about is promotion, maybe you should start looking elsewhere."
I mean, it's perfectly fine (and expected) that I should be discussing with my direct reports how their work helps them on path to promotion. But it's not acceptable for that discussion to be a blocking question for every work item.
> This probably isn't a good idea because you are going to annoy your manager. Annoying your manager is not a good strategy to getting promoted.
In a different world, I would agree with you 100%. But our industry is filled with managers who only look out for themselves.
For a manager who says "If you don't do this, then you won't get promoted", this is a bad faith power move. I have learned that when a manager says this and the IC acquiesces, the manager ends up with a proverbial upper hand. Often, this asymmetry is abused.
At that point, I highly recommend the IC to cut their losses and switch. Let the manager spend another 6-12 months staffing and ramping up someone else to do the work.
1. They didn't ask in the interview because you are not going to say something surprising about your degree. They already know you have it and have made their inferences from it. There is no need for further discussions
2. The problem isn't the interview, people can show their knowledge in an interview. Problem is getting the interview.
I think it's less about the actual interview and more about the initial opportunity. Some recruiters definitely still filter on degree. And similarly, some companies have special pipelines for big schools they like.
Once you're in the interview, it's more about real experience and knowledge. I think nobody cares whether you got your experience from school or from somewhere else.
In the (UK) developer job ads there is usually something along the lines of "a degree in computer science or relevant experience". Based on my experience I am guessing that this only matters for the purposes of getting through the recruiter / HR gatekeeper filter - once your actual tech chops are being considered no one cares, in fact not having a CS degree may well be to your advantage (CS does not teach you how to become a good software engineer, nor does it teach you the soft skills).
That said, without the CS education (formal or otherwise) some fields of work will be inaccessible but I think these are in the minority.
I can summarize my path. Ages 12-20, wrote code every day. Took a QA job at a small software company. Moved to development team. Spent 6 years there. Used that experience to get into Microsoft. 5 years there. At that point, there were almost no companies that wouldn’t interview me, and it was just on me to do well in the interviews. I have practiced white boarding all through my career.
So the idea is to get your foot in whatever door you can at that time, and climb when you can.
I didn't go to college, have no "Education" section on my resume. Senior-level SDE, 8 years of experience.
I've been asked about my education in initial recruiter screens maybe 10% of the time, and its come up later down the line in interviews maybe 20% of the time. I've never had it clearly and obviously preclude me from moving forward (as in obviously dropped from consideration after that conversation).
I've found most people who ask to be curious, but keen to move on and talk about my experience. It might be different at the entry level.
Training on code that unintentionally has vulnerabilities is a problem, but I'm even more worried about bad actors intentionally putting code with vulnerabilities on GitHub with the hope that it will become training data. Bad actors might learn how to disguise code to sneak it into Copilot (if disguise is even necessary) and introduce backdoors, etc. It could be especially dangerous because of the "stamp of approval" Copilot has from GitHub/Microsoft. People who would not copy/paste code from the web might feel a false sense of security using Copilot.
I totally expect this will happen. I bet this is already happening. As long as they continue to train Copilot on third-party code that wasn't thoroughly, manually vetted by them, this vector of attack will remain open - and mitigating it falls into the domain of... spam filtering.
Symbols + Maps have some neat gotchas that are good to be aware of.
For example, if you use Symbols as keys in an object, Object.keys() or for...of/in will NOT return/iterate over those keys. You have to use Object.getOwnPropetySymbols()...