My boss wants to give them 11 year old laptops that have been donated to us. The specific model is HP EliteBook 8460p.
I keep telling him that these laptops are not suited for modern dev work, even for beginners. We do Java backend work, so we need IntelliJ and docker.
He says that as long as they work at all, it will be fine. It's ok if beginners wait a bit longer for things to compile. He's non technical by the way.
I don't know what else I can say to him to make him understand that these devices are not enough. Please help.
Posting this from a throwaway for obvious reasons.
You gotta do with what you gotta do. I'm not sure where you are from, but people in third world go through education with much lesser. And in other fields where hardware can be super expensive or inaccessible. Making smart use of what resources are available is very much an integral part of learning.
You could solicit money or other hardware donations.
Perhaps find out the system specs and purchase additional RAM and SSDs to eke out the best performance (IME, the issue with hardware like that can often be brought to a more than reasonable level by just addressing those two elements).
Set up a server for the heavier weight stuff like dealing with Docker and server instances.
If the alternative is they have no way to participate, you don't really have many other options.
I was teaching high school math and science in the late 2000s, and I wanted to start teaching some introductory programming classes. But at that point in time we had an aging fleet of 10-year-old Windows machines. There were 30 of them sitting on the edges of our classrooms, and about 3 of them worked reliably. In one semester, I taught students how to install Linux on these machines, and then I taught an introductory programming class. It worked because I had 8-12 students to work with, and they were eager to learn about how computers work; they weren't focused on programming in particular. Our whole school (~30 students in a small alternative school) ended up using Linux for two years until our district reinvested in new machines, and in ongoing maintenance.
This is a nice story and everyone feels good hearing about it. But the reality is, there was about a 50/50 split between time spent focused on programming and time spent focused on fixing old hardware and maintaining Linux on that older hardware.
This kind of solution is not as scalable as many people like to think. Sure, random people can take an old machine and choose to run with it. And you can do this with groups on occasion. But if you're mixing people with new machines and people with 10 year old machines, you're almost certainly going to lose many of the people on the older machines. Things will take 2-4 times as long for them, and if you're slowing down to support them you're going to lose the people who are on the newer machines and ready to focus more on the content of the course.
There are other solutions. For a coding school, I would want to identify the lowest-spec new or recent machine that will work well for the given curriculum, and find a way to get enough of those machines to loan to students.
Maybe devise a test which you can do with your boss? Write down 10 common tasks and try them out on one of the computers.
This will be hard to swallow, since you want to give your students the best equipment, but oftentimes, the best equipment isn't best suited for teaching. Don't start them off with IDEs, teach them using nano or vim or emacs. Let them learn how to code from first principles. Older machines come with many problems that help them understand how computers work. It's a joy to work with old hardware. I once compiled postgreSQL on a Raspberry Pi 2, and it took hours. It was amazing once it ran, because I still know stuff about compiling PGSQL that no one I work with does. It might not help me today, but it is knowledge that is part of me. I get paid well now, so I can afford a fancy Ryzen 9 CPU with 64 cores. However, that doesn't mean I'm still not tinkering with older tech.
Please let them use these without shoving "these are slow machines" down their throats. Instead, teach them to realize that this is training for the real game.
Though the machines might not be suited for the course, slapping a lightweight Linux distro on the old computers and giving them to parting gift to students without hardware would be a serious act of kindness. Not having your own hardware sucks.
If your boss is motivated by the desire to give charity and to not waste donations, this suggestion might be comforting to them. Then you need to convince them to buy some loaners so the students can complete the course.
The phones were seriously broken. One had a faulty touchscreen in the middle and the boy could only use it upside down with a reduced screen size. He described in a Twitter thread[1] all the struggles he had with the broken phones.
His story got picked up by the media[2]. He was hired by one of the biggest fintechs in Brazil and has been working there since then. He also got many donations, which helped him buy a new computer and finish reconstructing his family house.
[1] https://twitter.com/cezarpauxis/status/1343934072440156160 (pt-BR)
[2] https://www.bbc.com/portuguese/brasil-56337365 (pt-BR)
Perhaps, if you can't get new laptops, your boss would spring for upgrades. SSDs are cheap these days, so is the RAM. If you have some experience you could knock out the upgrades for all the laptops in a couple of days, likely spending less than a few thousand dollars
That said, I have an elitebook 8470p and assuming they have ssds and enough ram, they should be fine considering the situation. If the 8460p is like the 8470p, the CPU is even a socketed one, so there's room for upgrades too, assuming they aren't already maxed out. Learning to make do with older, limited hardware can be a very educational and even enlightening experience.
Now, others have given several suggestions on how to make them at least somewhat usable. Those are good ideas. But even after doing them, there may still be a problem. If you want to show your boss the problem, he has to feel the pain of using one of those 10-year-old machines.
Recently I blew a laptop while travelling and ended up using one of the new Raspberry pi 4's. While not Java with IntelliJ, it didn't impact my workflow significantly and I found it quite easy to work with.
Creating a small set of test scripts could allow you to test your options. I also like the PI idea as you may be able to include it as part of the admission fees to your bootcamp.
Overall your issue impacts the amount of time students have to learn in the classroom. Unfortunately they don't necessarily know any better. If you can prove this impacts being able to cover the course content sufficiently that may be more understandable to a non-tech.
- install 32bit Linux distro with lightweight DE
- disable mitigations, experiment with zram/swapp off
- install 32bit versions of IntelliJ and Chrome.
As long, they limit the number of tabs in chrome and use low resolutions screens, they should be fine. If you could upgrade RAM to 8GB and add SSDs these would be decent machines.I am typing this from i5 2500K from 2011 and work great for me. In most cases it is snappier than my work machine. At the very least, you should try.
AliExpress has some cost effective x79 / x99 Dual Xeon Mobo / CPU / RAM combos. System would be Sandy Bridge / Haswell. But 24 cores and 128gb of ram can go a long way and whole system cost would likely be under $2K USD. A few Sata SSDs and you could easily host a classroom on a single box.
Not Cheap if you don't have the money, but likely cheaper then a new laptop fleet.
For IDE, use VIM or VS code
Why do you need docker locally?
My second instinct is to go virtual. There are plenty of companies that provide desktops as a service. Makes clean up at the end of the class very easy.
More RAM could help, but since they're so old, not sure how easy it will be to find it now.
# Requirements other than correct functionality: fast, responsiveness, appearance, easy-to-read, etc.
Slap a cheap/fast SSD and more RAM in them if they're worth it.
Everyone should burn the website buyafuckingssd.com in their brain. Do not use spinning rust for almost anything except archival.