My dad's resume and skills from 1980
github.com
github.com
It's hard to explain just how new it all felt, then. But in 1973, even though we were sitting on the cusp of the single chip microprocessor and personal computer revolution, the commercial computer was less than 20 years old, and college recruiting materials might well brag that at their institution, there were not one, but two computers on campus. I remember the day the total RAM at our institution passed the megabyte mark - closer to the end, than the beginning, of the 1970s. The ability to "program" was a rare skill - even the people who taught it were still just learning it.
But looking back on it, I would say out of my current perspective this Mel guy was not a genius, but one of the worst programmers you could probably hire:
He written unmaintainable and even unchangeable "write-once" code that was so complex that nobody else could handle it either. He refused to do what he was payed for and just went away as he lost interest.
One of this kind of dudes on your engineering team and your company is in real deep trouble…
It's a given that you will need to throw away everything they did and start form scratch should any changes be necessary later on. However there's one fundamental constant in software engineering: Your software is going to need to change over time! No mater whatever somebody told you upfront. So in case you've got software built by some "Mel" you're completely screwed at that point, especially as changes to SW are usually needed the most at some critical period in time for your company.
Obviously not. We're talking about mundane business software.
Also the "optimizing compiler" that couldn't reach such levels of "perfection" wouldn't be a thing if this would really matter.
> Mel's tricks were just how things were done back then.
Obviously not. Otherwise there wouldn't be any point in this story.
It points out, with a lot emphasis, how exceptional Mel's code was!
> There was no repo, code didn't need to be maintained or added onto.
VCS dates back quite some time…
Also maintaining code was of course not any less important for a company as it is today. Simply as companies back than also relayed on their software to operate.
> The lifecycle of software was much much shorter.
No, of course not, as nobody would throw away some very expensive asset for no reason.
If anything, lifecycles of software were much longer than today (when you can deploy changes every few minutes if you please). Stuff written in the 70's is still running on some mainframes today!
As changing software was much more dangerous with much higher risk of breakage, less experts around, and everything much more difficult in general, it was more usual to try to not touch an already running system. (Maybe you even heard some quite similar proverb coined back than ;-)).
But "not touching" it does not work, as there is only one truly constant thing: Change.
But it's quite strong. B-)
Let's see. From the story:
>I first met Mel when I went to work for Royal McBee Computer Corp... [The firm] had just started to manufacture the RPC-4000
https://en.wikipedia.org/wiki/LGP-30#RPC_4000
> the General Precision RPC 4000, announced in 1960
https://en.wikipedia.org/wiki/Version_control#History
>IBM's OS/360 IEBUPDTE software update tool dates back to 1962, arguably a precursor to version control system tools. A full system designed for source code control was started in 1972, Source Code Control System for the same system (OS/360).
The events of the story predate the precursors of VCSs by two years, and the earliest true VCS by a decade.
I can't find any definitive info when this computer got actually manufactured ("announced in 1960" doesn't mean strictly the same). But this was the time Mel was met first time by the author.
The story plays likely some time thereafter.
I guess some significant time, because it takes time even for a genius to become familiar enough with a machine to do all this kind of trickery described in the story.
I think it may make sense to assume even some years passed between when the author met Mel the first time and Mel's departure form said company.
So I wouldn't be even so much off with the VCS statement—which actually doesn't state any relation between the usage of VCS and the story. I've only said that "VCS dates back quite some time". Which is obviously true. ;-)
But, all this actually doesn't matter.
The more important statement was the following. Which is a direct reply to "code didn't need to be maintained", which is in my opinion just not true.
I did not say VCS was used back than for that purpose.
I guess they preferred more a sort of solid hard copy. :-)
Certainly if you were a business, you had an extreme business interest in keeping your "known good" stack of cards in a place, and every revision in code required a new stack of cards.
"Hey, the machine just ate 10 cards from the payroll software, can we get duplicates made?"
"No, those were the originals, guess we're SOL no one gets paid" never happened.
Most likely "Ok, version 1.34 of the payroll software that was updated last week? Cards 1032 to 1042? Duplicate cards will be up to you within the hour"
or "We have to revert to the old payroll processing software, can you create a new fresh copy of 1.33, 1.34 has some bugs and we need to get tonights run in?"
There are lots of problems that are specific and simple enough to solve, that it's easier to write a C program from scratch, than it is to find, install and then learn how to do it with some existing package... The same concept goes for programs.. At a certain scale, it's not worth the extra infrastructure/overhead/rigidity/complexity that it takes to write software that's optimized for change.
That said, today, in 2022, it's more or less the opposite, codebases are huge enough that most of software "engineering" is about plumbing together existing libraries, and at that scale, it's an entirely different thing.
We're not talking about embedded software with special constrains here!
This story is about mundane enterprise software.
Nothing in the story justified this insane level of over-engineering and premature optimization.
Just using the "optimizing compiler" was deemed "good enough" for all other needs of the company, likely…
Also nobody asked for that over-"optimized" throw-it-away-and-start-over-if-you-need-to-amend-anything-crap.
I have still this warmth nostalgia feeling when looking at this story, but when thinking about it with quite some experience in real world software engineering I'm very sure that this kind of programmer would be one of the worst hires you could probably run into.
Finding any valid excuses for "write-only" code is hard, very hard. This was also true back in the days this story plays.
Sorry for destroying your nostalgia feeling, but please try to look at it from a professional perspective.
Otherwise it makes no sens. Computers back than where very expensive. You wouldn't use them for anything that wouldn't yield income in some way.
It quite clearly wasn't a "computer game" in today's meaning.
I would call "marketing support software" indeed "mundane enterprise software".
Not so for anything shipped on ROM.
Maybe that's even the point that makes me like the story as such very much.
Still true today.
By the day we didn't even invent some best practices or std. tools everybody in the field would agree on.
CS is still like electrical engineering around 1850. ;-)
Decades later I, still a teenager, asked him something like this: "Dad, you were a FORTRAN programmer and physicist in the 70's, you could be a very well paid developer anywhere in the developed world... why didn't you?"; he answered me: "I didn't thought this thing about computers would go too far."
When I asked him a similar question his reply was (quotes are paraphrased): "It was way too tedious to do. You'd spend hours getting the cards just right. We used to put them in a shoebox and mark them with a pen in case we dropped them on the way to the lab. Then you'd wait until the next day to get your results. If you had a mistake you'd repeat the whole process".
Basically it was considered tedious, grunt work in his opinion (at the time...he later of course has come to understand the importance).
I almost didn't major in Computer Science because in the late 90s, there were so many negative articles in the New York Times, vis-a-vis software. People don't remember it now, but the media and the culture were utterly hostile towards us, and loved to say our jobs were going to India, that everything there was to know about Computer Science could be studied in railyard switching, in existing abstract math textbooks, etc.
By a combination of luck, and my dad's insistence, I ended up at Carnegie Mellon, and while I was there, I saw what folks at Google were doing, and I thought to myself, no, this stuff is hard, and this is just going to be the beginning.
> "It was way too tedious to do. You'd spend hours getting the cards just right. We used to put them in a shoebox and mark them with a pen in case we dropped them on the way to the lab. Then you'd wait until the next day to get your results. If you had a mistake you'd repeat the whole process"
Even what came after that, e.g. in C / C++ was considerably tedious compared to what we do today. Folks sometimes had to do objdumps of compiled binaries to debug what was going on. We had to get coredumps, load them up, and try to determine what memory error had caused things to crash (this is an entire class of problems that doesn't exist today). You used to legit need that CS degree in order to code in your day-to-day because you had to understand the function stack, the network stack, basic syscalls like wait and poll, etc.
It was a lot of work, for relatively little product, and I think part of the reason why software is paid more today is in part because of 1. faster processing speeds and 2. better tooling and automation, and higher-level programming languages – all of which were enabled in part by cheaper / faster CPU speeds (e.g. people don't have to care about how slow Python is – you can optimize it after you find product-market-fit), and 3. a better understanding of how software should be developed, at all levels of management.
I'm glad I'm not the only one who remembers this - whenever I try to explain it to someone they look at me like I'm crazy. In the late 90s and even early 2000s the common wisdom with guidance counselors and even local recruiters was that programming and software design were dead end in the U.S. I remember one article literally said "the bud is off the blossom". I wound up majoring in electrical engineering instead of computer science as a result.
It all worked out in the end, but not following my instincts at the time is one of my few regrets.
It rook my alma mater MIT until 2018 to recognize software worthy of a department in itself (after a huge financial donation). Before then it was a step child of Electrical Engineering. This is kind of ironic because me and most of my classmates ended up writing software for money, though almost none of us majored in that field.
That's because in those days, the term "programming" didn't mean "software development", it referred to data entry. It actually was clerical work, comparable to typing a dictation on a typewriter. Only later, when user interface devices (keyboards, displays) considerably improved and it became more efficient to unify those tasks in one person, did "programming" and "software development" start to become synonymous.
It has nothing to do with "dignity of a male profession", or oppression of women, just a misunderstanding of a shift in the meaning of words.
In the 80s we were mocked and called nerds for being interested in computers, and before and after dot com people thought this was dead end career.
My career advice as a teenager was that there wasn't any point doing software, as Microsoft had made it all already with Microsoft Office.
Just yesterday I was talking to a grad about DevOps. He said the field sounded boring from what he was taught at uni. Then when we discussed it more it turned out his “DevOps” course was actually just teaching them how to be a scrum master and didn’t include a single thing about automation, infrastructure as code, etc.
I also remember just how garbage general publications were with regards to IT. And to be fair they still are now. But there was always a wealth of better information in specialist publications as well as online (particularly by the late 90s).
It's a simple chip, with a simple instruction set, that can actually be taught to you in the time allotted over a three-credit class.
And having computers doesn’t mean any of the lecturers understand the modern (for that era) trends in computing. More often than not, it’s computer clubs rather than cause material that hold the really interesting content.
I don’t doubt there will be exceptions to this rule. But for most people I’ve spoken to or read interviews from, this seems to have been the trend.
Why spend the time futzing with a tool like docker? It's not foundational to machine learning, so learning that tool takes away from time that could be spent learning something more relevant. And the student may or may not use it when they get a job.
And if you want to try two different deep learning frameworks, dependent on different versions of cuda, and want them to not break each other, God help you if you try that without containers.
It's not that they don't have a "course in docker". I understand that. It's that they haven't even heard of it, so they don't even know where to start to look for solutions to problems like that. I have been through that pain myself.
Containers is just one of so many easy things, that make your job so much easier, I've learned the painful way in 20 years as a developer in (mostly) non-elite companies, where no one else knew it either because they hadn't been taught at the local universities, because no one there knew it either.
One evening, I raised my hand and asked when we were going to study TCP/IP.
He simply quipped, "TCP/IP is not a real networking protocol."
So I wouldn't say that universities are always behind the curve :)
1. "DevOps" is an absolutely critical part of automation. It's the reason why we can start tech companies with such small engineering staff compared to 20 years ago. It's as important as all the high-level languages we use. This stuff is the logistics of how software gets deployed. It's the same in business as it is in war. Coding chops is like tactical strategy, and being able to ambush a tank column. It matters, and you won't have an engineering org without it, but the whole chain of how stuff gets deployed and iterated is what keeps the ammo flowing and the fuel pumping.
2. Universities want to teach stuff that'll still be relevant in 50 years. Given their proclivities, that means stuff like algorithms.
On one hand, I think that universities and academics can be somewhat forgiven for their ignorance on this matter. In fact I think we ourselves don't know what's going to be needed in our field in ten, twenty, thirty years. If the folks in industry didn't predict infrastructure-as-code 20 years ago, then the universities couldn't have taught it.
But what I know now is that:
- After all these years, no one is getting rid of shell scripting.
- Old school (i.e. 2nd generation) config management still has its place in many companies. Ansible is great for provisioning an AMI, if you need one, but if you need static infrastructure, puppet and chef are actually better because they track state, which allows you to better manage config drift.
- k8s may be hot and all, but a lot of the underlying "ops" stuff still translates. You average resource usage over pods instead of hosts, for example.
- Put together, there is an "instinct" for ops that is not unlike the "instinct" people learn for math, algorithms, and code. They are completely separate and an engineering org needs both. I think that universities don't "get" ops because computer science is more like math, whereas ops is more like history.
- On one hand, being stuck in an older ops paradigm is pretty awful – if you missed the transition to infrastructure-as-code, then it may be really, really hard to get out of that rut. But the field itself can be pretty bad with being stuck – it took us forever to give up our own datacenter racks.
- But otherwise, the old knowledge about old tools didn't necessarily just go away, in fact it's oftentimes still quite relevant. Linux internals (e.g. iptables) are still useful.
- When I was at CMU, a lot of folks learned some of that ops instinct in the dorm room, and in the computer clusters. But the universities pretty much made it optional. Looking back, I think this was a mistake. Ops is pretty much entirely transmitted through osmosis, whereas we at least try to teach people to code in official uni classes.
I wound up going to school for economics and then later found my way into the IT world by circumstance.
In retrospective, the New York Times is always wrong about everything. Maybe it should be adopted as a useful heuristic
At least with punched cards if you kept them sorted (line numbers in front a'la BASIC really helped with that) you could easily edit in place - just replace that one card that was incorrect, because each card = one line.
TECO (which begat EMACS) started out because paper tape which was preferred storage on DEC machines was harder to edit in place than card stacks and instead of retyping whole program you'd summarise your changes (that you dutifully copied on fanfold greenbar printout - or suffered) into few complex commands then used the resulting 4 tapes (TECO load tape, TECO commands tape, incorrect program, fresh unpunched tape) to get one corrected.
For maximum efficiency, the OS/360 team had to work 24h - the programmers would write their changes on first shift, then teams had to prepare cards, submit them for compilation, night shift reprinted modified documentation, and when you'd arrive at work you'd have fresh documentation and results of your compile (unless you had the luck to work on-line that day with more immediate feedback)
They weren't wrong, though; they just omitted delimiting that assertion.
Back in those dark ages, mainframe jobs were still considered by career "experts" the "adult in the room" jobs of programming. It is hard to convey to people who never studied that era or grew up in that era just how much microprocessor-based computers were considered "not real computing" in vast swathes of the industry. The proprietary Unixes thrived under that lay perception, as a "serious business" microprocessor-based computers market segment.
And the mainframe jobs did by and large up and wholesale decamped to India from large chunks of the mainframe account base. Those career experts were right in a way.
Just not quite the way they thought. The scope they thought in was too absolute because they lacked the technical (and business, and financial...) perspective and context to understand why the same wouldn't happen to quite the same extent to sectors outside mainframes, nor of the explosion of re-invention of the wheel of many mainframe tech stacks that would drive the industry forward even to this day and beyond, along with the rapid recombination of new ideas.
You missed, by a few years at least, the opportunity to study and earn a degree that is no longer available from CMU, the B.S. in Cognitive Linguistics. I got an early acceptance from CMU in late 1988, my first choice of education because I wanted that degree in particular, but I could not afford CMU tuition let alone housing, and I was ineligible for financial aid. I studied CS at Virginia Tech at about a tenth the cost and never regretted it. Though I never met him, Allen Briggs[1] was an underclassman there while I was an upperclassman. He ported NetBSD to 68k Macs while still an undergraduate at Virginia Tech, which always impressed me. A/UX licenses were not cheap, and MacBSD was free.
Our computer science department chair (Ed Lazowska) at the time brought this up as a reason to be wary about department expansion in the mid 90s.
You’ll see a huge drop off in computer science graduates after a local peak in 1985 (they wouldn’t get back to that level until 2000, note this article also quotes data from Ed Lazowska).
To me it felt like a golden age. The .com bust hadn't happened yet. If you could turn a computer on there were jobs everywhere. The world was starting to get online. Linux was really gaining traction and Slashdot was all time.
They used to do objdumps. They still do, but they used to too.
The dotcom crash happens later in 2001, but if we are talking about the late 90s, then I’d say it was a period of huge energy in the CS field and tech companies were hiring as fast as they could and jobs were plentiful all around.
And when people today look back with disdain at ugly VB applications and wonder what simpleton, non-programmer, drag-and-dropper built this piece of excrement (that has somehow been running for 17 years without an update and the replacement project that we hired those consultants for ended up 3x over costs and nobody uses it) as opposed to a Real Software Program, there's the reason.
But I imagine we're probably using the same word to describe very different things.
In my team we have reduced the process to having a simple backlog which we work through. But I have seen other teams where you spend enormous amounts of time on planning but it’s frowned upon if you think any further than the next sprint. Just check off tasks without any thoughts about long term architecture or strategy. Basically just a sweatshop with replaceable “resources” (the company doesn’t hire “people” anymore but “resources”)
Granted, that is most of what I see: poorly implemented agile everywhere, usually half embracing SCRUM. I think that has more to do with the typical command and control nature of upper management though.
I'm not trying to denigrate you in any way, I myself switched from working at $BIG_BANK to a more lithe type of company and 90% of that bullshit went away.
Agile + Scrum stuff are minimal and now consume ~4.5% of my week instead of ~12.5%, I'm not spending half my "dev" time babysitting and maintaining giant applications no one really understands in full, and instead work on a bunch of little serverless applications, maybe half of which I do actually understand and can explain end to end.
CTSS -> Multics -> UNIX. All had interactive development and scripting to varying degrees.
I was in school and working in the computer lab when we switched from batch processing (cards) to a time shared system with terminal labs. I was part of the team that wired up the campus and connected the campus to the ARPANET (precursor to the internet).
As we rolled out the terminal labs, each CS class was either assigned to batch processing or time sharing. Since I was part of the lab, I could schedule my classes to be time share only. I was only stuck with 4 classes not in the time share lab. 2 were batch processing. For some reason my LISP and AI classes used a teletype interface. It was not as bad as the cards, but still weird. Some classes allowed me to use my personal computer (TRS80) and work at home.
At the time my uncle was a programmer. He said that there was no future in CS and I should switch majors. I could already see the wave coming and ignored the advice.
To be honest, this prejudice still exists. I heard a C-suite exec mocking "those guys with the ticky-tacky machines".
Not sure of exact time, but I think it was late-60s-to-early-70s; Gramps was a business professor at a major university in the Midwest. A team of math nerds started working on this new thing called a "computer". He said it was almost the size of a basketball gymnasium, it took weeks to get the thing set up, and was always breaking. In the end, it could only do simple calculations. He said the university viewed the project as pretty much a failure. So, Gramps, the futurist, told all his business students not to get involved with computers, there was no future in them. Good job, Gramps.
He later told me his big hope was that none of his students listened to a word he said. LOL
I'd suggest there is likely another reason, and if your father didn't actively think about it he probably understood it subliminally. Back then, programming was part of mathematics at many universities and, like it or not, everyone doing science and engineering had to study the subject—and for many universities that was Fortran. Fortran was essential part of the background culture: if one was doing mathematics or any of the physical sciences, Fortran was just there—thus, one didn't see it as special or exceptional.
I had no option but to study it but I didn't see that as an imposition—diehards like me were regularly chucked out of the punch card room by the university security guards last thing at night when the joint closed.
Moreover, at my university the Fortran lecturer also wrote the Fortran textbook (well, the ones we used at least), so there was no leniency or excuse: Introduction to FORTRAN IV programming using the watfor compiler - 1968 & 1971 and Basic FORTRAN IV programming (version IBM 360), 1969—by John M Blatt: https://en.wikipedia.org/wiki/John_M._Blatt.
As I found out later there were better textbooks on the subject and Blatt was a didactic forceful character without much charisma, so his lectures were somewhat painful. However, comic relief was not that infrequent. We had Fortran lectures in a large hall which had an upper circle like a picture theater, a certain fraternity would frequent the circle and aim paper airplanes at him when he was facing the blackboard much to his chagrin. No, I wasn't one of the guilty but I fully enjoyed the spectacle.
Our community college highlighted their Vax minicomputer by having a special window that showed all the flashing LED's to passers by. But when PC's became the "in thing", they felt embarrassed and covered the window with PC posters. Poor Vax, lots of memories together. It was an early lesson in IT = star-today-washup-tomorrow.
Computers based on integrated circuits were more recent. But the foundations were much older.
For example take the punchcard. Punchcards as a way to work with automatic computing devices go back to Hollerith machines and the 1890 census. That was how IBM got started. The phrase "Super Computing machine" dates back to 1931, and referred to a tabulating machine built for Columbia University. Raytheon was producing and selling analog computers starting in the late 1920s. Much of the calculations for the Manhattan project were done by machines - Feynman talks about this in Surely You Must Be Joking, Mr. Feynman.
And to give a sense of how much history there is, one of my favorite essays in the 1945 essay, As We May Think, which you can find at https://www.theatlantic.com/magazine/archive/1945/07/as-we-m.... It provided the inspiration for both hypertext and the science citation index. The recombining of those ideas in the PageRank patent was the foundation of Google. But how could someone in 1945 understand computing that well? It is simple! Its author was the man who designed those computers Raytheon sold in the 1920s, and among other things was in charge of the development of mechanical computers for the Manhattan Project. (OK, he did a lot more than that...)
I doubt it. If by computer you want to mean any machine capable of mechanically doing some kind of calculation, then of course there are examples going back hundreds of years, or even millenia - the Antikythera device was without doubt a mechanical, astronomical computer, for example. But I wrote "the first commercial computer," and the first stored program, Turing complete computing machine that you could actually write a purchase order and be invoiced for, the UNIVAC I, was only produced in 1951. So, I cheated a bit with "less than 20 years old in 1973." It was 22 years old. The point being in terms of my post, that when I started, computers, and programmers, were still very unusual in the employment landscape, and for people like Ray, of the original post, the concept of being a programmer appeared AFTER their formal education in electronics was finished.
But Turing complete computers predated that. In fact Turing's own design for a Turing machine was NOT a stored program computer. And you're right that the modern idea of programming postdated stored program computers.
But computers are older. As you pointed out, arguably thousands of years older.
However I maintain that automatic tabulating machines were on the path to modern computers. Early accounting applications were based on them, as were key parts of the technology used. Like punch cards.
Does that matter? Depends on your point of view. What I meant by "how new it all seemed" then tells the tale here. Baruch could maybe see the future in 1945 because of his experience and vision. But by 1970 or thereabouts, almost anyone who touched it could see it, and millions were increasingly able to touch it, precisely because it was was commercially produced and generally available. Still not ubiquitous, as they are today, computers were nevertheless showing up in every corner of life.
So it's not that I think computers or information as a processing as a concept, or even as an occasional reality, were new around 1970. But computers as a phenomenon that would define the way interact with each other and the world, and computer programming as a skill that anyone could acquire, really were.
In warehouse and construction work, if someone shows up at 7:30 AM on a Monday morning, odds are quite good that the foreman will have something for them to do. Maybe not that day, but maybe tomorrow, or maybe someone on the list above them won't show up that week and they'll get called. I made rent doing that in my early 20s and they even let me leave early sometimes to work on my internet business because I didn't have a family to support and maybe someone else had a bill they needed to pay and wanted my shift.
Why again does boutique startup need to interview 500 overqualified people? Hire someone right away and let them quit if they want to and hire someone else. It's just business for crying out loud.
You're not hiring construction workers, you're hiring architects. It often takes more than 3 months to get used to a new codebase and understand how and why things are done the way they are.
B. Are you saying top banks are bad at banking?
literal fraud by banks and security rating agencies was directly responsible for the crisis. They defrauded their customers and each other.
Thats why they were called subprime loans.
What do you mean by "fully automated" ?
Literally every aspect of that job is fully automated.
Where I work today 20+ years later, we have 1/3 of the people doing like 100x the amount of work by several measures. Little teams of developers can just crank out work.
Yes, the productivity of modern day "stored-in-the-DB/presented-in-the-browser" project teams can be astounding. But that's only one type of software.
This is missing the point of interviewing. The goal isn't to find any warm body to fill the chair, the goal is to find someone qualified to do the work who also has a history of doing good work at previous employers. You also don't have unlimited headcount and hiring budget, so it's worth making the investment to find the top 10% of your applicants rather than picking first-come first-serve.
One of the things you don't realize about the hiring market until you've been reviewing resumes for a while is that problem employees are over-represented in the candidate pool. The most qualified employees spend the least time job searching because they're given offers right away. The most problematic and underqualified employees are frequently searching for jobs after being fired or let go. If you sample applicants at random, they're far more likely to be in the underqualified and/or problematic group than in the great employee group, statistically.
The other thing that isn't obvious is just how damaging a single bad hire can be to a team. Hire someone who clashes with their peers and fails to deliver any good work and you'll find yourself losing the good team members very shortly. Nobody likes working with painful coworkers.
That said: The analogy of a "walk-on" job isn't dead in tech. If you pick a company you want to work for, find someone on LinkedIn, and send them your resume with a short pitch about why you want to work there, there's a good chance they'll at least strongly consider your resume. Nobody is guaranteed a job this way, but it's one route to getting your foot in the door even when you don't see the exact job posting you want on the website.
I never had a technical failure in my hires, but I did have a couple of "bad cultural fits." These usually weren't toxic people, but people that couldn't handle the responsibilities and pressures (we were a small, high-functioning team, and everyone's visibility was fairly high).
But this:
> who also has a history of doing good work at previous employers.
makes me wonder how LeetCode tests can tell you that, as they seem to be the single most important component of all software engineering hires, these days.
In my experience, they just drive out the qualified people that can see projects through, and leave you with ... the ones that are really well-practiced in short, academic exercises.
> In my experience, they just drive out the qualified people that can see projects through, and leave you with ... the ones that are really well-practiced in short, academic exercises.
Yeah beats me how anyone thinks LC is useful, other than for weeding out the most unqualified people, like people who genuinely have never coded. I suppose what it really does is finds you people who are willing to put in the time to study all the hundreds of questions.
Yes, this is it.
I won't study LC, because I'm waaaaaayyyy too busy, learning Swift, UIKit, AppKit, WatchKit, SwiftUI, DocC, MapKit, SiriKit, device SDKs, networking, USB, etc.
I literally work every single day (like seven days a week), and learn something new every single day, yet I am barely keeping up. I would be nuts to sacrifice any of this time, studying schoolboy questions that have little to no relevance in the software that I write.
These technologies result in actual applications that you can sell and market.
Just another way to look at it.
When a job doesn't focus on what LC asserts, and I think we'd agree about how huge that segment is, then naturally it should be a small or non-existent consideration.
Some stuff should definitely have a steady hand on the tiller, other jobs, not so much.
But the thought of licensing software engineers is daunting. The industry is so incredibly varied.
For example, almost none of the programming I do, involves higher math. I've pretty much forgotten all my calculus, while other jobs are almost nothing but math.
I could be writing crucial, lifesaving device control stuff, and the math person could be working on a game physics engine.
I am in awe of game programmers, but they also work on "nice to have" stuff. I know someone that writes software for medical devices. He is not a "math person," but he's also very dependable, and can be relied upon to Get The Job Done. He has many years of working on things like USB drivers, firmware, Bluetooth, and networking layers.
So, if the “licensing test” insisted on a good command of advanced math (because “everyone should know it” –the same argument given for LC), neither he, nor I, would make it, so the company would be deprived of some very good, dependable, disciplined, and talented engineers, fully capable of writing highly effective asynchronous device control code, and would, instead, prefer an inexperienced math programmer that would try to rewrite the project in haskell.
But overall I agree with you. While I don't have the results to back it up, I do believe that ultimately Leetcode isn't that useful outside of recruiting people straight out of college. Otherwise, I think there are more domain specific methods to assess candidate fitness to a role.
Also, my giving my unsolicited opinion, I do agree with one of the Reddit posters saying that you are currently on your way to burnout. While I can sympathize with you being super interested in learning programming all the time (because it is very interesting!) be sure to not ignore your other needs, and also to take a mandatory break at least one day a week. Speaking from experience, if you don't do this you will burn out and you will have to pick up the pieces.
But I also take breaks (and naps) whenever I want. No one wants to hire old folks, so I don’t work for anyone. I do this, because I want to.
What’s that saying? “It’s not work, if you love what you do?” For me, coding (designing solutions, in particular) is relaxing. I have some fairly serious family and extracurricular obligations that bring their own stressors. Coding is how I get away.
I’ll tell you when I was actually in danger of burning out; it was when I was a manager (which I did for 25 years). I spent a hell of a lot of time, sitting on my ass. I coded on the side, so I wouldn’t burn out. This is like Disneyland, compared to that horrible grind.
It can be months (at a high salary) before you really know whether a hire is likely to work out. I think it makes sense to invest more effort in screening applicants in this case.
The trouble with programmers is that you can never tell what a programmer is doing until it's too late.
The trouble with programmers is that you can never tell what a program is doing until it's too late.
The trouble with programs is that you can never tell what a programmer is doing until it's too late.
The trouble with programs is that you can never tell what a program is doing until it's too late.
Which is hilarious in an industry that is pretty binary ("you can build it") || ("you can't build it"). Doubly so when the majority of dev jobs are in web which is easily explored in the candidate's language of choice with basic CRUD / RESTful concepts.
It may not be the majority, but if the research is all done in-house by various firms, there's no way for anyone to know that.
That started the contractor looking elsewhere...
> It can be months (at a high salary) before you really know whether a hire is likely to work out.
It's only that way if you make it take that long. You should know if you have a good programmer 2-3 weeks after the hire. Here a couple things that make making great hires hard:
* Making it difficult to learn and understand your system.
* Having slow and expensive employee onboarding. I've seen companies spend $3-4K (not including the actual laptop) just getting a laptop to a new employee after IT gets done with it. If it's super-expensive to make a hire, the incentive will be to keep people that aren't getting the job done.
* Not looking at work output for extended periods. In short give new people tickets that can be done in a few days at most so you are able to look at work output in six days instead of measuring at six months.
> I think it makes sense to invest more effort in screening applicants in this case
There's only so much you can really screen before error in your hiring process exceeds 50%. Every step you add to a screening process has an error rate, and some are very subjective and error prone. The more screening you do, the slower you go, and honestly, the worst candidates you have to pick from. Why? Because a good programmer will be on the job market for 1-14 days (I'm not saying you are bad if it takes you longer to get hired, it's just what we're seeing in our recruiting software right now).
Does your software systems scale to Millions?
What about counterfactuals?
Without that data, your 3-decade hiring process means nothing.
I'm sure someone working in IBM, TCS, AT&T, Booz can all claim that they have been hiring people for 3-decades and give an opinion
>I've hired hundreds of developers over three decades, and this is completely wrong
in order to argue from a position of authoritative experience, these questions are entirely fair game.
If folks are too green for that then they can be put thru an internship first. If an obscure language, have them do checkins on a tutorial.
I have a human conversation, make sure the expectations are clear and ask them if they think they can do it. Then I look at some of their work to verify and that's literally all.
No whiteboard, no takehome, no brainteaser, nothing like that.
Go google "how gates hires" or "how jobs hired" ... it's more or less the same. None of this I watch you implement a sliding window in a shared coding environment bullshit.
Let me put it this way. Say your candidates were all award winning scholars with phds and prestigious organizations to their name, then how would you go about it?
With respect but also, you'd still check to make sure it's the right fit, obviously.
Now here's the crazy go-nuts bananas idea - treat everyone with that level of respect. Totally wacky, I know. But hear me out - you can apparently build better teams with trust allocated to trustworthy people as your building block. That starts the day you interview and extends forever, well beyond your time working together.
Yes, three times.
> Does your software systems scale to Millions?
Is 8m active users per day enough?
> What about counterfactuals?
A broken clock is correct twice a day. Not sure what you are wanting here.
> I'm sure someone working in IBM, TCS, AT&T, Booz can all claim that they have been hiring people for 3-decades and give an opinion
I don't work for them.
the meta-halting problem
This make sense for highly productive labor, that foreman hiring people for just showing up generally got a positive expected return for this. In fact, this is still how a lot of (sometimes illegal) day labors go about getting work: truck comes by, picks up people ready for work, work get done and everyone makes money.
> Why again does boutique startup need to interview 500 overqualified people?
Because these startups lose money as a matter of principle. The people working there aren't actually performing productive labor. All of that hiring is about creating a large illusion in the market place.
Most of my labor has gone to waste. More projects than not never ultimately shipped, but even the most valuable projects I did, still made money for companies that ultimately lose more money than they take in. Many of my best projects are for SaaS companies that don't exist any more.
The guy picking up a bunch of people in the back of his truck is about to go build something real and is going to get paid in cash, and the more people he can get in the back of the truck the more jobs he can get done in that day, which means more cash for everyone (and if you're on the paying end, it means that project you wanted done is done faster).
> It's just business for crying out loud.
I don't think this has been true in tech for over a decade. I had a COO once excitedly proclaim that if the company made more money than it cost to run, we would have unlimited runway. The COO seriously thought he had stumbled upon some brilliant realization about a company making more than it costs to run.
The guy with the truck knows far more about business than most execs at tech companies today.
Same here and I've been in the biz for ~35 years. An architect can drive around a city and point to buildings he designed. It's a bit disillusioning to think that the vast majority of the work I've done has just sort of disappeared because either a startup didn't make it or got swallowed up into a larger organization that had other plans.
> The guy with the truck knows far more about business than most execs at tech companies today.
Yep. The guy with the truck can't lose much money for very long. A lot of tech execs have gone years without needing to worry about that because there was so much easy money around.
I was under the impression that architects also did a lot of spec work, or designs for RFPs that don't ever get built. Or maybe only get built as a model.
I'm not disagreeing with your premise -- there is a lot of programming work that is hidden, lost, or wasted. However, it's not a trait that's exclusively a programming thing.
I don't think that the situation is really that much different for building architects.
In cities that are experiencing rapid densification, it's not unusual to see numerous buildings from the 1950s, if not much later, being demolished to make way for newer and larger structures.
Even when structures aren't totally demolished, it's not unusual for them to be so extensively modified that the original building is virtually unrecognizable, or even completely obscured by the work of other architects.
It's also quite common for building projects to be canceled before construction starts, but after designs have been prepared, and other architectural work performed.
Many projects that do eventually get built often go through numerous revisions, with the final product being almost nothing like the earlier designs.
Washes most of the nonsense away.
A guy goes up to the shipyard gates and asks to see the foreman. When the foreman comes along he asks "Hey, any chance of a job in your yard?"
"Yes, of course", says the foreman, "if you're prepared to start at the bottom and work your way up. Are you any good at making tea?"
"Yes", says the man, "I can make the tea!"
"Great!", says the foreman, "do you know how to drive a forklift?"
The man squints at him quizzically, "How big is your f***** teapot, then?"
This used to happen in the 80s. I went to interview at a startup company in Mountain View in 1987. There was some chit-chat then the interviewer asked me to wire-wrap a circuit (diagram was provided) and power it on and connect it up to the logic analyzer - he went away for about 1/2 an hour while I did that. He came back and complemented me on my neatness. Then he took me over across the room to talk to the VP of engineering who, after a few minutes of chit-chat, asked me when I would like to start. Those were the days.
I wonder what’s so hard with my interview. 5 years ago, even interns could do it, one of them could even tell the difference between UTF-8 and UTF-16.
Anyway, I guess it depends what compute layer you're interviewing for, but it doesn't necessarily sound like your interview process is broken, exactly. Like, it could be testing for the right thing, but in the absence of that thing, maybe you just need to find another thing that is substitutable.
It should be our real-life test, but it’s too long. It’s our most complicated algo, and honestly it’s very simple in the end. But given all the variables scattered around in a string.contains() (I don’t even look whether the result is correct, I look whether it’s structured for intelligibility and how they debug the off-by-1 errors), I can’t suppose a more complex algo will be done cleanly.
Maybe I’m mot giving them their chance - It might have taken time for me to output clean algorithms.
Umm...there's some administrative and legal overhead related to hiring, firing or otherwise replacing an employee you seem to be overlooking.
Things would function just fine, if not a lot better, without such unnecessary burdens being forced on employers and employees.
Long story short: I think we can lengthen the interview period to accommodate those legal time sinks without killing off the (now a bit of a novelty) meatspace first impression. Unless you're talking about blind selection, where the candidate's likeness (name, etc.) is redacted for DEI. In that case, I can see how witnessing the candidate's skin, gender, etc. could be problematic. TFA even explicitly included the types of things we try to leave unspoken these days: excellent health, 5'4"?!
Oh yes, ‘at-will’ states are absolute front-runners in employee happiness.
We were a small-ish startup and he had done his homework, showed interest, and could write code to our standards. He stayed for a year or two and then moved on.
Offbrand for this site but I’ve seen women audition and work and get paid the same day, this year
Is what it is
They sign all forms and its W-2 employment some places as well
I agree we should reduce friction to that level for more kinds of work, some people are working on that
the main point is how it is in direct contrast to how other sectors will interview for weeks and months, before any resolution at all, then require negotiating an offer, just to get to a two-week notice at a minimum and then require another 2 weeks to a month to get paid, with deposits taking several more business days (up to 5 actual days) to be available
paid instantly when you realized you might need it, versus paid 4 months from now hoping you planned and forecasted correctly
I was referring to women dominated crazy corners and I don't have lived experience with man's equivalent job pursuit to say so I didn't speak about them
That's hard to do when there are so many strings attached to employing someone. It's a double edged sword which makes the decision to hire someone a lot bigger." Yeah, I have stuff I need help with right now" is not enough.
Whereas some tenants rights seems to have a pretty large positive impact - ie all the positive effects of secure housing.
Of course ymmv in your local housing market.
In that case, one benefit of public housing is that it slims the pool of “sob story”-havers that you can evict for sport!
But the contractor usually needs to be "employed by" some agency company, that guarantees his/her suitability, and that handles the (not insignificant) paperwork / legalities, and that takes a handsome cut.
No need for 5-star skills ratings, dual-colored backgrounds, unreadable fonts, and whatnot...
My resume, and the resumes I've seen aren't too far away from this format. More bullet points and a bit more detail than this, I guess. But otherwise pretty similar
It's actually easier - you just tag on whatever you do every one in awhile. "Normal" resumes are like ads for you, and the positive/negative usefulness of your resume is more about your ability to produce compelling bullshit for an audience, miss the mark, or land in the middle of the bell curve.
https://en.wikipedia.org/wiki/Federal_Resume_(United_States)
The guy leading it was spectacularly useless from the get-go, training us in how to use word in the most wonderfully terrible way, one particular nugget i remember him coming out with was:
'bold is particularly good for standing out, in fact I would even go as far as putting the entire document in bold'
I asked him about all caps, but stopped short of asking him if i should sprinkle it with glitter for fear i would 'fail' in his assesment of me and cut my benfits.
Jeeeeeebus. That sounds like something right out of an episode of BOFH!
What a muppet. Clearly you should use the Header Font.
I read a lot of resumes. Honestly, the number of quirky over-designed resumes I see is probably 1 in 50.
The vast majority of people do submit clearly organized resumes based on a template they found.
The reason those quirky over-designed resumes get shared on HN or other social media is because they’re different, not because they’re common.
What's wrong with saying, "May I draw your attention to my experience? They have something to say."
When it does, you have trouble fitting it all on 1-2 page. You quickly go to text only, and organize things accordingly. When you lack experience, you try to make things look like an infographic so as to fill space with trivial information.
Occasionally a recruiter will ask/demand I give it to them in MS Word - I've learned it's always a bad idea to give recruiter a resume in an easily editable format.
"It says on your resume you have extensive experience in X."
"I do not."
They also have a thing for stripping your name and contact details out and pasting their ugly letterhead over the top. Which I suppose they could still do with a PDF if they have Acrobat Pro.
This makes some amount of sense because they want to avoid the company bypassing the recruiter and their commission. I was once hired like this (although I didn't know it until much later, when the owner told me). I think it's a realistic and reasonable fear.
I have a "redacted" version of my CV for this purpose which removes the personal information, but I can't recall I ever actually used it since I haven't really used recruiters for a decade.
They usually strip the content from it and drop it into a container resume that has their details so that they get credit from the hire I assume. lol. That being said, whatever the poster was doing to stop the resume from being edited is moot. They will just copy the content from the PDF and paste it into a new one.
But I'm guessing that's your point, right? Because the hiring manager should notice, and the interview process should screen for it, so this must be a symptom of much larger scale dysfunction in the tech recruiting/hiring space.
"You mean FOOlang? Yeah, a little."
"And what jobs did you have when you did that?"
"Uh, I learned a little about FOOlang in the job I had from 2010-2012, and then it came up again in the job in 2015."
"Thanks! I think I'll have something for you tomorrow."
And then the recruiter edits "Skills" to include six years of the still-misheard FOOLAND.
Everything else is worse.
Oh yes. As the candidate this is also great when the interviewer says something like “It says here you’ve worked with x” and you go “I’m fairly certain that that wasn’t on there when I submitted the resume (to the recruiter), let me see that” and it turns out like the OP said, extra skill added in a different font.
I have no idea how hard it is to get around that, but probably too hard for most headhunters.
So enlighten me, since I don't use Word much: if you mark your resume "Final" and a headhunter wants to "improve" it, what do they need to do?
In some pdf readers there is an option "respect limitations"… by disabling it you can print even when print is disallowed and so on. I guess it's the same with word documents.
I was hoping I'd have to supply a password to edit it, which would be a somewhat reasonable level of security. But no; you just click "edit anyway." Duh.
The best you can do is a digital signature[1], which proves that the document has not been tampered with. Of course, it's up to the recipient to ask for a signed document and to actually check if the signature is still present and accurate upon receipt. Otherwise, it's very trivial for a third-party to remove the signature and add their own edits.
[1]: https://support.microsoft.com/en-us/topic/add-or-remove-a-di...
I actually got an interview - I never followed up, but I thought maybe they had a security policy against opening PDFs or something.
"Can you send it to me as a Word file?"-style recruiters have always been correlated with a poor experience for me.
It's a real skill, I tell you.
And even then, I would daresay that those are applied and therefore lesser. If you want to be able to expand one word into one entire paper, you need to go deep into academia.
Over the years my CV has become super dense with text, not because I have more experience to list but because I've been told repeatedly to list all the languages I've used and details of the projects I've worked on.
Found a picture of it for reference, plus or minus minor tweaks depending on the company: https://external-preview.redd.it/Sfx4gvcEZXKXr8cxBseyyW2ycGP...
Certainly far above average chops for an entry level applicant so I don't know what every employer's problem was. Much harder world for junior developers than anyone would make you think if even I had that much trouble. I was legitimately scared I had no future outside of fast food for a while there.
It's like fashion. Arbitrary but just having the basics understood goes such a long way professionally and socially compared to the effort expended
People like my interior decorating, I can appreciate other things that are aesthetically pleasing, and I've made my share of actual art. I just don't think I have it in me to understand whatever in the world is going through someone's mind when they're displeased with this resume. It's a missing faculty like blindness or tone deafness. When I get a resume or an email I just read it, I don't sit there and hem and haw over how many pixels the bullet point is indented or whatever it is.
This is why resumes should be abolished entirely and replaced by a standardized database you put your experience and skillset into. Anything an employer wants to know has to go in a standardized field. No discrimination can possibly occur based on your ability to format a piece of paper according to invisible, unpredictable metrics that you might have no faculty for and have no bearing on your ability to do the job.
I'd say too often what happens is that engineer minded types rebel against unwritten norms like these and derive a sense of moral superiority from being immune to them, when ironically from an engineering POV it would make more sense to just do these little things, iron the shirts, use a template, and call it a day.
I think it’s telling that you have received very valid and constructive criticism on this resume from multiple people, yet you still can’t see why this is a bad resume. You know from data and observation that in the real world this is in fact a bad resume, because it doesn’t get you interviews and offers - which is the point of a resume.
- Half of your CV is empty space
- Dates are formatted really badly, no one would be able to get a good grasp on your project and work timeline quickly
- You have a game project that spans several years, and you sum it up into one sentence. Why are you doing that? It's one of your main selling points, and you don't expand enough on it.
- The prioritization is not sound. I'm reading about your proficiency with vim (pretty much irrelevant) before I even know your work history.
- You mention Linux administration. That's pretty broad. You should specify more. Did you deal with network config? systemd? FUSE?
Overall your resume looks lackluster, unprofessional and bare-minimum. It's been more than 7 years now, and you still see nothing wrong with it? Sorry if that sounds harsh, but I'm doing you a favor by giving you a reality check.
Half is empty - just graduated, can't expect that much stuff to put there.
Maybe I should have expanded more on the game but I was getting the impression nobody cared that much about personal projects.
The very first two things you do with a resume are match up the list of technical skills with the list of tech in your position requirements, and check the education requirement. That's why those two go at the top.
I'd dealt with a lot of config issues running Debian on various hardware in high school as well as installing it, dealing with apt, understanding chron, a lot of basic things. I don't think systemd was much of a thing yet.
I still fundamentally disagree that the resume is bad. Again, I'd hire this person, and I'm saying that as someone who's done interviews and hired people now.
That is what you do. The very first thing I check is where they worked before and how they describe what they did there.
In the case of juniors, that’s replaced with looking at basically anything they did and how they describe it.
By the time the CV gets to my desk the keyword matching is already done.
While the resume isn’t necessarily bad, it screams to me that the candidate didn’t even bother to look at, or didn’t care how a CV is normally structured/laid out before handing theirs in.
It’s not necessarily bad, but when looking through a bunch of them you don’t really want to adjust your mental parsing model for every resume, so barring anything else about it that stands out, you just mentally dismiss it.
To be fair, this is something I’ve seen more from people just leaving school.
Education on the top is a waste of most anybody's time, let it be on the top only if you have no work experience (and if that's the case, yikes).
I don't care about language/skillset checklists, because that's not what I hire for. Especially with no indication of relative strength or accomplishments with them - if I need a specific skill I'll happily scroll to see if it's there or not, but I want to see an actual story about this person's career and interests, not a set of "fill in the blank" stuff that every graduate has:
* woo high school and a college degree great, that's not something we're going to talk about
* version control, editors, etc are table stakes
Why is all of the experience effectively unscanable (by eye)? Prose-first, no easy way to separate by date, by project, or position held?
A resume doesn't have to be a thesis in print design, but I think you'd do well to consider the feedback you're receiving in this thread and that you alluded to receiving before - this resume isn't advertising anything to me and it's work for me to construct a coherent story about why this candidate is a strong fit for hiring.
... are you kidding with these two sentences side by side? you just answered your own question, ask about the email process! and how is that outline of what I did even that vague? and everyone says to list accomplishments that benefitted the company instead of responsibilities, which this is a perfect example of.
I'll hopefully never have to write a resume again but if I have to I'll just pay an expert. The way I instinctively read and understand a document by actually reading it and caring about the content first is just too mismatched from the average neurotypical's way of looking at the world for me to empathize.
> and everyone says to list accomplishments that benefitted the company instead of responsibilities, which this is a perfect example of.
It's not perfect, it's nearly worthless. A perfect example would have at the very least some hint of the business value and the nature of the problem at hand.
> The way I instinctively read and understand a document by actually reading it and caring about the content first is just too mismatched from the average neurotypical's way of looking at the world for me to empathize.
This is pretty patronizing. I'm actually suggesting that the content of the resume you provided is itself lacking. The issue is not that "oh no the neurotypicals don't want to read my resume", the issue is that this resume's content has room to improve, but you think that can't possibly be the case. Yeah, you're lacking empathy (or at the very least pretty defensive), but it's because we WANT content, not because we're looking for surface-level stuff. In fact most of the feedback has actually been that this resume is TOO surface-level (list of skills? don't care, vague bullet points? don't care), and you're defending the superficiality of content, which is incoherent alongside the claim that people don't care about the substance.
All that extra detail seems trivial to me and covered well enough by the gist provided. Is this version really that much better for these details? Is it even enough detail for you yet? It feels like too much detail to me.
It was something about tax ID's and temporary merchant licenses for the state of Maryland.
Edit: An actual dramatic improvement is trivial to pull from your bait example, by the way:
"Automated a manual process for collating tax ID and temporary merchant licenses for the state of Maryland, honoring rate limiting and supporting auditing of failures. Used Python and Gmail API".
Obviously there is some precision loss in my writing because I didn't work on the project and because your description of "something about tax ID's" was ambiguous to begin with.
Could even add "saving 30 hours a week/day/whatever".
The first is like what you say - make sure you check the right boxes. OFten the first person who sees your resume is non-technical, so make it easy for them to progress you on to the next step.
The second purpose of the resume is far more important: get people interested in YOU.
Almost everyone has done interesting things, but many people are bad at communicating those things. Often people are bad at even identifying the interesting things!
For each skill/technology you want to highlight think of a situation where you solved a problem using that skill. You're aiming for a problem your interviewer will find interesting, and will want to ask you questions about. Very briefly highlight the problem and that you fixed it with SKILL, and you're done. The more specific you can be the more interesting you will appear.
Two or three of those, your employment/education history, and contact details, and you're done.
I think your resume does do this, but it should be both more prominent and more intentional.
If I was helping someone today and they showed me this resume, I'd recommend re-ordering the sections and putting a brief intro at the top serving the same purpose as a cover letter. I'd also make sure they create tailored versions for each job they apply for.
People will offer all sorts of wacky feedback about resumes when prompted, but the real issue is that recruiters just don't look at or care about resumes that much. For my last few jobs I just sent an unformatted text file as my resume, one that would make dist1ll's eyes bleed. The most recent recruiter was actually angry at me for how "unprofessional" he thought my resume was, but the decision was out of his hands.
You have to network your way into a job. Put out feelers to friends, family, friends' families, professors, professors' friends, etc. A referral will jet you past the recruiter's filters and get you a real shot at a job.
Not necessarily, but it does make it easier if you have that opportunity. Places like Tata are good for someone with no connections to get a footing.
Chances are good you're acquainted with 50+ people, and if each of them is acquainted with 20 unique people, that's 1000 people you can contact through a few weeks of hanging out and chatting
Professors often know relevant industry people in town, too
Worst case, you can hop on here or blind and ask for referrals. Some random dude cold-mailed me before and asked for a referral to my company. I chatted with him a little to make sure he wasn't completely insane, then passed his resume on to a relevant hiring manager. I forgot all about it until I noticed that a $3000 referral bonus showed up in my paycheck a few months later
I don't care for a fancy resume, but it should at least look like you spent more than 15 minutes on it, and with the reader in mind.
I’m sure thousands of competent frontendists exist but they’re drowned out by people from bootcamps who can’t even spell “bartender” properly (and I have a bartender who’s the best of the class in my team, so again, nothing is set in stone, but I was losing my time with front-endists).
She told me it was a top-of-the-line model with 64K of RAM. At some point, it had a malfunction and they had to replace one of its memory "boards," which were lattices with ferromagnetic cores suspended on filaments. She brought the defective board home for me to play with.
Although I went on to write software on punch cards, and built a PC in the 1980s, I think the moment that I held core memory in my hands was the closest I've really gotten to "the metal" in my life.
Why is that? You don't build your own computers anymore? Or write a small for fun application on ESP32 that you slap on a board made by yourself? That's the fun, to have a helicopter toy flying your own board + software.
But as a boy holding that memory board, I was looking at the cores that held individual bits of memory. Instead of connecting things with ribbon cables or whatever, I was looking at tiny wire that would transmit individual bits of information.
Completely different level of abstraction.
I wonder if Python and JavaScript will get you that far 50 years from now?
JavaScript is 26 years old, Python is 31. They both continue to grow in importance year-on-year, JavaScript because there is nothing on the horizon which will plausibly replace it, and Python because a large number of industries and programmers genuinely love it.
I think there's a nontrivial chance they'll both still be languages of primary importance in 50 years, but I'd bet my bottom dollar that they'll at least remain as relics yet needing support the way Fortran and COBOL exist today.
Open classes give me the security heebie jeebies.
irb(main):001:0> "foo".bar
(irb):1:in `<main>': undefined method `bar' for "foo":String (NoMethodError)
from /usr/local/lib/ruby/gems/3.1.0/gems/irb-1.4.1/exe/irb:11:in `<top (required)>'
from /usr/local/bin/irb:25:in `load'
from /usr/local/bin/irb:25:in `<main>'
irb(main):002:1* class String
irb(main):003:2* def bar
irb(main):004:2* "foobar!"
irb(main):005:1* end
irb(main):006:0> end
=> :bar
irb(main):007:0> "foo".bar
=> "foobar!"
irb(main):008:0>
On one hand, that's really neat. On the other hand, the ability to add or modify a method in a system class is not something that I'd want near production code. I'm sure that other orgs have sufficient checks and style guide to prevent something from creeping in... but that sort of flexibility in the language is something that I'd prefer to stay away from if I want to be able to reason about ruby code.See also Ruby Conf 2011 Keeping Ruby Reasonable by Joshua Ballanco https://youtu.be/vbX5BVCKiNs which gets into first class environments and closures.
I'd never used Python before but within a couple of hours I was writing code and in less than a week I'd engineered a pretty slick, very robust pipeline. I was quite honestly fairly astonished at how quickly I became productive in the language.
I could be wrong about this (my experience with Python started and stopped in that one week) but the impression I got was that Python is smaller, more constrained (i.e. fewer ways to do the same thing), and syntactically less complex.
I’d say also it was more at war with node until data science took off.
The Python/C API was easy to learn and use, Python's reference counts worked well for C-based objects, and it was easier to build non-trivial data structures than Perl or Tcl, which were its two main competitors at the time.
(Tcl extensions required manual garbage cleanup, I remember Perl's extension API as being rather complex, and I had to read the Advanced Perl manual to understand something as simple as having a list of dictionaries.)
Additionally, Python made significant inroads as a teaching/academic language and a scientific/math/ML language.
Way back in 2004, I had been using C/C++, Java and Perl and was ready for something new and useful. I'd heard about Ruby and Python at that point and tried both. Ruby felt too much like Perl for my tastes (no surprise, it's kind of like OO Perl) and while I didn't love the significant whitespace in Python, it just looked cleaner and simpler to me.
I have been using Python off and on ever since. I have worked with Ruby a bit as well. What's funny is that they are fairly similar and I've long argued that the two language communities would be better and stronger if they "joined forces".
But of course people have strong opinions about programming languages. Myself personally, I like Python a lot more than Ruby, but I've been using Go for a few years now and it's my current language of choice.
I didn't mean to imply that Ruby isn't or can't be a general purpose language.
Why that all happened, IDK.
I write that as someone with a soft spot for non-Rails Ruby (after much consideration and repeated encounters, I kinda hate Rails). But it's rarely the best choice, unfortunately.
Life changing tool. No other tool in my house comes close to what computers + python has done in my life.
I'd reckon the parent's suspicion about the scientific community is correct in that it was a large influence. When ML and deep learning blew up, the academic Python community was in a great position -- you had numpy and scipy early on (both optionally BLAS and LAPACK btw), then scikit-learn for ML, matplotlib for plotting results, open CV ports, etc. As for why Python was adopted so early by the scientific community, I'm not sure. Maybe because it was a scripting language that was also very friendly for hooking to C and Fortran?
So many people say it doesn't matter. Until it does.
Python works around it by having so many libraries built in C or C++.
Which works quite fine, until it doesn't.
By than the needed rewrite in some language that delivers decent performance and safety all over the place in one package will be very expensive.
I'm not saying that you should avoid Python (and its native code kludge) altogether but when using it just pray that you never reach that point mentioned above. It's a dead end and will likely require an almost full rewrite of a grown, business critical (and already heavily optimized) application.
Ruby to me feels like a very ugly version of Python. It's like Python and Perl had a baby, and I have very strong negative opinions of Perl's syntax. It baffles me how a language that people jokingly refer to as a "write-only" language ever got any sort of ground.
> JavaScript is 26 years old, Python is 31
I can't speak for Python, but Javascript has changed¹ massively in recent years, more so (I expect) than Fortran or COBOL every did in their active history. It could be argued that what we have now is a younger language with the same name.
> but I'd bet my bottom dollar that they'll at least remain as relics yet needing support
This I definitely agree with, though I suspect less so than Fortran/COBOL/similar. It is much cheaper to rebuild these days, and so many other things change around your projects², and there are more forces pushing for change such as a legion of external security concerns. That will add up to there being far fewer projects³ left to be maintained that haven't been redone in something new, because they fall into the comfy gap between the cushions of “it still works, don't touch it” and “it is far more hassle to replace than to live with as-is”.
----
[1] the core language is still the same, but there is so much wrapped around it from the last decade or so that I suspect someone who learned it fresh recently would struggle initially on EcmaScript 3 or before/equivalent.
[2] where a Fortan/COBOL project might live for all its decades on the same hardware using the same library versions.
[4] no absolutely fewer of course, but relative to the number of people capable of working on them – much of the price commanded by legacy COBOL work is due to very few having trained on the language in decades and many of those that did earlier being fully not-coming-back-for-any-price retired or no longer capable at all (infirm or entirely off this mortal coil), so those remaining in appropriate health and available are in demand despite a relatively small number of live projects.
https://www.nsc.liu.se/~boein/f77to90/f77to90.html
> There are now two forms of the source code. The old source code form, which is based on the punched card, and now called fixed form and the new free form.
> ...
> A completely new capability of Fortran 90 is recursion. Note that it requires that you assign a new property RESULT to the output variable in the function declaration. This output variable is required inside the function as the "old" function name in order to store the value of the function. At the actual call of the function, both externally and internally, you use the outer or "old" function name. The user can therefore ignore the output variable.
Does anyone have any good resource to learn modern JavaScript? Not any of the weekly js framework, but the updated language, capabilities and patterns.
The grammar can be a bit spotty in places - but it is open source and has gotten a lot better.
Yes, developers are using the new features. Most code I touched was regularly using up to 2003 features, with later stuff dependent on other factors (solid compiler support across different compilers being a big one). However, most Fortran programs are going to be fleshed out with components taken from the vast collections of well debugged and tested libraries available, many of which are still F77, and probably will stay that way. Fortran is more 'conservative' in the sense that there's not much compulsion to rewrite working code in the name of 'refactoring' or whatever. Adoption of new features is more 'I'm going to use a select set of things that will make my life appreciably easier' rather than 'everyone on board with all the latest shiny things'.
Perl! Oh, poor Perl.
Python 3, or its children, will be around a long time. As will some version of /bin/sh
I hope not!
That's one of the things I pray every day to go away. (Even I don't believe in any gods, and am a Linux-only user for the last 20 years).
The Unix shell language is one of the most horrific legacy technologies that are still around. I really wish it dies soon™ and gets replaced finally by something sane!
UIs changed in the past, and still change the whole time.
Why would shell be any different?
I'm not going to be making any bets - but the one project that has possibility is WASM. A mature, polyglot ecosystem on top of WASM runtimes with web-apis seem like it could displace JS in browser as #1.
And unlike other operating systems, the browser does not give you any kind of standard library of reasonably good components to build on. So the sheer size and volume of components and the ecosystem built up around npm well be an uphill battle for any WASM target language to compete with.
if we're talking on the level of 20,30,50 years, we may in fact be able to move away from a DOM-based web. and WASM is simply a binary spec, so it can adjut with whatever comes on the horizon. We've had similar sized giants rise and fall in that span.
This is not likely to change anytime soon (if ever), as nobody is working on this, and there is even quite strong opposition to get features in that are fundamentally needed to run anything else than the very few languages that already compile to WASM. ("Nobody" is interested in invalidating their investment in JS ;-)).
Also WASM is actually slow, or better said, "it does not deliver its full potential".
It will need advanced JIT compilers to keep up with the other two mayor VM langues. But in this regard WASM is behind around 20 years of constant development and improvement.
My strongest hopes in this regard are currently with Microsoft (even I don't trust this company at all!), who are indeed interested to run their CLR stuff in a WASM VM, and could probably deliver on the needed features. But then, when you would run a CLR-VM (or a JVM) on top of a WASM VM, you know, you're building just the next Matryoshka… There are no real benefits to that besides "look mom, it runs in the browser".
50 years doesn't sound like that long.
Hug your parents, spend time with your family. If you must code, do so on something you really feel strongly about from here on out.
AngularJS itself singularly powers surprisingly large number of Enterprise applications. So even assuming the unlikely scenario that those languages are dead, and the only useful work is from dinosaurian companies who was too slow to switch, the answer would still be yes. :)
And I think one person from the team went on to write/support/somehow be involved in Subversion SCM (which was heavily written in Python).
....so Python has been around, used in product, by large companies, for a long time. I don't see it going anywhere in the next 20 years.
Mercurial actually wasn't a bad choice at the beginning of the DVCS era on Windows as git didn't work well on that platform initially.
Just like that, PHP was gone.
If the entire ERP can be re-written that quickly, then if a better language comes along, it will displace the Node infra.
What didn't change? SQL.
I can envision a future in which databases are primarily used imperatively while still supporting SQL for those who want to use it.
The guy seems pretty hardcore from my perspective. University training for all those techs. Of course hardware back then cost a lot of money so you wanted people who knew what they were doing.
What did people do for interviews back then? Reverse-a-linked-list? That would have been a relatively recent publication in 1980. Kadane's algo didn't arrive until 1984 IIRC. Was K&R published yet?
CS trivia interviews were largely introduced by Google, with other companies cargo culting that into their interview practices.
Here's an article that digs into this specific history: https://www.hillelwayne.com/post/linked-lists/
If you have enough applicants, why not filter out so you have the best of them? (well, maybe not quite the best, there is some value in having someone less likely to get bored and move on PDQ).
In my opinion the best interview process involves simply looking at the work history and having a conversation about it. If it sounds pretty good, you go with your gut and hire. A bunch of different people paid this person a lot of money for 5, 10, 20 years and you really think there's a chance they were all fooled? The conversation and your gut figure that part out with a decent success rate.
Also, do they try to BS you when you ask them something they don't know...
The "traditional" coding interview is really only appropriate for a college student/new grad with no work history to lean on. Even then, there's probably a better way...
I think a far more likely explanation is that lots of interviewers are very bad at interviewing, and that interview anxiety, especially given the kind of shit that gets thrown at you in programming interviews, is a lot worse and more widespread than one usually supposes. Result: interviewers are convinced they're constantly catching "frauds" that they couldn't have caught otherwise, but they're frequently wrong about both those things—that the person was a "fraud"; that the interviewer couldn't have caught actual "frauds" with an ordinary interview.
I had two previous "tech" interviews prior to that. The first was for a Perl shop. All Perl-specific questions, and the interviewer even gave me a copy of the Camel Book to thumb through if necessary. The second was for an MS-based web shop. They sat me down at a computer and told me write a relatively simple C#-based CRUD app. I was allowed to Google whatever I needed. The Perl interview was fairly challenging (I knew parts of the language, but was not an expert), the C# one not so much, but I'm sure it weeded out a lot of applicants.
I've also had three other jobs where there was not a "tech" interview at all, mostly just chatting about projects and whatnot.
What I am not fine with is that you're judged entirely on that. My biggest complaint about this industry is not the CS trivia, it's that my entire job history is irrelevant. I have a decade in this industry and a staff title and I am still treated like a junior developer with no experience when I am interviewed. It's degrading and insulting. I can understand rigor in an interview at our average salary but the market is still firmly controlled by corporations despite what the media says about job prospects. Given that there are approximately 10-20 jobs per engineer in the industry right now, if we really cared, all we would have to do is just collectively say "no".
So basically my solution is to just ghost people when they ignore the subtle "maybe look at my GitHub that you asked for to establish basic competency?" and start asking for coding tests because I neither want to do the test nor come off as a twat, and this seems like the "least bad" option. The truth of the matter is I have the time and can do it, I just don't feel like doing it; nothing more.
And I also consider it as a bit of an indication whether I want to work for them in the first place. "Rules must be followed, at all times" with zero flexibility or common sense is not really something I deal well with.
My job interviews in the 80s and 90s (college summer jobs, or the one time a company tried to get me to leave college for a job) had no whiteboard-coding-style technical skills components, aside from demos of software I'd written and general discussions of implementation details.
One job I interviewed for was at Davinci Email. This was probably 1990-ish? They made a LAN email product that ran on top of Novell NetWare. There were a couple of hours of general interviews, including a lunch on-site. The last interview was with someone very technical, who had printed out a few pages of listings of the obfuscated C contest. He asked me to go through them and tell him what each program would output. I did not get the job.
> The last interview was with someone very technical, who had printed out a few pages of listings of the obfuscated C contest.
That's cold. The worst I've had was otherwise normal code with a few deliberate bugs introduced: "Tell me what's wrong with this code."
It's nice to know that stupid interview questions are not a modern innovation.
I had something similar happen in 92. The interview consisted of leaving me alone looking at one screen of Apple BASIC that came from their actual production code. The screen was nearly full of characters. I was supposed to tell them what that bit of code did.
I spent about 5 minutes looking at it, and though I think I could give the correct answer, I also realized I didn't want to work with this code base. I then thanked the interviewer and left.
The headhunter that sent me on this interview was quite irate that I had "embarrassed" them. C'est la vie.
The last time I was hired for a purely software-related position was 1993. They were looking for an IC (they didn't call it that, then) who would quickly transition to tech lead / system architect. The technical part of the interview involved role-playing myself presenting an initial proposal to a potential customer who had provided a brief written requirement. One of the interviewers role played the customer. IIRC the interview schedule was something like 30 mins to read the requirement and think, 15 mins to ask initial questions, an hour (perhaps longer?) to develop the proposal, an hour (?) to present it and face customer questions.
In essence I was being asked to spot ambiguities in the requirement and develop an initial estimate. I passed. I would have failed had I applied for the same job straight out of uni.
The "Health: Excellent" seems amusing in today's context too.
And don't get me started on spaceships/capsules - I don't have any particular fear of confined spaces but this was a little too much (too less?).
"For pilot and aircrew positions, height specifications vary by aircraft and most applicants can successfully pursue a career in aviation with the U.S. Air Force. Applicants who are significantly taller or shorter than average may require special screening to ensure they can safely perform operational duties. Applicants of all heights are encouraged to apply."
I found it extremely amusing that in reality there are height restrictions for astronauts, and there is no height minimum.
> Hypochrondroplasia is a genetic disorder characterized by small stature and disproportionately short arms, legs, hands, and feet (short-limbed dwarfism). Short stature often is not recognized until early to mid childhood or, in some cases, as late as adulthood.
That said, some other people pointed out he had a military/aeronautical background, so height and health might come into play for certain jobs. That makes sense to me. You probably can’t work in the cockpit of a plane if you’re 7 feet tall.
On the upside, it apparently became an upward mobility avenue for "low caste" folk who would otherwise not be considered for valuable positions.
I mean... yeah. Absolutely. That is a huge obvious upside, and as far as I can tell, there are no downsides to this at all.
Although I now realize this is a cultural difference issue, it caught me off guard at first.
Are those German resumes? Very odd. Can't be used for anything except discrimination.
(German resumes frequently do have familial status though, and of course always with the fucking photographs...)
And here's another example of specifically parent occupation:
https://qz.com/1055416/americans-would-be-shocked-by-common-...
Photo yes, Familienstand yes still today for conservative companies, parents occupations not since probably the 80s in most places that would consider foreigners at all.
(It is, as you say, all fairly obvious bullshit designed to make sure the right social class gets preferential treatment...)
Also if you have children you might be absent because they are sick and whatnot.
So yes probably discrimination.
> German employers simply don't know what to make of an Art History major who wants to take a temporary job in an accounting firm before going on to medical school.
I'm still laughing.
I guess actually nobody knows what to make of an Art History major in the first place. That's one of the typical things one would study if your only plan in live is to become "a wife" (OK, today maybe also "a husband"), or when you have absolutely no clue what you want to do and need additional time to orientate.
Also nobody would hire an Art History major to do an accounting job. Never ever!
That's just ridiculous. You need professional training in accounting if you like to do accounting.
And going to medical school after getting an Art History major? Alone the idea is even more ridiculous than the idea that you could do an accounting job with an Art History major… You need almost teen years to become a full medic. Also getting into some of these universities require that you stand in line for quite some time, and have absolute top grades form school. The people that consider going for Art History study aren't the ones that would have any realistic chance to ever attend (a German) medical university.
So alone that sentence above is actually a kind of joke. But that's not everything funny in there.
> They may neither know what the Ivy League is nor know which university is more prestigious than another.
> In Germany, where you went to school is largely irrelevant.
Jop. And that's a big advantage!
Maybe not out of the perspective of some Dartmouth scholars, but most people on this planet agree that the anglo-saxon system for higher education is just complete madness.
The whole Bologna Process BS (which is modeled by the anglo-saxon madness) significantly decreased the quality of German's higher education, and at the same time almost invalidated the achievement of possessing an university diploma. Now everybody can get some "Art History Bachelor" degree, or some crap like that…
I strongly hope that we'll stop that madness at some point before our education finally hits the lows of the anglo-saxon equivalent!
There was a time that a German "Dipl.-Ing." or "Dr." title had some meaning. What you get nowadays with most "master" students are people that would miserably fail at "Vordiplom"… Also, "everybody" and his dog has a "bachelor degree" which makes it actually useless (and made just "regular school" out of university).
Don't British and US universities significantly outperform German universities according to most rankings? I think there's just one Germany institution in the QS top 50 and it's... 50th.
Also, german higher education is meh at best. Even beyond rankings, german universities are usually well in the middle of pack at best, in almost every quantifiable metric. Though putting the blame on the anglos for that is... very typically german I guess.
I'm not putting blame on anybody. (I wouldn't be here, or wouldn't have even learned the language if I wouldn't enjoy being with the "anglo people" as such ;-)).
I've said that the standards were undoubtedly much higher before the "Bologna Process", which adapted the German system in most parts to the anglo-saxon model, for net negative gains, imho.
The US (although not the UK) college system values taking multiple paths early on, especially for MDs and JDs, so an Art History major isn't completely absurd. At the university I went to, pre-med was a list of classes, but you couldn't select it as a major. Most students would major in something related, like biology, to maximize the overlap in classes, but a Classics major (with a heavy focus on learning Greek and Latin to help with medical terms) was considered a rare but very viable option.
That said, I think the greatest strength of the German education system is its trade schools. The US trade school system is much more ad hoc. Most jobs/problems don't need the heavy theory of a graduate degree, and honestly I think both the US and Germany could use fewer PhDs and more people with practical skills.
Such attitudes all changed drastically just around that time, not in small part because the demand for EE and CS people started outstripping the supply.
2. As others point out, this gentleman was in aerospace and even though he wasn't a pilot, here's a fun fact for the morning ... I watched a documentary on the early years of fighter pilot selection and grooming. Russia apparently recognized and exploited the value of a short heart-brain distance in its pilots. If I recall correctly, pilots with shorter distances between heart and brain can pull higher G's (or maybe negative G's) before browning or blacking out in certain maneuvers. It makes sense when you think about it. So if you're an air force looking for every edge you can, you might select for this trait. Shorter men (specifically, shorter sitting height: reasonably correlated with heart-brain distance). Also some women, I would expect. Anyways, this is probably not why OP's dad shared his height, but sharing a possible TIL as it was for me... :-)
Nowadays cynicism has inverted those thoughts:
Religious -- hypocrites. Married -- soon will be divorced, may get pregnant. Parent -- how irresponsible for the environment.
Bangalore was where it was all happening then (as far as India was concerned). It was a heady place and time. As a rookie customer support engineer I also got to see Data General's computers at various customer installations, spooled tape, and drum hard-drives, etc. This was early 90s in India. India's IT Export industry was in its infancy.
Front-end ninja 2006-2010
Full-stack unicorn 2010-present
Follow me on twitter
Times have really changed I guess. Junior Developer 2020-2021
Senior Developer 2021-present
GitHub repos 387My stepfather Marty Einhorn was part of a developers' association in San Diego back in the '70s/'80s. I don't remember the name of it, but I used to go occasionally as a kid. I met Richard Siegel there several times -- seemed like a nice guy.
We were always behind the rest of the world in everything; to get new software or books and magazines we had to wait for someone to make a 10-12 hour trip to the nearest major city, which happened once every couple months, so we had to prepare wishlists in advance ^^
Those 80s computer mags were the best part of my childhood: Your Sinclair and specially ZZAP! because those were all I had access to when someone else was using the TV, or the computer, or just waiting for the electricity to come back on (something which that part of the world still struggles with)
I graduated to a Commodore 64 and fantasized about getting a Commodore Amiga, but by the time we could afford a new computer, the world had moved on, and I got my first "IBM PC" in 1993: a 286 with a 40 MB (megabyte) HD :)
My dad's friend, my uncle, was pretty much a genius who had taught himself electronics, repaired his own TVs etc and even built his own audio equipment and other simple devices for his friends. He tried to teach me programming in BASIC but none of it stuck with me (I try to make up for that by learning Z80 and 6502 coding these days)
The guy died relatively young, and his genius was never recognized outside our small town, but the children he influenced and instilled a love of technology in, always remember him and owe their skills to him.
The other thing that was interesting is that unlike the rest of our assignments which we could do in the lab, this one we had to send the code to a computer in a different city, which ran the job, and came back with results 4 hours later. You had only 4 runs to get your code to work.
The most interesting about part of this story is that the every next semester after me, the same IBM 360 assembly language class use an IBM 360 emulator that ran on IBM PCs (this is at time of real-mode 640K DOS). So if I had just waited a semester, I could have done my assignments using an emulator on the PC.
Who else can say they used a computer with two ROUND screens?
I am looking at https://www.panelook.com/VLT236-RDP-600-23-6inch-848x848-ROU... right now and thinking about making something cool (the resolution is crap, sadly)
Hmm, that takes me back, heheh. I remember using some spanking new equipment in the late 60’s with round screens. I was just 8 or 9 then so my recall is unsure but think it was Digital. I do recall learning how to read and enter memory locations with toggles so I could cheat at Lunar Lander.
And, BTW, it's not always that I meet a fellow Elder Thing. I am myself from 1968, so I didn't get near an interesting computer until much later.
[1] https://github.com/runvnc/dadsresume/issues/1#issuecomment-1...
What were the interviews like back then?
What's wrong with that? Each part of the phrase sounds like something an experienced developer should strive for, and is objectively testable (e.g. delivered projects in a work setting or not, well-written code or not, the software runs quickly or not, etc.).
Junior developers in particular may lack the track record part when starting out, so it's a good indicator that a person is applying for more senior positions.
You said it yourself: "Each part of the phrase sounds like something an experienced developer should strive for". Nobody will ever write the opposite. So it signals nothing.
If a candidate is totally junior and still writes that they are are a junior an "experienced software architect with a proven track record of delivering high quality and performant..." but fails to back it up, they end up being judged next to people who actually do have this experience.
In that case, it could be better to emphasize the "willing to learn quickly"/"excellent team member"/soft skills aspect to set expectations right, and/or develop better technical skills so a candidate can actually claim that. So, it's only really beneficial to write if you actually do have experience, and thus could be a worthwhile signal to include at least once in the resume to show you're at that level.
Back in OP's Dad's day actual humans who actually cared looked at every resume and more often than not treated the interviewee like a human. For us, we just get fed into a machine and if we make it out of it maybe a human will glance at it.
I try to find work through past coworkers and often by reaching out directly to the hiring manager if I think I could have skills that they are looking for. My friend of mine who took the standard volume approach got over a hundred rejections before receiving one offer, often with radio silence. The human approach is nice because it bypasses the filters, and you're far more likely to at least get responses along the way during the job search.
I guess its good I work on the back end, I can always blame poor user experience on the front end and "UX" people.
Can you stay healthy enough to die of old age in a regular home? “Put him in a home” sounds so ominous and forceful.
If anything I suspect dying at your home would be easier if you weren't very healthy.
My grandmother died a few years before that, after spending a year in a nursing home with a less severe illness. It just wasn't feasible to keep her at home: she couldn't really walk any more and half the family would have to pause their lives. I don't really know her opinion on that as we never really had that kind of heart-to-heart relationship, but I would certainly much rather be "put in a home" than be such a burden. My grandfather was very happy that his end was a swift one, so the family wouldn't have to put through a long drawn-out ordeal again.
But sure, some people avoid that through some combo of luck, genes, and clean living. Or just die before it becomes an issue, I guess.
> Or just die before it becomes an issue, I guess.
If I ever get to the point where I'm no longer living, but merely surviving the way my grandma is, I'd sign a DNR and make it my solution.
Well, joke’s on her, she’s still alive at 70 and I survived my first bout with cancer at 36 already so she was wrong on two counts. Still didn’t put any elderly family in any home though…
It was a bit of an unusual mainframe software spinoff company where I did my 1st year and later co-op work placements. My next co-op placement was more conventional embedded C.
Listing gender, height, health on the resume (!) Can’t imagine getting a resume with that info these days.
Listing corporate training under education. Again, wouldn’t expect to see that today. Not sure if that is because no one does employee training anymore, OR, if it’s just expected and understood that you’ll learn new stuff constantly as a programmer these days.
Funniest aspect is that a lot of employers expect applicants to handwrite their resumes and some actually goes as far as rejecting non-handwritten resumes.
Turns out she was the same age as me when her father died a similar death, and she wrote about similar feelings.
The Greatest Generation had both the worst and the best.
The absolute heyday of Convair! The B-58 Hustler would have been introduced around the same time your father worked there! One of my favorites!
I wonder how many return calls you'd get if you used that resume format today!!
I hope you (or whoever owns that repo/resume) gets the chance to talk to him about working there and what it was like to watch computers shrink in size while getting more powerful! Thanks for sharing!
1. As much proprietary stuff as we still have to deal with, we've really come a long way.
2. The approach that our parents took of working at one company for many years (or a whole career) (and retiring with a pension) really disappeared quickly.
The reality though is that nowadays if you want to reach a salary level where you can start thinking about some of such things you have to do quite a bit of job hopping.
It had topic meta-tags, and each topic had four levels: high, medium, low, skip. The level would control the placement and amount of detail given to each topic. Medium would default to "low" if there were no medium-level content/detail. Thus, I didn't have to always type 3 variations per section+topic. There were other switches I won't go into.
A found that highlighting applicable domain experience helped a lot: "billing", "budgeting", etc.
I still did some hand customization, but the script allowed me to send out roughly 1,000 resumes and/or CV's all over the nation without getting carpel tunnel. (I preferred to stay in CA, but the market was really dry at the time. Plus, location mattered less if it were only a contract.)
When feeling trapped, a programmer always "writes a script".
https://en.wikipedia.org/wiki/G.I._Bill#Racial_discriminatio...
As an aside: loved reading the resume.
Several years ago, long after he passed, I found the C book he used. "Hey, I know C!" I thought. It was a weird feeling to have independently ended up in the field he strived to be in.
Unfortunately, systems and procedures is no longer sexy and is mostly an after thought today. But back in the hey day of the 1960/70s that was where the money was.
Wow, I had a resume (with several years of experience) in 1980. Now I’m feeling really auld.
My mom has roots in the era of programming where the program was entered by wiring a plugboard...
I was born in 1981, learnt programming in college in 1999-2000. I learnt COBOL and FORTRAN too. To me, at this moment, all programming languages are almost the same. I am doing go now, will pick up rust by the end of this year.
We have to the solve the problems they keep changing.
COBOL, Fortran, Go, and Rust are all the same language… ;-)
Have you tried out OCaml, Scala, or Idris?
Or maybe something exotic like Mercury?
Standard practice back then. I learned about it in H.S. typing class in the late 80s
Edit: s/resume/letter/g
Pre-email that was pretty much how it went. There was no point in overcomplicating things. People had to type these cover letters and resumes up, over and over. Or they would pay for a service which used one of those “word processor” gizmos. Fortunately for me in ’80 I had a selectric-like printer and a CRT, the very next year I got an IBM PC and could ditch the mainframe. As a result became tres marketable and enjoyed substantial career enhancement.
previous discussion https://news.ycombinator.com/item?id=17787275
I really need to add this to my resume.
thanks for sharing!