[HN Gopher] The PS2's backwards compatibility from the engineer ...
___________________________________________________________________
The PS2's backwards compatibility from the engineer who built it
(2020)
Author : msephton
Score : 226 points
Date : 2025-02-04 11:56 UTC (4 days ago)
(HTM) web link (freelansations.medium.com)
(TXT) w3m dump (freelansations.medium.com)
| mcflubbins wrote:
| > Luckily, I got the chance to learn how to program computers
| thanks to a training program that the company ran. The material
| was easy for me to grasp and I came away from that training
| feeling like I could program just about anything. After I was
| done with that training, I did a lot of odds and ends.
|
| I worry such entry-level positions and on-the-job training will
| start to disappear (if they haven't already.)
| msephton wrote:
| I wonder if Sony still runs such things...
| ramchip wrote:
| I think so, it's common for large businesses in Japan to
| rotate employees through departments at the beginning of
| their career, and to hire people for engineering with a
| degree in another field. In the English language FAQ for
| instance: https://www.sony.com/en/SonyInfo/Careers/japan/en/f
| aq/major....
|
| > Can I still apply even if my major and job course are not
| related?
|
| > Please do! Around 40% of our new recruits work in positions
| that are different from their university majors. Instead of
| narrowing your options by focusing on your major, please
| expand your thoughts and ideas to what you want to do at
| Sony. Pick job courses that excite you and motivate you to
| take on a challenge.
|
| In the Japanese website they mention that 300 engineers act
| as in-house instructors.
| lukevp wrote:
| I think we're a couple years out max from Peak Developer and a
| lot of the growth / entry level roles will start getting taken
| over by the experienced devs who can adapt to coordinating a
| set of AI agents to do the actual coding and testing and DevOps
| more efficiently, and it's all downhill from there. So I don't
| see an entry level, mess around directly writing code job, to
| exist in abundance in say 10 years.
| suhastech wrote:
| I can see that happening. However, I also believe that
| college or some form of structured education will step in to
| bridge the gap. Historically, education has played a role in
| transitioning people from knowing little to becoming
| workforce ready. With AI changing the landscape, the gap will
| undoubtedly be wider, but education systems may evolve to
| accommodate that shift. By the looks of it, AI could itself
| fill that gap.
| bilegeek wrote:
| That's the exact problem though. Companies have been
| outsourcing training to colleges for decades now, further
| and further reducing available career paths as mentioned
| and causing degree inflation, higher education costs for
| everybody, etc.
|
| It's also unlikely to change because it's just one more
| symptom of how companies are run these days, and that
| mindset has societal-scale momentum now.
| scarface_74 wrote:
| Why wouldn't they? Despite what idealists think that
| people should go to college to "expand their minds and be
| better citizens of the world", most people can't afford
| to spend tens of thousands of dollars and not expect to
| be ready for careers.
| bilegeek wrote:
| I didn't intend to sound crunchy like that. College for
| practical means has long been the norm in the US vs.
| elsewhere, going back to agricultural schools in the 18th
| and 19th centuries. There is nothing wrong with that;
| what is NOT good is the whole-sale replacement of job
| training to colleges, as it cannot properly encompass
| every eccentricity of a particular job, leading to the
| problems mentioned before.
|
| College is about getting the knowledge to perform your
| field, not the knowledge of every particular procedure
| one could possibly expect to see. The modern emphasis on
| internships softens the blow somewhat, but it's a half-
| hearted replacement and is easily abused in many fields.
| sunnybeetroot wrote:
| I thought the same, but then I came across a post asking what
| happens when all the seniors retire?
| AlotOfReading wrote:
| What happened to when all the Cobol developers retired?
| Companies mostly kept trying to hire non-existent seniors
| at moderately elevated rates and paid consultants until
| they ran out of money. Very few companies did an about turn
| and started investing in developer training.
| throwaway48476 wrote:
| And there's still not a COBOL training pipeline.
| amtamt wrote:
| Check out Infosys "global education center".
| mirkodrummer wrote:
| I don't see this future coming, companies are made and will
| be made by people, if such level of productivity will be
| reached it will only increase the demand for more people
| doing it. Going from assembly to higher level languages
| didn't shrink the workforce, actually required more
| developers. Productivity improvements(given i don't believe
| it will be that much of an improvement) don't necesseraly map
| to few people doing it
| dclowd9901 wrote:
| This upsets me too. I always loved hiring inquisitive,
| energetic juniors who didn't know shit about software
| engineering but wanted to learn everything about it. I haven't
| been allowed to hire a junior in close to a decade.
| jamesy0ung wrote:
| As a Computer Science student, what should I be focusing on
| in order to get a job in this market?
| dfedbeef wrote:
| Edit: paid internships
| burgos_thrw wrote:
| This. I mentored five interns across two companies (an
| faang and a pre IPO) all of them are on the great path
| and in great companies now. They didn't know much but
| they had an appetite that you don't see often in the
| people with 10+ years of experience.
| _blk wrote:
| Actual projects to showcase. Open source/Github helps but
| is not a strict must.
| ahartmetz wrote:
| IMO: Writing, extending and fixing bugs in nontrivial
| programs, collaborating with others, reading a lot of
| documentation of the things you use, discussing programming
| with other interested people. The scientific part is
| usually not at the fore in practice and your courses will
| be plenty for that.
|
| Working on some large FOSS project will teach you most of
| the skills, though maybe don't specialize too much. Some
| people seem to mostly fix bugs, others design and half-
| finish stuff before switching to something else, etc. It's
| best to know the full lifecycle in order to have relevant
| experience for all situations.
| memorydial wrote:
| Focus on building real projects, contributing to open
| source, and gaining practical experience. Strong problem-
| solving skills, knowing system design basics, and some
| cloud familiarity (AWS/Azure/GCP) help. Networking and
| referrals matter a lot--try to connect with industry folks
| on LinkedIn or attend meetups. Most importantly, don't just
| grind LeetCode--show you can build and ship things.
| freedomben wrote:
| Very much agree with this. When I am looking at recently
| graduated candidates, I look for things they have
| actually built. When they have Open source projects on
| GitHub, that is incredible. Just throwing any crap up.
| There isn't sufficient though. Just throwing your school
| assignments up. There doesn't count either.
|
| My best advice is start writing code to solve problems in
| your own life. Basically write apps to solve your own
| problem. A great example currently on hn is an expense
| tracker. That sort of stuff is great because you can
| showcase your front end and back-end skills, along with
| design and refinement. Then maintain that project for a
| while to show a history, which demonstrates your skill of
| maintenance. That sort of thing Will get you hired by me
| as a junior in a heartbeat.
| dclowd9901 wrote:
| Biggest thing I can advise is stay away from AI. Learn what
| you're doing, learn how code works, is structured, is
| written and why. The most successful engineers are the ones
| who learn the "language" of software engineering. They have
| some sense of how a program is structured even before
| looking at a line of code.
| chii wrote:
| > hiring inquisitive, energetic juniors who didn't know shit
| about software engineering but wanted to learn everything
| about it
|
| the modern management culture has warped the
| apprenticeship/mentorship model (which is what's being
| described).
|
| The management do not want to risk investing in someone
| junior, lest they become senior and move to a different
| company. So the strategic thing to do is to hire someone
| already senior, and not pay the cost of the
| education/training.
| xanderlewis wrote:
| At least it's still preserved in academia.
| devwastaken wrote:
| academia has overwhelmingly outputted low quality. corps
| dont invest because people hand over their taxes to uni's
| instead. a bad deal in late stage capitalism.
| _blk wrote:
| Untapped resource: Homeschoolers and self-tought people.
| Of course that entails that you have to be willing to
| look at more than what school they went to in the resume
| and your company is on board with non-accademic hires,
| but that's partly your job if you want a change.
| ch33zer wrote:
| This is a problem of their own making: treat your employees
| well and they won't want to leave. Treat them like cattle
| you can extract value from and they will.
| Borg3 wrote:
| Yeah, but employees are just resources.. You can always
| hire new talent.. Until not ;)
| freedomben wrote:
| > The management do not want to risk investing in someone
| junior, lest they become senior and move to a different
| company.
|
| Agreed, but this is a legitimate concern. In fact, it's
| almost a guarantee in my experience. The vast majority of
| people, myself included, do not stay at the same company
| long-term anymore. I mostly blame The company's ridiculous
| HR policies around salaries and promotions. For this. They
| have built a system in which if you want a promotion or
| raise you typically have to leave the company. However,
| that does not change the reality that most Juniors will not
| stick around long enough to become seniors.
|
| I don't know what the solution is, but we definitely need
| one.
| chii wrote:
| bring back the apprenticeship model, and stipulate that
| there's a cost to leaving the apprenticeship program
| until the company gets back X number of years of service
| in exchange for the apprenticeship perhaps.
| SkiFire13 wrote:
| The issue then becomes that if the apprenticeship is not
| teaching you anything then you're stuck and likely
| underpaid with a bad company for X years.
| freedomben wrote:
| This is acutally somewhat interesting. I definitely don't
| want to bring back the indentured servitude model (or
| indentured servititude lite which I worry would happen),
| but maybe with some creativity we could come up with
| something. Maybe a way for other companies to buy out a
| contract or something?
|
| My guess is there isn't really a way to get this done
| without some violations of freedom, so it probably isn't
| going to work, but it would be fun to brainstorm on.
| A4ET8a8uTh0_v2 wrote:
| << The company's ridiculous HR policies around salaries
| and promotions
|
| I literally just had a conversation with my boss. You are
| near top of your band so can't do much in terms of
| raises. To his credit, he at least offered a path to the
| next level, but honestly.. that promotion should have
| happened after last year's crazy project.
|
| << if you want a promotion or raise you typically have to
| leave the company
|
| And this is mostly what they got, because people respond
| to incentives. I know my last move was upwards for 30%
| raise ( yes, I was clearly fairly underpaid ).
|
| << However, that does not change the reality that most
| Juniors will not stick around long enough to become
| seniors.
|
| My first real job kept me for 10 years. It could happen.
| Still, the tension between management and rank-and-file
| is real though.
| dclowd9901 wrote:
| What's funny is they'll end up raising the pay anyway.
| It's not like when you leave they can get someone for the
| same pay. They're going to have to pay as much to an
| incoming candidate as the next company will have to pay
| you. They're literally just banking on you either being
| too lazy or afraid to leave. So then the only loyal
| engineers they have are ones who aren't competent enough
| to leave.
| freedomben wrote:
| Exactly! I think they realize this too but justify it as
| a bet. They win the bet often enough that it makes it
| worth it, and the few times they lose are just accepted
| as risks of the business. It seems idiotic to me, just as
| idiotic as thinking of engineers as fungible.
| dclowd9901 wrote:
| The solution is quit letting accountants and managers
| determine pay raises and promotions.
|
| Then you might ask what are managers for. To this I have
| no answer.
| pjmlp wrote:
| Never had that experience, and I have seen a lot as I am
| approaching 50 years old, Software Engineering hiring has
| always been with an Engineering degree through HR, on my part
| of the globe.
| Sakos wrote:
| I haven't seen any entry level positions or on the job training
| at any company I've worked at. I've always been jealous of
| these training programs that Japanese game companies had, where
| you'd be working alongside future and contemporary greats.
| memorydial wrote:
| If companies don't invest in juniors because they 'might
| leave,' they'll just end up with a team of burned-out seniors
| who eventually leave anyway.
| xandrius wrote:
| It's not necessary true. Not hiring juniors doesn't imply
| burning out the employees.
| gosub100 wrote:
| thats exactly what they want, then they put on their sad face
| and tell congress "we just can't _find_ anybody! " and voila,
| in rolls the H1B drones who work at 25% off.
| alt227 wrote:
| In the UK this is generally being replaced by schools. Kids
| start basics of logic early in primary school, and by their
| teens they are attending lessons in how to build websites with
| HTML and CSS. In 10 years everybody in the country will have
| this basic grounding in coding and so workplaces will not need
| to provide it at all.
| msephton wrote:
| Previously:
|
| - 2023: https://news.ycombinator.com/item?id=34944067
|
| - 2020: https://news.ycombinator.com/item?id=22501566
| dang wrote:
| Thanks! Macroexpanded:
|
| _The PS2's Backwards Compatibility from the Engineer Who Built
| It_ - https://news.ycombinator.com/item?id=34944067 - Feb 2023
| (48 comments)
|
| _The PS2's Backwards Compatibility from the Engineer Who Built
| It_ - https://news.ycombinator.com/item?id=22501566 - March
| 2020 (16 comments)
|
| Note to avoid misunderstanding: reposts of cool articles are
| totally fine after about a year (this is in the FAQ:
| https://news.ycombinator.com/newsfaq.html). Lists of related
| links are just to satisfy extra-curious readers.
| mouse_ wrote:
| What I wouldn't give to attend that 90's PlayStation R&D internal
| intro programming course.
| Locutus_ wrote:
| The thought someone went from no programming background, taking
| a company internal course and then writes a GPU emulation layer
| in the 90's is just absolutely mad.
|
| Super impressive!
| apt-apt-apt-apt wrote:
| 20 years? Feels like not that long ago when I was able to
| leisurely rock out on the new Guitar Hero with that.
| doubled112 wrote:
| Part of me thinks it is because games haven't really changed in
| those 20 years.
|
| Time wise we are further away from the PS2 than it was from the
| Atari 2600.
|
| The move from 2D to 3D was massive. The PS1 and N64 made
| experimentation (and bad choices) possible. By the time PS2
| came around it was all figured out, and we have what we have.
| maccard wrote:
| I think this is a bit of a myopic view. There's a world of
| difference between the Aron games of 2024 and 2002. We didn't
| really nail third person camera controls until Xbox 360/ps3
| era, and the multiplayer landscape has changed massively -
| marvel rivals and hell divers 2 being two great examples of
| the last 12 months. The indie or AA scene is booming again -
| that certainly wasn't true in the ps2 era and early days of
| steam, something like Balatro being a perfect example again.
| You're also forgetting g the vast, vast amounts of absolute
| shovelware and drivel that came out and was tolerated on
| those platforms too.
| 1970-01-01 wrote:
| I think your view is a bit myopic.
|
| Take Final Fantasy Online, Grand Theft Auto San Andreas,
| and all of EA Sports as evidence. Those games were best
| selling for a reason.
|
| https://en.wikipedia.org/wiki/List_of_PlayStation_2_online_
| g...
| maccard wrote:
| I'm not saying there weren't great games, far from it.
| scott_w wrote:
| I think there's some rose tinted glasses here. And I say this
| as someone who loves Final Fantasy X, Devil May Cry, Grand
| Theft Auto: Vice City. The PS2 was still figuring out 3D
| cameras and jank was a real issue. I'd say it took to the PS3
| era where the console had enough power to truly render 3D
| worlds and have a controllable camera that worked well,
| especially in action games.
|
| Now I'd say the PS2 games themselves were way better than the
| PS3 era, even with that jank ;-)
| armadsen wrote:
| This article is from 2020. The PS2 came out almost 25 years ago
| now.
| djmips wrote:
| I find it interesting that the Sega Genesis (Mega Drive) also was
| backwards compatible with the Sega Master System.
|
| Inside the Genesis they had the hardware for the Master System,
| which included the original Z80, the original sound chip. The
| Genesis graphics chip was evolved from the Master System and
| could work in Master System mode. You needed a cartridge
| adapater.
|
| The other surprising thing is that you could actually run the Z80
| in parallel with your 68000 when running a Genesis game. We used
| the Z80 as a sound co-processor running MIDI and playing sampled
| drums without bothering the 68000.
|
| On the PS2 system's PS1 backwards compatibility this pattern is
| quite similar, not mentioned in the blog posts is that the IOP
| which acts as the PS2's sound co-processor contains an R3000 like
| the PS1 and it's underclocked to directly run the PS1 titles.
|
| Apparently on later editions of the PS2 Slim they removed the
| R3000 based IOP and replaced it with a PowerPC microcontroller!
| It had to fully emulate the R3000 and the SPU as far as I know to
| fufill the IOP duties including the PS1 emulation.
| poke646 wrote:
| > The other surprising thing is that you could actually run the
| Z80 in parallel with your 68000 when running a Genesis game. We
| used the Z80 as a sound co-processor running MIDI and playing
| sampled drums without bothering the 68000.
|
| I always thought that was a key reason to include a Z80. A
| dedicated sound processor (often Z80) was a mainstay of arcade
| games from the mid-80s and onward and SEGA's engineers would
| surely have been familiar with such a design. It might even
| have helped when porting arcade games.
| skywal_l wrote:
| They were because sega was, at the time, an arcade
| manufacturer first. The Megadrive is the console version of
| the system 16 after all.
| memorydial wrote:
| The decline of entry-level roles is worrying. Companies are
| optimizing for immediate productivity but forgetting that juniors
| grow into seniors. No training, no pipeline, no future talent...
| relistan wrote:
| Agreed. Boot camps tried to fill the void. Some were great,
| some were not, like anything. Most of the boot camp grads I
| worked with were good juniors with real world experience to
| bring to the table (designers, writers, etc). But, in general,
| the disdain boot camps were met with by many engineering orgs
| spoke volumes for how little value people place on junior
| engineers. If you won't train people, and you won't accept
| graduates of job training programs, it's hard to see how you
| can ever have a sustainable pipeline. Many people would
| seemingly rather spend billions training AI than training
| junior engineers. (For the record, I don't view these two
| options as exclusive)
| andai wrote:
| Isn't the end result exclusive?
| relistan wrote:
| Possibly
| freedomben wrote:
| I agree that many engineering orgs did not give boot camps
| proper chance, but I do think it is important to be realistic
| regarding them. Generally speaking, Someone coming with a
| computer science degree is going to be a lot more well-
| rounded with much more breath and depth then someone coming
| from a boot camp.
|
| It's not really a great comparison though in my experience.
| Typically, a good boot camp graduate will come away with a
| better ability to build real apps, but has a serious lacking
| in understanding algorithms, OS fundamentals, and many other
| things That important for Back-End development, especially.
|
| I'm not sure what the solution is to the junior engineer
| crisis, but I don't think the solution is boot camps. Those
| have a great place, but if anything a junior coming from a
| boot camp is generally even more Junior than a junior coming
| from a computer science degree.
|
| My hypothesis is that The computer science degree route is
| what will be most useful for juniors in the future. In a
| world where AI can do the basic coding and build the apps, I
| see the qualities in appreciating overall design and
| architecture, especially with regards to scalability. There
| could definitely be boot camps that teach that sort of stuff,
| but I am not aware of any that exists currently.
| relistan wrote:
| Many of the best engineers I have worked with don't have a
| computer science or engineering degree. The business we're
| in is writing software to support the company. Most of that
| is stuff they don't teach in computer science: inter-
| personal communication, project planning, coordinating,
| gathering requirements, writing. Learning computer science
| fundamentals helps but is in no way required to get
| started. This is a trainable job like any other. Many boot
| camp grads bring a lot of those skills to the table
| already.
| robertlagrant wrote:
| It just depends on the job at hand. If the engineering is
| very easy, and most of the work is gathering requirements
| and coordinating, then it's as you say. This is what Java
| was invented for, and I've been that person. But it's not
| the same as being a really good engineer (which I'm not).
| relistan wrote:
| You are assuming that you can't learn that stuff on the
| job. There is nothing in a computer science education
| that is not available to learn on the job and in reading
| and experimenting on your own over some years.
|
| By contrast, a not insignificant number of graduates of
| computer science and engineering programs struggle to
| excel outside of writing code. That is only a small part
| of the job.
| freedomben wrote:
| I agree with everything you said, but I do think there is
| a difference betwee "required" and "optimal." I worked
| with a guy who went to boot camp after switching career
| fields and had absolutely no CS background. After
| starting the job (and excelling), he started reading text
| books from a CS degree plan. He learned more about CS in
| a year than many people with 4-year degrees, and he
| became a formidable dev. However, most people aren't that
| dedicated/willing to learn.
| taurknaut wrote:
| > Generally speaking, Someone coming with a computer
| science degree is going to be a lot more well-rounded with
| much more breath and depth then someone coming from a boot
| camp.
|
| In my two decades in the industry I've used my computer
| science education maybe twice.
| jeremyjh wrote:
| I don't think I'd go around telling people that. My
| education has been very helpful, and knowledge sticks to
| knowledge your whole career. To think you learned nothing
| applicable in a 4-year CS program honestly tells me more
| about you than industry.
| freedomben wrote:
| Interesting, I use stuff I learned from my computer
| science frequently, especially regarding algorithms, data
| structures, and OS fundamentals. Granted I'm much more on
| the backend/infra side, but those things still come up
| regularly. Just yesterday I faced an issue regarding the
| way threads operate that a basic understanding of
| processes and threads in the OS made a lot easier.
|
| It's nothing that a person can't learn outside of a CS
| degree of course, but most people won't spend the time to
| dig into the formal and often abstract principles to
| really understand how different algorithms perform and
| how choice of data structure impacts performance. I've
| reviewed code many times that really should be using a
| linked list or tree but ends up thrown into a hash
| because that's basically the only data structure the
| person knows. Not uncommon is a reply "Premature
| optimization is the root of all evil" which drives me
| crazy. It doesn't take much effort to just use the right
| data structure in the first place if you understand their
| pros and cons.
| pjmlp wrote:
| As it has always been, at least since I am on the job market,
| early 1990's.
|
| In the little Iberian Penisula, you would seldom get a
| training, and being hired as junior without experience in what
| folks were already doing, was through connections as it usually
| happens in more "flexible" cultures.
|
| And better have a degree on thee field, either technical
| school, or higher education.
|
| Trainings? That is for us to do at home instead of watching TV,
| lets not diminish company profits, someone has to keep their
| audis, volvos and bmws for management roles.
|
| It is not only due salaries that so many emigrate.
| A4ET8a8uTh0_v2 wrote:
| << Trainings? That is for us to do at home instead of
| watching TV, lets not diminish company profits, someone has
| to keep their audis, volvos and bmws for management roles.
|
| The 2nd hand expression of this I heard was along the lines
| of: you should already have a portfolio of projects to show,
| github with stars and/or significant FOSS contributions.
|
| I read the article and it made me realize how far we moved
| from that model. Apart from everything else, my own company's
| training is generic training intended to check the box..
| stockboss wrote:
| as an employer, it's not about us being unwilling to hire
| juniors. it's that juniors these days demand too much salary
| for their position. especially for a small startup like ours,
| we can't afford to match FAANG company salaries. if juniors
| want a chance, they should be ready to accept low salaries.
| mycall wrote:
| Every senior developer is still a junior developer depending
| on the domain at hand. If you want a lateral move into
| another job, imho it is ok to take a pay cut and become a
| junior again, e.g. webdev into C++ games. I don't see why
| people are scared of temporarily taking pay cuts but it has
| always been the nature of being a dev.
| mouse_ wrote:
| I'll work for minimum wage if you're going to offer me the
| kind of training described in this article
| trod1234 wrote:
| https://archive.ph/qKNZk
___________________________________________________________________
(page generated 2025-02-08 23:01 UTC)