> and what happens is they start disappearing for longer periods of time... they quit their jobs because they think, “you know what, this is not salvageable.”
I've interviewed several great senior engineer candidates over the last few years, and then had to watch do this and walk themselves right out the door inside of 6 months. I've developed a marked preference for promoting internally, because you get longer to head this sort of thing off.
Incidentally, this sort of thing is why software engineering desperately needs some sort of formal levelling criteria and/or mentorship programs. It's really hard for senior folks to calibrate themselves against their rapidly shrinking peer group.
I concur - I have repeatedly seen that the only way to pass the interview is to lie and cheat at every step in it. I expect this from someone without experience who is struggling to get a foot in the door, but when a senior with experience does this, they soon begin to become dishonest even with themselves, taking the firm down with them. What I don't understand is why the investors don't step in.
Wow, I have never had to do that. Not to get a job, not to keep one. I mean, I have seen good jobs go bad, but I have never seen one where the truth would get me fired. (Maybe I just didn't stay long enough when I felt things starting to go bad...)
It is hard to take almost any mentorship program seriously that is not a formal university education, and even then, at most universities they do not teach skills that are directly applicable at companies given they are not intended to directly be job training programs. Not that I am on any hiring committee currently, but if I was, I would rather see a candidate with a degree and open source project contributions than App Academy dreck, for example.
If every senior you hired left in 6 months, there is something wrong with your company. Likely on three levela ends - when evaluating people, when telling them who you are so that they can select themselves out and when they are in.
Btw the same goes for when every junior leaves in 6 months. Or whatever demographic group.
You aren't necessarily wrong, but the data also isn't there - one engineering hire bouncing per year is not really significant.
I do think that startups are pretty rough when it comes hiring. We don't pay BigTech salaries, we expect engineers to wear a lot of hats, and we don't offer the kind of management chain isolation a big company does. It takes a particular kind of engineer to enjoy/thrive in that environment, and a lot of engineers transitioning from big companies don't realise the extent of that until they've struggled with their first startup role.
I had the same impression. Surely we aren't the ones who are wrong! It couldn't be us!
I've been in software professionally for over 20 years and in that time I have only left 1 employer before 5+ years. I left after 8 months and it was because the company and org and team culture were a horrible, broken, dysfunctional mess, and the people who were capable of changing it didn't want to admit why they had the problems they had in the first place.
> I've been in software professionally for over 20 years and in that time I have only left 1 employer before 5+ years
You've had a somewhat traditional career there by HN standards. Most of Silicon Valley was promo-hopping ever 1-2 years for the whole middle period of your career (somewhat curtailed now by the job market). It was really popular to FAANG -> startup for 6 months -> FAANG-1-level-up for a good chunk of the 2010s
Sure, but I went through startups, too. I just hung on for dear life and the people above me were willing to hear about issues with culture and work on it. Only the last 4 years of my career have been at a FAANG.
The best sc2 bots these days play in the ~50,000 APM range (they could mostly go higher as well, but the game client breaks somewhere around 100k APM). I don't see an LLM-based bot getting up to that sort of speed anytime soon.
On the other hand, I do think LLM-based bots will quickly outperform the decision-making of many of the hand-coded bots, so maybe they won't need so much APM to be competitive.
> Re: La Liga's censorship, it isn't promoted by the government but by La Liga itself with the collaboration of the largest ISP, Telefónica/Movistar
It is maybe worth looking at the overlap between La Liga / Movistar directors, and former government officials. The Venn diagram has more overlap that one would like to see
Nor on Vodafone for me, 3rd biggest ISP in the country. Guess that leaves us with Orange or possibly Digi as the second one that maybe actually has implemented the block?
Orange is not blocking it on my fiber yet but it is on my mobile connection.
The strange thing is I use the same DNS on both (which exits on my fiber connection, even when I'm on mobile), so they must be blocking it another way.
I guess teenagers don't have any need to sync files, eh? Hate to see this gradual erosion of internet access for young people - I'd bet half the notable members of this very site started their career trajectory by learning how to break/fix computers in middle school or before
It will simply teach them how to go around those "protections". And put them at risk of using shaddy services to do so. Exactly like what happened with the war on drugs...
This has nothing to do with that. They probably realized that teenagers are a small enough portion of their userbase that the loss of revenue (and probably lack thereof to be fair) is far outweighed by the opportunity to ask users for their ID.
Hmmmmm today is a very different world compared to when we used the Internet to learn how to code. Now with Ai doing all the coding is learning how to code even happenning?
Also, just talked two friends who work for mid-size companies and last week both of their CEOs told them to just point Ai to their Jira tickets to finish all their tasks. Anyone else hearing their CEOs instruct the same thing?
> The developer effort is not wasted because it's open source. Anyone can fork it at any time
Assuming you can get a hardware vendor to support your fork.
Android has always been a weird blend of proprietary BSPs wedged together with the core AOSP project - we used to have an entire team whose full-time job was merging the Qualcomm BSP into our AOSP fork. At the time you didn't even get access to that BSP without inking a deal with QCOM...
> Not even possible that it’s accidental. They have their own internal tools, all packets leaving the network will be interrogated, leaking data is a sackable offence
This is a story that folks like to tell, but it's not really how things work - at least since they stopped letting Steve Jobs lock all his engineers in the conference venue.
Leaks are a sackable offence at every tech firm, deep packet inspection firewalls are used all over the place, information leaks like this still happen pretty much every single product cycle.
It's more than thousands, and not only it's not reasonable, it's not possible.
Plenty of games run on some critical optimizations that exploit native code quirks that may or may not hold up only because Windows papers over them by special-casing the game process at OS level. The source of such games may be stuck in IP limbo, with five different studios/companies claiming ownership (three of them dead or bankrupt), and even then, the only person who knows what and how needs to be reimplemented is on a remote tropical island, working for a competitor / happily retired / stuck collecting trash for a living, depending on how their career went.
Takes only a few such cases to turn out to be some well-known games with substantial legacy fanbase hoping to relive some childhood memories, to risk seriously damaging the "supporting everything" marketing angle.
Emulating underlying runtime is safer and more practical choice.
This is what Android does with Dalvik/Android Runtime. Apps you download from the store are compiled to bytecode that is then compiled to native code at installation time.
With the compilation making use of the native instruction set supported for your device, so it can make use of newer arm instructions on newer devices while still supporting older devices.
This is the major reason app installation is so slow in Android compared to iOS (which pre-compiles everything). But it also greatly improves app compatibility with older versions.
There is no way Valve would be able to convince all the myriad of game engine developers to support a proprietary (or even open source) bytecode format even in the future. Best they could do is make it an opt-in.
Android only pulled it off because Google provides the "engine" (Android SDK) for all apps made for the platform and it did from the start.
And even so, most Androids games actually bypass this system entirely and just hand-compile to native binaries anyway. Because, again, the game engines don't want to support this bytecode format and google doesn't offer a C++ toolchain themselves that the engine developers could integrate with.
> Apps you download from the store are compiled to bytecode that is then compiled to native code at installation time.
This is only true in Android 5 and 6.
Starting with Android 7, due to amount of time it took to compile in tiny ARM CPUs, limited optimisation levels, and Java's dynamic abilities, there was a full reboot of this process.
Which is an Assembly hand written interpreter, intended to allow for quick startup in case the JIT cache is empty, a JIT compiler, and an AOT compiler that only compiles the hot paths that the JIT already had a look into, and during idle times while charging so that it can have the CPU all for itself when doing optimisations.
Additionally several other measures were taken to optmise this process, via Play Store Services, devices can share PGO data gathered by the JIT so that each device doesn't have to start from scratch, thus the interpreter step can be skipped when metadata is available. To further improve this process, developers can do training runs, and ship the metadata themselves on the APKs.
Also during the compilation to native code, depending on code access patterns, the executable code gets remapped so that there is an optimal alignment for the instruction cache when reading from the executable code cache.
Google certainly offers clang as part of the NDK, and game development is one of the few officially supported scenarios to run native code on Android.
Your message seems to be arguing both points at the same time - at least that's how it reads to me; first, that it's absolutely feasible to do this because Android did, and then, that in reality game developers there casually defeated those efforts anyway.
"It's not reasonable to expect thousands of existing games to port to ARM"
Realistically it is possible and not actually that difficult. The hardest part would be ensuring that specific code changes from older x86 code to modern ARM code actually translate over properly and perform as expected. The majority of work done there would have to be in the libraries that were used to build the game. For way older games, like the ones you'd run under DOS, it would be much easier, as most stuff was in ASM and C (you did have the occasional BASIC game or PASCAL game flying around which would likely need a little bit of extra work) so you'd just be doing direct translation of instructions.
> Under a comment that reads // Workaround for trailing slashes, my code tacks an “a” onto the path so there’s always a last segment to cut off, then cuts it off with a find-and-replace. When the path ends in a slash, that last segment is just the “a”, and the find-and-replace takes every other “a” in the path with it.
This is top-tier. left-pad levels of "we should just implement trivial functions in our own codebases"
(I do not mean that as a knock on the author - it solved his use case just fine. Everyone who took a dependency on it afterward though...)
it's kind of rude not to capitalise people's names, regardless of ones' stylistic preferences
reply