• 0 Posts
  • 1.72K Comments
Joined 1 year ago
cake
Cake day: June 20th, 2023

help-circle
  • Thanks for that very complete view of things.

    Things are quite different since I last was doing hiring, which was pre-COVID.

    Yeah, my experience leading a remoted team in India also showed the importance of cultural awareness and good requirements: I ultimately got into the habit of, after the big meeting with the boss were all the work was given to the various teams, get my guys individually on the phone (so that they feared not “losing face”) and carefully coach out of them any questions or doubts since otherwise they wouldn’t voice them and just end up implementing something they misunderstood or which wasn’t explained correctly and indeed they also needed very detailed requirements which was a problem because the senior guys on the other side who ended up having to write said requirements could pretty much have done the job themselves in that time.

    This was a big Investment Bank and some top level manager in NY decided to create a division in India to outsource work to, but it definitely didn’t get the cream of the crop over there and the career structuring there was so shit that the few good techies we got would quickly end up as (bad) managers - their pay scales followed the stupid idea that “nobody can be paid more than management” so good mid level techies had to become junior managers to earn more, and they invariably were crap as managers.





  • Same principle as a gyroscope: a turning wheel will tend to stay perpendicular or parallel to the direction of the gravity vector because if it starts tilting away from such orientation there’s a force that pushes it back.

    Also works better with bigger wheels (if I remember it correctly the effect is related to spinning momentum).

    I was pretty surprised when learning Physics and they show us how to derive the formula for that (which I totally forgot since that was over 3 decades ago).

    Edit: Actually the gyroscopic effetc is just a part of it. See this article


  • I see. That does change the idea I had about things a bit.

    It’s been a while since I was last hiring.

    I wasn’t aware that the problem nowadays in the West (or at least the US) was an excess of people who don’t really have a natural skill for it choosing software development as a career.

    That kind of thing was one of the main problems with outsourcing to India maybe a decade ago: the profession was comparatively very well paid for the country so it attracted far too many people without the right skills resulting in a really low average quality of the programmers there - India had really good programmers just like everywhere else but then had a ton of people also working as programmers who should never had gone into it, so the experience of those having to deal with outsourced programming in India usually was pretty bad (I remotelly was a technical lead for a small outsourced team in India from London, and they were really bad whilst, curiously, the good programmers from the Indian Subcontinent I worked with had emigrated from there and were working in London and New York).


  • I think it’s even worse than just the bar for competency going up: even for a coding wizard going into the career, it’s a lot harder to squeeze through the bottleneck which is getting an entry level position nowadays unless they have some public proof out on the Net of how good they’re at coding (say, commits in open source projects, your own public projects, or even Youtube videos about it).

    This is something that will negativelly impact perfectly capable young developers who have an introvert personality type (which are most of them in my experience, even in domains such as Hacking) since some of the upsides of Introversion are a greater capacity for really focusing on on things and for detailed analysis - both things that make for the best programmers - and self publicising isn’t a part of the required skillset for good developers (though sooner or later the best ones will have to learn some “image management” if they end up in the Corporate world)

    I’m a bit torn on this since on one side salesmanship being more of a criteria determining one’s chances of getting a break at the start of one’s career as a developer is bad news (good coding and good salesmanship tend to be inverselly correlated) but on the other side a junior developer with some experience actually working with other people on real projects with real users (because they contributed to existing open source projects) has already started learning what we have to teach fresh-out-of-Uni developers to make them professionals.



  • At some point in my career I’ve actually designed mission critical high performance distributed server systems for a living, so I’m well aware of that.

    You can still pack thousands of users per server and have very low latency as long as you use the right architecture for it (it’s mainly done with in-memory caching and load balancing) when you’re accessing gigantic datasets which far exceed the data space of a game where the actual shared data space is miniscule since all clients share a local copy of most of the dataspace - i.e. the game level they’re playing in - and even with the most insane anti-cheat logic that checks every piece of data coming in from the user side against a server-side copy of the “game level data space” it’s still but a fraction of the shared data space in equivalent situations in the corporate world, plus it tends to be easilly partitionable data (i.e. even in MMORG with a single fully open massive playing space, players only affect limited areas of the entire game space so you don’t really need to check the actions of a player against the data of all other players).

    Also keep in mind that all the static (never changing or slow changing stuff) like achievements or immutable level configuration can still be served with “normal” latencies.

    Further the kind LVL1 ISP that provides network access for companies like Sony servicing millions of users already has more than good enough latency in their normal service and hence Sony needs not pay extra for “low latency”.

    Anyways, you do make a good and valid point, it’s just that IMHO that’s the kind of thing that pushes the running costs per-player-month from one dollar cents or less to, at most (and this is likely quite a large overestimation), a dollar per-player-month unless they only have tens of players per-server (which would be insane and they should fire their systems designers if that’s the case).


  • After over 3 decades as a gamer and tech user this is maybe the single most consistent important benefit for any open platform were you can just install Linux.

    The rest is nice but this one means that 10 or 20 years from now your hardware might have been repurposed for something else and still be useful and in use whilst a closed platform will just be more junk in a junkyard or sitting in a box of those things you’ve kept just because you don’t like to throw expensive stuff away but will in practice never use again.




  • I have an Orange PI Pro 5 16GB on a box that smoothly runs a full blown Ubuntu Desktop version and would fit in a pocket though it’s maybe a little too thick (from memory the box it’s about 3x5x2 cm).

    Total cost was about $170.

    The board itself would fit a thinner box, but you might have to 3D print one.

    Mind you, a N100 Mini-PC that costs the same is even more capable as a Linux Desktop, but it’s significantly larger and will definitely not fit a pocket.

    You can find cheaper SBCs capable of running a Desktop Ubuntu but in my experience (with a $35 Banana Pi P2-Zero) if you go too far down the price scale Desktop Linux performance stops being smooth, even if the board is a tiny thing.

    It was actually quite surprising for me recently when I found out some of these things are perfectly capable Linux Desktops.



  • In my experience working for almost 3 decades in software development, passive-agressive shit from upper management just causes the best people to leave (as they’re the ones who easilly find better jobs) leaving behind mainly a mix of the incompetent and those who never worked anywhere else (who are either already incompetent or will become so, as only ever having worked in just one company is far too narrow professional experience for anything beyond junior/mid level - you need to have seen more than one way of doing things to understand certain higher level concerns and choices in software development).


  • The one time some manager voiced such an idea, I very overtly in front of everybody offered to make “loop unrolling” software working at the source level (compilers already do it at the Assembly level in some cases for performance) for me and my colleagues to really boost that code line count (while totally screwing maintenability).

    Mind you, all devs in that meeting were loudly against measuring performance by code lines, but I like to think that suggestion of mine really hammered down the coup the grace on that “brilliant” idea.


  • I’ve worked as a freelancer (specifically as a Contractor) in Software Development for over a decade and more often than not I ended up having to work with some existing code base, having to deal with the design choices, coding style and bugs of somebody else, often multiple somebody elses.

    There’s nothing quite as “entertaining” as having to deal with 3+ different code and design styles in the same code base because all previous developer thought their own way of doing things was the superior way so just added one more layer of their style (not just coding but, worse, software design) on top of what was already there increasing the mess, rather than work within the existing structure and style and doing some refactoring.

    Anyway, in my experience having to read, understand and work with existing code that you yourself did not made is way more time costly and less pleasant than actually doing your stuff from scratch.


  • Outsourcing killed a lot of the junior and even mid-level career level opportunities in CS and AI seems on track to do the same.

    The downside is that going into CS now (and having gone into CS in the last decade or so, especially in English-speaking countries) was basically the career equivalent of just out of the starting line running full speed into a brick wall.

    The upside is that for anybody who now is a senior techie things have never been this good because there are significantly fewer people at that level than there is need for such people, since in the last decade or so a lot of people haven’t had the chance to progress in their careers to that point.

    Whilst personally this benefits me, I’m totally against this shit and what it has done to the kids entering my career.


  • I have the impression that most people (or maybe it’s my faith in Humanity that’s at an all time low and it’s really just “some people”) just want pre-chewed explanations given to them rather than spend time and energy figuring things out themselves - basically baby pap as ideas food rather than cooking their own ideas food out of raw ingredients.

    Certainly that would help explain the resurgence of Populist sloganeering and continued popularity of Religion (with it’s ever popular simple explanations of “Deity did it” and “it’s the will of Deity”)