Programmer's Resignation from 1985
pastes.glitchwrks.com
pastes.glitchwrks.com
WOW that's just like 2021! Well the tech changed, but human behaviour stayed the same.
(As far as I've been able to tell, only three real problems have been solved since 1968: we have faster computers, higher level languages, and version control.
All the other software engineering problems are just as hard now as they were then: We're still struggling with skill drain to management, thinking knowledge workers are fungible, team organisation, verifying features with users before building them, choosing proper abstractions, testing for reliability and understanding, resource management, documentation, modeling the domain clearly, prototyping the right way, and so on.
I largely agree that we are still solving many of the old problems but by enumerating only three things that have improved you do us a bit of a disservice.
Another reason is that the early software engineering papers and articles I've read haven't brought up hardware acquisition as a problem. Maybe they just didn't know it was a problem, or software is flexible enough to make it okay with slower hardware cycles?
There was already LISP, COBOL and (a few years later) Algol 68, so maybe the only real improvement is the faster computers, making the high-level languages more widely applicable?
Variable names that aren't two digits probably gets a shout.
Favourite example (Thucydides, could be wrong) - "An old man complained to a crowd that the teenagers were spending too much time lazing around talking to the opposite sex than training to fight" (or something to that effect), ever heard that one before?
“[Young people] think they know everything, and are always quite sure about it.”
I found some great forum posts from 2003 which really seemed to capture and articulate my views.
Check the posters name and it was.... 2003 me! Exactly the same issues about not getting anything done and architecture astronauts 18 years later!
Big company IT. The more it changes the more it stays the same.
You might be the exception, but - again as an user - I find the same inconsistencies or bugs or more generally "queer" behaviour in programs that I found 10 years ago, so something (not necessarily the pure programming part) must be "wrong" in the way they (the programs/apps) are conceived, released or tested (or non-tested).
And then go on to not raise the experiences engineers salaries so that the new guy has the highest salary.
And then they're surprised when the veterans just leave the company.
Also keep in mind, pay is often a function of having management potential. If you're getting more for similar work it could be because they see you as having greater long term potential, or have other things to contribute sooner.
There's more to advancing in tech than tech-centric skills.
There can be a halo effect - the better your current jobs, to some degree the better offers you get - but I still think that on net, you should be more reluctant to leave a decent situation. If your current job is in the top 10% of jobs, then the odds are 9 to 1 that switching will get you something worse.
This is a wise insight. It therefore would be good if developers had created a Glassdoor-like site where people can enter technical details about their jobs (languages used, appreciation of refactoring, software tools, pair programming, technical documentation, use of version control, A/B testing, unit tests, UML, ...) in order to permit people to get a sense of what they're getting into. Asking about this at interviews is not productive, as hiring managers may bend the truth a bit to get talent on board.
It seems low, but with the inefficiency caused by turnover I guess 70% is where they settled.
I loved my first job. Every thing about it. But looking back in hindsight, it was a vanity project of the ceo, and was never going to recoup the manpower investment. Requirements and goal posts were ever-shifting. I was too naive to even perceive role status and did little or nothing concrete to forward my career except turn out (quality) code.
I loved it.
I would be frustrated to distraction if I were in that position now.
For some odd reason, it always seems like getting that inertia is easier at the next job than the current one.
The one consistent thing in my career is I don't tolerate jobs that have too little work to do. I've had 2 jobs at various points in my career where was I told to just hang out for extended periods of time, and in neither case did I make it a year working there.
(By your own judgment.)
I have incredible frustrations at my current job but the 2x increment I got compared to my amazingly fun job I had in a small company before makes me brush them off much more easily :D
Unfortunately the types who move from one corporate behemoth to another rarely see the light and continue indulging in the fantasy that one day they'll find a large old company run by non-technical leadership with respect for engineering, other good developers to collaborate with who haven't left, and processes focused on progress.
The rest of us learned the lesson and stopped working as engineers for such companies.
I feel my bullshit-job detector when interviewing at potential workplaces isn't as good as it could be...
In general, pretty much any company that isn't a technology company will fail this test. Working for companies which are young and specifically software companies is your best bet.
My company's leadership is _entirely_ technical. In fact, engineering leads the whole organization, pretty much. We're still a feature factory.
Working for technical people is not a panacea to bad leadership. It just means they're better at bullshitting engineers to their face.
Why did you call me out?
They're also better at detecting bullshitting from engineers.
I have not been able to confirm if it's true or not.
But it sounds as a healthy regulation to have in place for a technical company, since gravity seems to work in the opposite direction. Non-technical leaders will, in my experience, have a tendency towards hiring other non-technical leaders, and towards trying to mould the company operations into something which can be run without the need for technical knowledge.
I think that sort of idea makes a lot of sense to avoid losing touch.
Just the rest of stuff is so bad, i mean for a car worth 25-30k i expect a touchscreen that is not absolute lemon from the start. Or just give me an api over network/bus that someone can create an app for it and i can just run a tablet which would be a total of say (300 bucks for a decent tablet, 100 bucks for the app ).
Not a fan of teslas at all, but i hope they put the direction of industry to have a decent infotainment as default. Korean/German cars seem to have a bit better infotainment.
Be careful what you ask for…
I got a _very_ stern talking to by legal a long time back (~2013), when I demonstrated to my boss that using the Toyota telematics and some knowledge of specific vehicles, I could locate 2 of the fleet Prius we used. I’m reasonably sure I could have popped the door locks on them too with a little more work.
I was just “playing” with some api docs I found in the company wiki.
Legal and the CTO made it very clear to me that I’d never found those docs, I’d never written any code to use those APIs, I’d never connected to any Toyota never mind one I didn’t own personally, I’d certainly never tried exploiting those APIs, and I knew _nothing_.
I hope (perhaps in vain) that things are better than they were 7-8 years ago (and that 7-8 years and the company who’s NDA I was covered by company going into receivership is long enough to tell some of the story…)
I just wish if some company create an android/ios app, it would be definitely easier to create than working on some random hardware found in car infotainment for which its hard to find developers.
Now any tablet can be my infotainment. I only need navigation and music to be integrated in app. No other features what so ever.
Basically what volkswagen e-up / skoda e-citigo has done.
Unfortunately, it seems this machine had a fault in its floppy drive controller some time in late 1985 or early 1986 (files stopped being updated). The fault caused any writes at all to disk to clobber whatever was under the write heads. So, this is about the end of the information I've got w.r.t. personal correspondence, etc.
[0] https://scarybeastsecurity.blogspot.com/2021/05/recovering-l...
https://www.goodreads.com/book/show/432288.The_Grass_Is_Alwa...
I have the unpleasant task of informing you that I will be leaving __*this_crummy*__ employment as of __*shortly*__.
As you know I have not been very happy with __*the_same_old_shit*__. I have not __*seen_anything_worthwhile?*__ in a little over 3 months. I have not learned anything new in the __*professional*__ field in the past year. I have been putting out the same old fires that were here __*a_sad_number_of*__ years ago.
I will be working as a __*much_better_position*__ for __*a_truly_respected_employer*__.
I would like to take this opportunity to thank everyone who I have worked with for the past two years. I know that I will miss you all.Early in my career, I followed some coworkers to a new company. I was a couple months behind the others. The perception at the old company was that everyone was poached by one of these coworkers. They got a cease and desist letter from the old company lawyers. I told people then but wished I hadn't. Everything turned out fine for me in the end though.
The next job change I had, I didn't tell anyone where I was going. I was a little scared from the last experience. Many people asked, and I politely told them I would share after I'm settled in. It was a cross country move and I didn't feel that there was any benefit to sharing where I was going ahead of time. The work environment I left was a little dysfunctional at times, and I didn't want to take any chances of someone sabotaging me or creating extra noise or rumors.
Then in my last job change, I had built good working relationships and felt comfortable sharing, so I shared freely.
and say what?
"hey yeah that guy who worked for us until leaving of his own accord is total garbage, you don't want to hire him"?
they'd sound like an idiot doing that.
I have seen this happen to a colleague who tried to leave for a competitor. His manager at his current job found out, contacted their counterpart at the competitor and got the job offer rescinded. Needless to say, my colleague was extremely pissed off and ended up exiting to a non-competitor as soon as possible.
Also I used to work at a consultancy. The unwritten rule was that clients would not try to hire any of the consultants directly, especially if they had been seconded in to the client for an extended period. If a consultant applied for an advertised position, it wouldn't be blocked but would be frowned on and cause tension for the client with the consultancy (usually an increase in rates).
But that didn't stop it from happening in some of the largest companies in Silicon Valley:
https://en.wikipedia.org/wiki/High-Tech_Employee_Antitrust_L...
Also I used to work at a consultancy. The
unwritten rule was that clients would not
try to hire any of the consultants directly
Here (East Coast, US) this is almost always a written rule in the consultancy contract, because otherwise it is a very common case.Usually I think it's like, "if you hire one of our consultants you owe us $xx,xxx" or something.
While I am just about always pro-worker, I accept this as a necessity.
Otherwise consultants get "poached" non-stop, because they've basically already "auditioned" for the client and the client gets an extended amount of time to figure out which ones would be great to poach. Makes it just about impossible to run a consultancy otherwise.
Also, I've heard similar stories from people trying to move within the company to new department. Your old manager might be higher in the hierarchy and just might be an asshole.
"Hey Mike, I understand you are hiring Joe, though because of our good relationship, I'd like to tell you why exactly is Joe leaving. Well, we didn't want to cause an uproar in the company, but Joe caused this one issue that cost us $100M and his behavior was exceedingly erratic." Now mix in some typical subconscious behavior of Joe that anyone could notice in 10 minutes and build some story on top of it so that the new manager has it always in front of his eyes. That's how intelligent character assassination works these days. Many managers got to the position of power by using these "dark techniques" so they know how to do it properly without raising a suspicion.
Don't tell anyone where are you going. Don't put it on your LinkedIn until you are established there.
If somebody’s made up their mind to leave, the best you can do is ensure it’s as amicable as possible, then a thorough exit interview to understand where you went wrong and try to fix those issues to course correct & retain others.
Spiteful incompetents, on the other hand, don't think that there are issues they should fix (the employee isn't a good fit); are afraid of exit interviews; and can be unprofessional enough to burn bridges and damage the company in order to damage the quitting employee.
I actually got hung up on the typo more than naming the new company.
I do think this letter had an unusual and somewhat refreshing honesty.
No blame or shame in there, just an expression of desire to do software. Fair enough.
When I left my previous employer, I told them exactly where I was going. The mentality at the previous employer had been changing (post-takeover), and the new company was founded by, and mostly consisted of people who came from the old employer and disliked the new direction. Everybody at the new employer knew what the old employer was like. If the old boss would have made such a call as you describe, the new boss would have seen right through that.
In the case of the resignation in the link, I suspect the programmer left on amicable terms, which is also a situation where you could tell the old employer where you're going.
As a rule, you never say "never ever" :-)
It was frustrating. I often wanted to say good things. After leaving that company, one of the first things I did, was give a bunch of good LinkedIn testimonials.
I generally avoided badmouthing people. For one thing, there were only a couple of folks that left my team under actual unpleasant circumstances, and I feel that everyone deserves a second chance. Often, the most valuable employee, is one that has learned hard lessons.
I have also found, personally, that seeing the worst of my fellow [wo]man puts me into a rather miserable personal space, so I try to avoid that.
Also, when contacted, it was usually long after I had last dealt with them, so I felt that what I had to say would be well out of date. If I didn’t have anything good to say, I’d be very vague. That could speak for itself, but that’s the worst I would do.
This is very common. Many companies will also add if eligible for rehire. The last one is a safe way to convey if the employee was fired for something illegal.
We usually have 1-3 months resignation period, so there is no resignation letter. The closest we have is a goodbye letter that goes out to all your co-workers. And this letter reminds me most of those.
The actual resignation is done in person with your manager. Of course you could do it over e-mail but I'd be willing to bet 99.99 out of 100 times your manager would schedule a 1-on-1 meeting with you if they received such a resignation.
if the new manager believes him you can be let go in your probation period, and end up with no job.
I heard of this done once or twice through friends.
I'd still be on my toes with the new hire just to be sure, but I wouldn't fire them.
Everyone has a story. And the people seeking revenge aren't necessarily in the right.
In Britain, I'd print out and sign something like this:
Dear [Manager]
I wish to offer my resignation with effect from 14 June 2021.
I am obliged to give 3 months notice. Therefore, my last day of service will be 14 September 2021.
Yours sincerely
Anything else is optional, and can be discussed with the manager if you want to, or not.Did you get an ADM-3A?
https://en.wikipedia.org/wiki/ADM-3A
>The initials "ADM" were referred to as meaning "American Dream Machine" in some advertising.
And now we know!
I bet they all got thrown away :(
Yes, difficult conversations. I understand things can and do change. But assuming I'm onboard with whatever (without even asking me) was for me an invitation to look elsewhere.
It's as if they didn't understand the market favors the engineers. And that with rare exception there's more sea for well-qualified fish.
It's not uncommon at all to interview people who have 10+ years experience at <Big Co> who can't even answer basic questions about industry-wide technology you're using, because they didn't bother to stay in touch...they didn't need if for their last role and thought that that would last forever.
On the flip side, I see people get excited about <internal NIH syndrome technology> and learn all the ins and outs, and don't bother to research and find out that other companies or FOSS has been doing the same thing but better for a decade. And then, when they leave the company, that internal tech becomes inaccessible and the knowledge somewhat useless.
Maybe not officially, quote possibly as an ad hoc manager due to deficiencies in the offical management.
I've been in that position before. If you have a good relationship with your coworkers, it's more efficient to diagnose problems yourself and then ask your coworkers to fix them (i.e. play the PM role). I don't enjoy being a manager, I'd rather write code. However, I'd rather put fires out quickly by working as a team instead of playing the martyr and trying to do it all myself, or singing the "it's not my job, I'm not a PM" song while the ship is sinking.