Whatever the rules are, I am guessing they are relaxed around civil operations. Pararescuemen (USAF PJs) were deployed for search& rescue during hurricane relief operations.
As someone from a country that lost 20% of it's population to it, I'm going to go ahead and say that the last thing I ever want to see is another war that poses an existential threat to a superpower surrounded by two oceans.
Then the article is likely talking about anti-ship missiles (AShMs). Every "real" country can overwhelm a naval battle group of any other "real" country with guided missiles. A lot of these missiles can be fired from the shore.
AShMs defenses are very questionable when it comes to supersonic/hypersonic AShMs.
It holds and China only has 300 nukes, which isn't even close to the US and Russian numbers, which both have more experience handling them. Bait-y headline.
I once did the exercise of finding a list of US cities ranked by size. By the time I got down to number 300, it was some small, insignificant place that only had a population of about three thousand.
That 'military objectives only" thing was tried in WW2, but found wanting. In bombing against both Germany and Japan, it was found that destroying civilians' homes was far more effective.
Read up on Curtis Le May's methods in Germany, Japan, and then later in North Korea. He was a great proponent of fire-bombing large areas in the centre of cities.
You and I both know the goal of that was to get Hirohito to surrender and that Japan lost most of it strike capability. If strike capability is present, it's a priority.
They certainly build their own networking gear (1) and their own TPU silicon, as well as laying down their own cables and even transatlantic cables (2). Then there are the pixel phones and laptops etc.
I cant readily find a link, but their rack-mount servers are I believe "custom" designs just for them (presumably done in-house too), although from what I know they use off-the-shelf CPUs from Intel and AMD (there was an announcement very recently that they were using Epyc now for example) & GPUs etc.
It would not surprise me if only the x86 CPUs & GPUs were the only external things they use, and I bet they're looking at their own custom ARM chips for certain workloads (like they use their custom TPUs for certain workloads).
"It's the second time in a few months I'm being turned down with the pretext of a failed whiteboard interview. Things like improper syntax and not getting the damned recursive solution fast enough."
Is it a pretext, or did you actually fail the interview? I want to work for West-coast-pay company at some point, and it seems that the idea there is for me to spend 6 months learning stuff I will never use, so I can compete with the kids who spent 4 years learning mostly stuff they will never use.
That is, if I fail it, it's not because I am older, it's because I don't know stuff fresh grads know.
IT is full of grinding pretty meaningless stuff (especially at lower levels), as much as we romanticize it.
>That is, if I fail it, it's not because I am older, it's because I don't know stuff fresh grads know.
I believe this is exactly the point that the parent poster is making. You don't know the stuff fresh grads know because you're older (obviously this isn't an absolute, but likely). Therefor, structuring the interview around stuff that only fresh graduates are likely to be up-to-date with would be discriminating against older people.
If you fail, it is at least related to you being older, if the focus of the interview was designed around hiring fresh graduates.
College dropout here. Young people sometimes don't know this stuff either.
This is probably less ageist than it is education-ist, which is not too far away from classist.
Personally, I do think it's worth testing candidates on these pure CS skills, even though I myself didn't have them and had to study before I interviewed at Google. What I've found since then is:
1. Surprise, surprise, I actually have used quite a few of these concepts in my work. My experience may not be typical, but my role really does benefit from my having a better grounding in algorithms than I did before.
2. When communicating with other people at the company, it is very helpful to be able to presume a baseline understanding of algorithms, data structures, and big-O. A lot of code reviews and design discussions are easier and faster when you can just say "yeah, but that's O(n^2)" or "BFS would let you early out more frequently here".
As an interview technique, I also think there is some value in testing an arbitrary skill a candidate might not have, because it's a good gauge of hustle and discipline. Yeah, learning algorithms is a chore and a hassle. But... a lot of shit you have to do at work is a chore and a hassle.
If the interviewer can see that you're able to make yourself do that for the interview, it's a good sign you'll have the discipline to do some of the grunge work that is inescapable in the software field.
Of course some young people don't know the things either. If it is discriminatory against older people, that doesn't mean younger people get a free pass.
I agree with a lot of what you have said - but the issues at hand here (at least, my interpretation) is not absolute fundamentals which are obviously important.
The issue (again, my interpretation) is taking something that is taught in school, somewhat rarely applied in practice (or, is replaced by a tool/library/whatever in practice) and putting some sort of spin on it then expecting someone to be able to answer it. Or taking a problem which already has an industry-accepted solution and asking the candidate to remake the wheel in 30 minutes.
If your fresh out of school you're more likely to remember that one obscure class you took few months ago which covered some trick situation. Or you'll remember that class which taught you about that industry-accepted solution and the why behind it.
If you've been in the field for 15 years using some tool/library to solve the problem, you're less likely to remember that one obscure class you took 15 years ago which explained the origin. Or that class which covered the trick situations.
For what its worth, I don't think this is a widespread problem and very likely not deliberate when it does happen. But, I think it happens often enough that we should at least be talking about it.
> Yeah, learning algorithms is a chore and a hassle
> If the interviewer can see that you're able to make yourself do that for the interview, it's a good sign you'll have the discipline to do some of the grunge work...
This doesn't make any sense, unless very, very specific bounds are put on the interview questions beforehand...
Without that, what is a candidate to do? Memorize all known data structures and algorithms?
> Memorize all known data structures and algorithms?
No, but you should know the classics. That's kind of the "general contract" for how these big tech companies interview. Most also proactively tell candidates what material they should expect to be interviewed on, like:
A good interviewer is not aiming to ask gotcha questions where if you don't know that one specific weird algorithm for that one specific data structure, you're entirely hosed. That provides almost no useful signal to the interviewer.
But they will ask questions where some well known data structure is part of the solution and then provide guidance as needed based on what you seem to know.
It's more that this is stuff you haven't used in years (because people don't write heapshort algorithms for a living) but you have been practicing and learning a ton of others (adding value to your company) that simply get eclipsed behind damned pedantic interviews.
Let me put it this way. I use 4-6 prog languages at work. On a weekly basis. But you can say that I confused the syntax for the language I wrote in the interview and fail the interview on that basis and you would be legit from your PoV. Point is -in real world- I don't need and it offers no value to remember the exact syntax between Python, Ruby, Nodejs to do this or that. The thing is I can search the syntax and have it in a sec because I know the logic behind them all. And most of actually working people I know are very busy staying sharp in what they do rather than wasting time upskiling in WB sorting algos.
I get the point, but you could also argue that big companies want people who are strong on fundamentals and consider them something you shouldn't forget.
As in, the army won't hire a 40 year old for SOF if they can't run just as fast as the 18 year old can, even though they PREFER >30 candidates for, say Green Berets, but ANY candidate is useless if they can't meet basic fitness standards.
Same idea here, to some degree.
Can you write cleaner code and foresee problems as you get older. For sure.
Do a lot of older people get complacent, forget everything, or never knew anything? For sure, and I think they are testing for that.
Ageism is real and scary, but you also have to be proactive in defending yourself against it.
I have seen young devs try to devour an older dev, but they stay away when said older dev schools them.
> Therefor, structuring the interview around stuff that only fresh graduates are likely to be up-to-date with would be discriminating against older people.
It's only discrimination insofar as the skills being tested for are irrelevant to the job at hand. I've had jobs where algo skills were borderline irrelevant, and jobs where they were crucially important.
Also, even where it is discriminatory, it's not necessarily deliberately so. It can easily be just poor interviewing skills — an interview process designed by people who genuinely think these are skills that they need to test for, without understanding the problems that creates.
Well... yeah. If the skills are relevant to the job, this conversation wouldn't be happening. It's when the combination of the problem being both irrelevant to the job, and designed in a way to favor the fresh generalists out of school that we (potentially) see discrimination against age.
And deliberate or not, discrimination is discrimination. It might be more palatable if it isn't deliberate, but it doesn't change anything for the interviewee - and is still a problem that should probably be addressed.
Isn’t a better question, why are you interviewing for the same positions in your 40s that a fresh grad could do? I’m 45 and still mostly work at jobs where I’m officially a “senior software engineer”, occasional “team lead” or “architect”. But, I am not trying to compete with fresh grads.
In your 40s, you should have a trusted network of former managers, coworkers, and external recruiters that help you bypass a lot of the BS.
Do you generally look down on everyone who needs a job, or just the ones who need a job and are old?
I’m 45. I stayed at one company way too long until I was 35 and didn’t get aggressive about my career until 10 years ago.
If you can't find work as a senior, and your options are junior or not working, which would you choose?
In 2019, in many major cities in the US - including Atlanta where I live - an experienced developer looking for a job is such a rare breed that you have to fight off recruiters. In the last 10 years it’s never taken me more than a month to find a job at whatever level I was at at the time (I was an “expert beginner” in 2009). I’m not a special snowflake, I’m just a bog standard “Enterprise Developer”
Shame on those not as lucky, extroverted, or with the same opportunities as you, eh?
I graduated from a no name college in a small town in 1996. What “great opportunities”?
The last thing anyone has ever called me is “extroverted”, I did what I had to do because I didn’t want to be at the age I’m at now without having the optionality of changing jobs.
Ah, so anyone with a certain amount of experience applying for junior-like positions is just being dumb. I get it. You should let the OP know that they should be fighting off recruiters instead of applying for jobs you feel are too lowly for their experience.
Anyone applying for a junior position should expect to have skills matching or exceeding the other people applying for the same position. Saying candidates should get a free pass because of age sounds far more discriminatory than an even playing field.
If you've been in the industry for years, have a stalled career, and are looking down the ladder for a job is there a sinister bias against age, or are you just not qualified?
I didn’t say free pass. I didn’t say they shouldn’t have the skills needed to do the job. This is about CS trivia interviews, non-applicable to the job. In these cases, fresh graduates have an advantage.
I also never said that it is a "sinister bias". Are some of them not qualified? Obviously. But there are people who, believe it or not, are experienced and qualified but have other circumstances which force them to step down a rung on the corporate ladder.
As I have stated elsewhere, I don’t think this is a widespread problem. I certainly don’t think anyone should get a free pass.
From my other comment:
>The issue (again, my interpretation) is taking something that is taught in school, somewhat rarely applied in practice (or, is replaced by a tool/library/whatever in practice) and putting some sort of spin on it then expecting someone to be able to answer it. Or taking a problem which already has an industry-accepted solution and asking the candidate to remake the wheel in 30 minutes.
If your fresh out of school you're more likely to remember that one obscure class you took few months ago which covered some trick situation. Or you'll remember that class which taught you about that industry-accepted solution and the why behind it.
If you've been in the field for 15 years using some tool/library to solve the problem, you're less likely to remember that one obscure class you took 15 years ago which explained the origin. Or that class which covered the trick situations.
I didn’t say free pass. I didn’t say they shouldn’t have the skills needed to do the job. This is about CS trivia interviews, non-applicable to the job. In these cases, fresh graduates have an advantage.
And they are at a great disadvantage if they get a whiteboard architecture interview. If you want to apply for a job as a junior developer in an environment where they care about leetCode skills, you have to be willing to put in the effort. I am not willing to do so. Therefore I’ve optimized my skillset, my network and where I’ve chosen to live so I don’t have to.
I didn’t say free pass. I didn’t say they shouldn’t have the skills needed to do the job. This is about CS trivia interviews, non-applicable to the job. In these cases, fresh graduates have an advantage.
There are all loads of websites and books that can get you back up to speed with that if you need it.
I’m not saying it’s right or wrong. But the reality of the job market is that if you’re 40+ and not willing to spend months doing leetCode and don’t do what I’m suggesting, you are going to end up in a situation where you can’t find a job.
You haven't answered the OP's question. Just because such interviews are avoidable, at some expense that I'll get to later, is orthogonal to whether they perpetuate age discrimination.
Yes, everyone "should" have a trusted network like you say, but that only works if you're a bit flexible about what you work on or where. If you have more specific goals regarding projects, locations, markets, scale, or salary, you might find only two or three places hiring and they might all have blanket whiteboard-interview policies even for senior or specialized hires. That's how I found myself in front of a whiteboard at 52. It worked out for me, but what if it hadn't? I could have compromised on some of my goals and used my network to get a job elsewhere. I've been there and done that too, but I wouldn't have welcomed the compromise. I also no longer wish to participate in a system of side-door hires that perpetuates discrimination.
It's easy to say what others "should" do, but they're not you. They might have different values and priorities that leave them with less flexibility regarding whether to do such interviews.
You haven't answered the OP's question. Just because such interviews are avoidable, at some expense that I'll get to later, is orthogonal to whether they perpetuate age discrimination.
It’s not age discrimination. There is nothing stopping anyone at any age from studying “Cracking the Code”, going on the various leetCode sites and practicing.
If you have more specific goals regarding projects, locations, markets, scale, or salary, you might find only two or three places hiring and they might all have blanket whiteboard-interview policies even for senior or specialized hires.
In that case, you do what it takes. I said below that because of $bad_decisions, I found myself at 35 only qualified for mid level roles. 8 years later after following my own advice - job hopping, networking, Resume Driven Development, etc., I found myself reaching close to the maximum salary I could reasonable get as a developer/team lead/architect in my local market.
I don’t have to learn LeetCode to qualify for the next level, but I have spent the last two years immersing myself into all things AWS and cloud development/dev ops and project management so I could qualify to be an overpriced consultant.
If I wanted to move to the west coast and work for a FAANG, I would have spent the last year or two preparing for that instead.
I could have compromised on some of my goals and used my network to get a job elsewhere. I've been there and done that too, but I wouldn't have welcomed the compromise.
And the poster can make the decision. If he wants to play that game, he has to train for it. Don’t say you want to run a marathon and not be willing to put in the training and then complain about it.
I also no longer wish to participate in a system of side-door hires that perpetuates discrimination.
I’m a 45 year old Black guy from a small town in the south. Trust me,I’m not part of any “old boys club” by nature of any innate “privilege”.
It's easy to say what others "should" do, but they're not you. They might have different values and priorities that leave them with less flexibility regarding whether to do such interviews
If their priority is to work for companies that require hard whiteboard interviews so they can earn $300K+ instead of being a bog standard Yet another software as a service full stack CRUD senior engineer where they can earn $130K - $160K in many major US cities, don’t complain that they have to put in the work. I’ve had to put in the work to be qualified for the next level after my youngest graduates. I don’t want the travel requirements right now.
> don’t complain that they have to put in the work
This isn't about whether people are willing to do the work. It's about whether they have to do the same amount of work and whether their performance is measured the same way. If not, that's discrimination. People who want to run a marathon should have to do the work, but they shouldn't have to wear weights on their ankles while others don't.
As I said, it didn't stop me personally. But I know others who also did the work and got the short end of that effort/reward disparity. That doesn't mean they were wrong for trying. Your choices might be right for you or they might be mere "sour grapes" rationalization. I don't know and I don't care, but they can't and shouldn't be projected onto others. Discrimination is discrimination even when it doesn't affect you.
Say I wanted to be a modern web developer and that I spent 10 years maintaining an old ASP.Net WebForms app. Would it be “discrimination” if I had to spend a year learning the modern $cool_kids stack to be competitive with younger developers who may have learned everything in a boot camp?
Was it “discrimination” that I had to spend six months to be competitive in 2008 after being at the same company for a decade writing VB6 apps and writing programs in C++ with MFC/DCOM?
What about the six months in 1999 I spent playing around with C++/MFC because I spent the first three years of my career writing C and FORTRAN on DEC VAX and Stratus VOS mainframes?
If you want to stay an active software developer you have to always be learning to stay competitive.
No, those don't sound like discrimination. Discrimination would be if you spent that year learning the material then went into the interview and they gave you a problem that was utterly irrelevant but more familiar to those bootcamp kids. Or if they gave you a relevant problem and you solved it fine using an obvious-seeming algorithm you learned ten years ago, then got "corrected" because everyone uses a different algorithm nowadays. Maybe even an algorithm that's objectively worse for that particular case, but arguing the point would only cost you more points. Those are things I've seen happen.
As I suspect you know, discrimination rarely declares itself. It's usually subtle, sometimes even unconscious, but often it's still there. "I didn't care so I didn't try so I have no direct experience" is not a good argument for dismissing others' choices as inferior or their experiences as insignificant.
Discrimination would be if you spent that year learning the material then went into the interview and they gave you a problem that was utterly irrelevant but more familiar to those bootcamp kids.
The modern $cool_kids framework would be more familiar to those boot camp kids than it would have been to that hypothetical guy who spent years doing WebForms. Every time I’ve interviewed since 2009 I’ve had to prepare myself beforehand for the types of interviews required for the type of job I wanted. I’m sure half the developers on this board have been targeted by one of the Big tech companies. Everyone knows what to expect at the interviews. The recruiters basically tell you. If I wanted to do the stereotypical r/cscareerquestions “work for a Big N”, I know just how to prepare for it. I have no reason to believe that if I prepared that I wouldn’t be just as competitive. In fact, I would be just as insulted if they gave me a different easier process because of my age because they thought I couldn’t handle a whiteboard interview as I would be if they gave me a different process because of my color if I’m applying for the same job.
Maybe even an algorithm that's objectively worse for that particular case, but arguing the point would only cost you more points. Those are things I've seen happen.
This is life. To paraphrase Buffett, the interview process can stay irrational much longer than I can stay solvent. If you’re an older developer, you should have the wisdom to know which battles you should fight and when you should just play along to reach the ends you want.
As I suspect you know, discrimination rarely declares itself. It's usually subtle, sometimes even unconscious, but it's still there. When evaluating such claims, it's helpful to look at what actually happens to others instead of projecting our own personal experience onto them.
He never said that he studied hard and thought that he was well prepared for the type of interview that he knew they were going to give but hired someone that wasn’t as prepared. If he doesn’t have time to prepare for the interview because of family obligations, that’s no more “discrimination” than me not being able to accept consulting gigs right now because I don’t want to be on the road right now because of family obligations.
> the interview process can stay irrational much longer than I can stay solvent
You're still looking at this as a matter of how well you can play the game, not whether it's actually a fair game anyone should have to play. That still doesn't answer the OP's question, and I'm not interested in a strategy discussion right now. I've had plenty of those. If you can't bring yourself to think or talk about social problems as they might affect others, then we have no common ground or reason to engage with one another.
I’m not saying that it is discrimination. I’m saying that everyone has the same opportunity to ramp up to acquire the appropriate skills whether young or old. If I, who came from a no name school in the 90s, could theoretically qualify for the same job as someone who graduated from a top 10 school just by studying, how much more egalitarian can you get than that?
It isn’t any more discriminatory that a new college graduate has recently learned skills that an older developer will have to learn on his own than it is that I had to learn C# or Java on my own to be competitive since neither existed when I graduated from college and a new college grad could learn those languages in school.
We all signed up for field that requires constant learning and evolving with the landscape. I’ve been programming since 1986 in 65C02 assembly language in 6th grade. I’ve known exactly what I was signing up for the day I stepped foot on a college campus in 1992.
If someone has to put forth a little effort to qualify for a job that puts you well into the top decile of income - it’s not a bad tradeoff.
What gets me is the entitlement around OP's post. They're older so clearly they don't have time to brush up on DS and algos. That rubs me the wrong way, as some one who transisitioned in to CS from another field and worked on learning that stuff. Yeah the signal is mostly on how many hoops you'll jump through and base analytic ability, but everyone has to do it and expecting a free pass just because you're old pisses me off.
I think the previous generation is so used to the idea of "pay your dues and skip ahead" popularized by their parents that even the idea that a fresh grad might work harder and be a better fit destroys their whole world view.
I've known plenty of talented engineers of all ages; they all can crush a white board interview; just because OP doesn't want to doesn't imply discrimination (or at least unlawful discrimination).
The problem with the whiteboard trivia questions at hand is that they are trivia. They are deliberately obscure, or presented in a trick way. Brushing up on all the data structures and algorithms in the world and how those might be twisted into some 30-minute problem doesn't seem to be an effective use of time.
The fact that you somehow have an incredibly talented pool of friends that can crush any whiteboard interview thrown there way does not really represent most people - given by the fact that whiteboard CS trivia is a common topic, written about (negatively) by a number of talented professionals.
There's a selection bias there. Few people will write, and even fewer would read, a blog post about showing up and doing well on an interview (and most companies generally don't want you posting direct answers to the process). It is true that many positions are trying to find people with more ability than is required for the position, but are you arguing that the interview process should select most people?
Further more, there's a breakdown between pure trivia (problems that either just require knowing raw data or can't easily be solved from first principles) and "all white board problems". In my experience the people that take to the internet to complain weren't asked to verify a linked list isn't cyclical or write a topographic sort for a given graph; they were asked to traverse a binary tree or print Fizz Buzz.
>but are you arguing that the interview process should select most people?
Not by any means. Just that when possible, and to the extent possible, interviews should select using the least-bias methods available and to select the most applicable candidate for the position. Not the candidate that had the best recall memory of obscure problems after spending a few months studying from some "beat the whiteboard interview" website.
I have no problem with whiteboard problems in general. It's a very specific subset of whiteboard problems that are used as a be-all-end-all, and are solving problems which will never be encountered in the position. These are they type of questions all of my comments have been regarding - not the whiteboard questions that demonstrate knowledge that will be used within the course of the job, or obscure questions where you are graded on the how rather than if you memorized the correct answer.
Im going to be biased by my experience, but, I've only encountered one problem i'd consider explicitly trick trivia (and it wasn't on the white board, it was one of these "solve this problem on hacker rank to get an interview" type of deals so maybe I was being naive and you were supposed to look it up).
Overwhelmingly problems, especially outside of FANG or hedge fund types (which I'd argue can actually use algo exp) align much closer to Fizz Buzz in difficulty. What I have seen, is supposedly senior candidates completely fail at those problems and be pretty arrogant at the fact. If you can't write a for loop or traverse a tree and print the nodes, etc I don't really care how many years you've been employed you're not a good fit. I wish we didnt' have to ask senior people to white board fizz buzz, but if you don't have a network willing to stick a neck out it just has to be done.
This may be a metro thing; NYC is a different make up than SF. Here at the very least, I've far more entitled unqualified people with no qualifications other than they got their first job when all you need to know to be a programmer was html and failed upward on a mountain of bullshit ever sense than I have seen qualified people choke at the whiteboard.
"The Lockheed Martin F-22 Raptor is one of the world’s premier fighter jets, thanks to its unique combination of stealth, speed, agility, and situational awareness."
A huge understatement. It's the only true 5th gen that's tailored for performance, rather than cost savings (ala the F-35). The others are completely unproven (Chinese) or both unproven and in extremely limited quantities, while not providing true stealth (PAK FA, though if anything, the SU-35 family is the closer analogue).
I’m not a huge fan of obscene military spending, but the cancellation[0] of F-22 production must be one of the most boneheaded decisions I’ve seen in US military procurement. I must add the caveat that I have no security clearance so there may be other factors.
I always wondered why they couldn’t have just used the F-22 for both the air superiority role it was originally designed for and the multi-purpose role the F-35 was made for. The F-22 is more capable in every way, and more survivable with dual engines. They would have needed to figure out vertical take-off/landing version of the F-22 but I’m sure that was not impossible.
It may have looked more expensive on paper with ideal assumptions to produce lots of expensive F-22s instead of a few F-22’s and lots of cheaper JSFs. But in practice I bet the costs would have equalized, due to the increased volume of F-22s and the development of extensive institutional knowledge of that airframe - from manufacturing to maintenance to piloting/operating.
The F22 was designed in the 80s. It's old. It's fast, certainly the best in some aerodynamic ways, but nothing like the capability the JSF brings in computing technology.
In addition, the threats anticipated that led to its development never materialized.
>but nothing like the capability the JSF brings in computing technology.
What computing technology can't be put into the F-22? Iirc it has a much bigger radar housing, and EO DAS (fancy term for 360 IR / situational awareness) can be added to it.
To answer the parent term - the F-22 was used for air-to-ground in the middle east, so it can definitely fill that role. There was also an attack plane/bomber variant proposed.
JSF has sensors built into its skin. You don’t just retrofit sensors onto an LO platform.
Retrofitting new computing technology into an aircraft is a huge deal. Just getting a data link into it so it can talk to the rest of the DOD has taken over a decade and I’m not sure it’s even complete yet.
Yes, it’s old. That doesn’t mean it’s not useful, the F15 is far older and still in use and will be for decades, but it was more cost effective to put the money into the new platform instead.
I don't mean to get into the weeds here, but what part of EODAS can't be added by literally putting a thermal camera (from the F-35 program) in several places on the F-22 and running wiring to it?
I completely understand that it interfaces with the helmet. I also know that it took ages for the F-22 to get a simple FLIR built in, but if even a fraction of the F-35 resources were directed at the F-22, this would all be more than doable quickly.
As far as I am concerned, the selling pitch of the F-35 is the STOVL and EODAS. At that point the F-22 could be fitted for carrier operations, because no one uses VTOL (or plans to) on the F-35 anyway except for moving it around parking lots with no ordinance.
Again, this is ignoring all the political info.
Also, to get more specific, I don't know of any "sensors built into its skin" - EODAS is just a bunch of little pods with thermal cameras and fancy computing. Obviously don't tell me if it's something that's not public knowledge.
The main function of the JSF is situational awareness. The F22 doesn't even have a functional data link yet. JSF has all of it built in from the beginning. Everything you add to an airframe costs millions of dollars, and there's no point in doing it.
STOVL is an important part of the JSF program. The F22 isn't capable of doing STOVL or carrier operations, you don't refit a non-CVN capable aircraft for carrier operations.
F-22 has datalinks, including the one datalink that appears to be ultimately the only one really used - Link-16.
F-35's MADL wasn't added to F-22 because Air Force deemed it "not ready to use" and cited maturity problems with the whole stack.
A lot of JSF sensors are to patch over its horrible pilot situational awareness, mostly a legacy of the STOVL variant (which is responsible for most issues) and which exists only because USMC needs it to fight against Imperial Japanese Army in Guadalcanal. Few other purchases of F-35B happened because building a proper carrier would result in political shitstorm (Japan) or because F-35B being supposed to let build carrier more cheaply and when its issues became known it was too late to refit the carrier with catapult (UK).
As for refitting a non-carrier aircraft to be a carrier aircaft - F-18 is the best known case, and its competitor was navalized F-16. As far as I know, there was carrier variant of F-22 in the works as well.
The JSF was designed around sensor fusion to give the pilot situational awareness like no other aircraft.
Stovl has been used by the USMC in every conflict since they got the Harrier. They flew off of highways in OIF.
Japan hasn’t purchased the B model yet, they likely will. But the B model has doubled our carrier force by giving the ARG strike capability.
You do not “refit” a non naval aircraft for carrier duty. The f18 was designed as a carrier aircraft from the ground up, and there was never a carrier variant of an F22 except in some people’s fantasies.
The F-18 is navalized YF-17 (specifically, it's based on YF-17 model 267). It's competitor was literally F-16 "navalised" by team up of General Dynamics and Vought Aerospace, with resulting model being Vought Model 1600.
You don't usually already produced units to "navalize", but making a derivative is the norm, and was the case for both.
F-22N was proposed but never went far.
As for JSF sensor fusion - the helmet itself comes form pretty bad visibility from the cockpit. Incorporating modern passive sensors was an obvious choice, though.
(I'm still waiting on reports of "sensor fusion finally works", given our local idiots in charge decided to jump on the Lockheed Welfare project)
And outside of F-35, everything talks Link-16 with possible tunnelling/subnetting, and MADL was considered "too immature" to start fitting on F-22 despite Congress "ordering" it.
The F18 has some roots in the YF-17 program, but it is not a YF-17. It was a new development effort that used some of the tech developed from the YF-17 program. And even at that, the modern F18 is a totally new aircraft that vaguely resembles the previous models and retains the name for funding and programmatic purposes.
The JSF's sensor fusion is not a result of "bad visibility". It's how the aircraft was designed.
F22 also does not talk Link 16, for obvious reasons.
STOVL can certainly be retrofitted the same way lots of things are: as an external pod.
Guide the pilot into a suitable position above the landing area. (with visual indicators, much like those for a bombing run) Once the plane is in the right spot, a computer finishes the job with full automation. The aircraft is stalled. The pods fire rockets. The aircraft is guided down and brought to a stop.
This retrofit would be particularly sensible for the F-15, which normally carries conformal fuel tanks. That would be a fine place to install the retrofit.
It's been done: https://en.wikipedia.org/wiki/JATO
The primary requirement for a carrier jet is two engines, decent thrust, and enough body rigidity to take landings. The F-22 has all that. The MIG-29 had less, and had a carrier version. Same with the SU-27.
JATO is for takeoff, thrust in the aft direction is not the same as trying to rocket assist a landing. Completely different. It's also extremely hard on airframes.
The idea is not feasible.
Also your list of "carrier aircraft requirements" is incorrect, the JSF is a single engine aircraft, and landing gear is a major requirement of a carrier aircraft. The F22 is not a naval aircraft, was not designed to be, and never will be.
He is correct about carrier aircraft requirements. The navy was forced to accept the JSF.
As produced, the F-22 is obviously not a naval aircraft. The tail hook is single-use, the landing gear is not reinforced, and the more modern stuff for carrier approach is probably not installed. All of that would be easy to change, and in fact a carrier version was proposed.
The Navy spearheaded the JSF for both its CVN fleet and for the USMC. The JSF is not the first single engine Naval aircraft, and its engine is reliable enough that it's not an issue. People look at the tomcat and hornet and make up requirements that have never existed.
There is no such thing as "easy to change", you would have to redesign the aircraft from the ground up. You don't "navalize" an air force asset, you have the air force use Naval aircraft if you want dual use. The F22 is not and never will be a carrier aircraft.
Oh come on. You're just dismissing it, seemingly with the assumption that we'd have manned aircraft dropping into tight aircraft parking spaces with all the grace of the very first SpaceX landing attempt.
Obviously there is no reason to bother with vertical landings on a fully functional full-sized US aircraft carrier. This would be for other ships, clearings in jungles, and cleared-out parking lots.
You'd descend toward an area that has been cleared of debris and personal. It's not more absurd than flying toward a ship at 135 kts and expecting to grab a cable without crashing into things and people on deck. Compared to what we do on a CATOBAR ship, rocket-enabled descent is really tame and safe.
Vertical landing with the F-35 isn't exactly safe. This is the standard for comparison. Rockets can respond faster. This allows better stability and faster shut-down.
We have aircraft designed to do stovl and do it correctly.
Vertical landing with the F35 is exactly safe. It's the definition of safe, it's been done thousands of times with zero incidents. It was done hundreds of thousands of times in the Harrier before, and they applied the safety lessons learned from the Harrier to the JSF. How many rockets has spacex lost already?
I note that the F-22 was primarily produced in Georgia. That usually isn't a swing state and it doesn't have a lot of representatives in the US House of Representatives.
The F-35 is produced in nearly every state, certainly including all the swing states. This is terribly inefficient, but probably kept the F-35 from being cancelled.
Keep in mind the military has a history of claiming they stopped production and then producing them in secret or producing a slightly modified version as a way of making our enemies think we have fewer weapons than we actually have.
Stealth Blackhawks (pretty much confirmed by the Bin Laden raid) are definitely an example of the cancelled Comanche program tech going into black projects.
I assume they realized they don't need that many air superiority fighters and that they are costly to maintain. What would you even do with 750 planes that have very limited use in bombing Taliban fighters in caves?
It was supposed to be the next generation F-16. The lightweight single engine jack of all trades fighter that could be exported to other countries to help defray development costs.
There was even a notion that you could use the same plane across all branches of the military so the same supply chain could be used for all three and you could build them in higher quantities to spread the development costs over more aircraft. But then of course the aircraft got saddled with requirements from three different branches of the military at once which made it extremely difficult to design and build and thus very very expensive.
>But then of course the aircraft got saddled with requirements from three different branches of the military at once which made it extremely difficult to design and build and thus very very expensive.
Sounds rather like the Space Transportation System. During design, it went from a compact inexpensive passenger shuttle with modest payload capability, to a complete pig of a ship. And all because the Air Force contributed cash on the condition that it be capable of classified high-payload-pass missions to polar orbits.
It is nothing short of a tragedy that fully-reusable compact shuttles with flyback boosters (like the Rockwell P333) lost out to the disposable-booster design that was eventually built.
An extremely important part of project management is the ability to say "no", even if the customer is bringing extra money to the table. Extra requirements have a way of increasing costs in an exponential way and it's very easy to lose sight of your original goal.
Of course this is a problem when you have Congress breathing down your neck and looking for any excuse to cut your program. One big advantage of skunk works projects is that they keep you firewalled off from idea men.
Yup, that was the original goal of the F-35. The idea was that by sharing parts across multiple variants and across multiple militaries, the F-35 would be a cheaper fighter than the F-22 that could scale to a larger fleet.
It's not totally crazy on the face of it- The expensive but undefeated F-15 and the relatively cheaper F-16 successfully pulled it off in the 20th century.
It's a legitimate concern. I spent 4 months of evenings and weekends(could have been one or two to be honest) to prep for the Google Cloud Architect exam. I have used NONE of this knowledge (past what I already knew - load balancing and spinning up VMs/containers...I think I used Dataprep instead of a Excel once too for shits and giggles).
I am looking to spend another 4 months learning ML, which I likely won't apply in any way.
That's a year down the drain with ONE cloud provider and ONE way of doing ML. It's easy to completely waste your life like this WITHOUT getting better at your job.
Carry-over is far more limited than people make it out to be, unless you REALLY know a lot, but those people are rare.
Being 35 and having worked in IT for 15 years now and seeing the rapid acceleration into DevOps/Cloud/nix/Programming/Stacks I fear for my future. I want to learn a ton of stuff, but the vast amount of stuff needed to learn in order for me to move up in my salary bracket is stifling. AWS/Azure/+ the former I mentioned, then Python, YAML, Cloud networking. I'm good at some stuff, but the industry is just moving so ultra fast now it's hard to keep up.
I've been contemplating getting out of IT altogether because I'm not fully confident in career growth at this point unless I murder myself with study and ignore my family.
I've been a MS SysAdmin for 15 years, moving into nix devops (the new way of sysadminning) isn't easy.
"unless I murder myself with study and ignore my family"
I think this is completely true as well. To move past senior developer, you fall into one of these camps:
1. Very bright.
2. Spent a LOT of time studying or messing around with the right tech on your own.
3. Sell your soul, i.e. ignore (or not have) family/kids.
A lot of people from camp #1/2 don't understand that for most, #3 is the only option (in the short term). There is also the very real tradeoff of not going with #3 and risking declining job prospects/salary.
I think this is doubly painful for devs, because they are generally used to quick career progression / salary bumps, and then it stalls hard at senior dev.
Why do you need to progress past senior developer? Senior developer jobs provide interesting, fulfilling work, and excellent salaries (probably 90th percentile).
There is strong cultural pressure (at least in the US) to constantly progress in your career. This is measured primarily by title and compensation.
I've been a senior developer at the same company for 13 years. I feel that most of the time, I am progressing in my knowledge and experience, so, in my mind, I am making progress. It just doesn't seem that way on my Linked In profile.
What prevents title changes if only to please the LinkedIn profile? Junior - Senior is a change that occurs within the first 5-10 years. Isn't there a way to discuss with your manager for title changes just to show you haven't been doing the same thing?
Deputy Developer? Elder Developer? Doyen of Development? Development nestor of company X? Director of Engineering at Sub-sub-sub-sub-department that happens to be just your team? Level 20 Wizard? Does it even matter if it sounds good on LinkedIn?
I'm a little confused, because I wasn't aware that there was career progression beyond Senior Developer. I mean, you can go and lead a team or something if you want I guess (in fact, I'm doing that at the moment), but most older developers I know have been and done that, and settled back in highly-paid, highly-respected, and much easier individual contributor / architectural roles. Looks like a good life to me!
The best developer I've ever had the pleasure to work with was a 50-year old senior developer. He cut his teeth doing a lot of C/C++ stuff back in the day, but was also (pretty successfully) leading the company's adoption of Angular. If you have a sharp mind, and you don't get stuck in your ways, then people will be begging for you to be their 50-year old senior developer.
I know more than a few places that have Principal Developer positions. This is basically for senior devs who have tons of domain knowledge that companies don't want to lose.
Um, I know lots of 50 year-old (and older) senior developers.
I'm not ignoring the fact that ageism is a real thing (it most definitely is), and it is more difficult for many older programmers to "keep up", but that doesn't mean that no one is doing it.
Our engineering job ladder does not recognize any differences in core software engineering skills after Senior. It is entirely about social and organizational skills.
Running contentious meetings and herding directors are difficult skills to even begin to practice on your own time, but navigating family life is probably as close as you can get.
Maybe this is a good place to articulate what's been on my mind lately regarding growth. I don't think there's much local opportunity for developers beyond starting their own businesses past the senior level. Instead you have to be willing to move. Individual companies will not be able to challenge you beyond their business needs.
The other thing I wanted to talk about is how I solve technical problems. The first thing I do is get a representation of what the problem is in my mind enough to where I can see a clear path forward. This leans on my ability to take a 10,000 foot survey of a problem space. My current role deals with microservice architecture. Microservices is right in my wheelhouse due to my better-than-average sysadmin skills.
But I end up having to learn a lot within a short amount of time. So in order to cut down on what I call the "sheer mass of information needed for mastery" any time I look at a new tool or tech, I make a beeline for the "architecture" or "concepts" page. This is where I work out exactly which concepts and which level of the architecture I'm working at.
I then use the problem statement and vision above to hone in on a perfect implementation. Then I look at the actual state of the system and work to bring it more in line with the perfect one.
I recently was tasked with getting one of our guys unstuck. He was having a tricky issue with aquasec that he'd been beating his head against for a week. It took me five minutes to understand the problem, then I went to my desk and spent twenty on obtaining a reproduction. I didn't want to redo his work, so I then asked him what happened when he did X and Y. From his answers I had a clear path to being able to demonstrate that it was aquasec throwing a false positive on a npm library, and was already in talks with our devops team about next steps. It took 30 minutes for me to move his issue forward.
I feel like this manner of solving issues with techs that you don't necessarily have full understanding of could revolutionize the industry. But I can't really grasp how to teach it. It looks like magic to people when I show it to them, they think it relies on years and years of experience. I mean, it kind of does, but I was able to avoid ever getting fully stuck on problems even as a teenager.
But stretching out the problem space and treating each barrier in turn, diving in a little bit into complex techs along the way, I don't see a lot of coders doing that. Instead they just kind of muddle around with what they know, believing they need perfect understanding of a tech before being able to solve problems effectively with it seems to be the norm. And we have this tech landscape where years of experience in technologies becomes the primary determinant behind how most employers judge candidates.
I think the increasing march of devops and other techs that purport to unite the whole world into one walled, splendid garden will eventually bifurcate the tech world into supermen who know everything, and the underclass who can only work in one garden. If that's not how things already are?
Maybe a secondary school for advanced coding or bringing guilds back.
As an MCSE from the late 90s, I can tell you with oldfart-confidence that you can rely on Microsoft maintaining a landscape where you can be an MS-only sysadmin for decades to come. Sure, the salaries might not be stratospheric, but corporate AD & GPO work will be never-ending. There are lots of businesses running on Windows laptops and desktops and that ain't changing.
yeah, I would agree with this. You may not have the servers locally, but there is still a lot of admin stuff to do, and Azure doesn't configure itself.
'I've been contemplating getting out of IT altogether because I'm not fully confident in career growth at this point unless I murder myself with study and ignore my family."
That's a real problem. I had a few years when I worked on pretty cutting edge stuff so most of my learning was on the job and could be applied quickly. In my current job there is a lot of repetition and stagnation so you have to spend a lot of time outside the job learning stuff which you then never apply. This gets really old after a while.
You seem to need to study programming before being able to do real DevOps. nix is kinda advanced in this sense even if it is has a small language. In my experience, very few ops are able coders.
Interestingly, earlier in my career, most of the developers I worked with were also capable at system administration, and could easily fill that role if needed.
The sysadmins during that time were quite capable, but had no desire, or an admitted lack of ability for a development role.
Given their background I think they meant nix as Linux/Unix and not Nix the programming language/package manager.
Despite its clear fit with the current hotness of immutable systems and functional programming, I don't think I've seen anyone in for-profit industry on a Nix/NixOps stack.
I feel a similar way, and I'm a little bit older with a fairly strong desktop/web/mobile dev background. My focus was heavy on Microsoft technology before moving 50/50 to Linux.
I look at industry as a series of different waves happening where I just need to get on one so that I can find the next. A wave is going to cross the startup world before it moves into established business. If I time it right then I can hang in there for a while. It doesn't help with my anxiety, but I've done this before so I know I can do it again. I suspect I'd find the same pattern in a closer examination of your background.
There are very few people learning all of these technologies because time is required to learn the basics, as well as put it into practice within industry. That's deep learning. A lot of people are lucky to work in places that will put unproven technology into production. The number of places willing to take this risk is increasing because cool technology is a requirement for attracting top talent. If you are in a more risk-averse organization it may seem scary to move to a faster moving, less risk-averse one, but you might find they actually have more leeway for mistakes and learning.
I watch for particular patterns around how a technology is hyped and who is applying the technology. Thoughtworks publish their perspective (https://www.thoughtworks.com/radar) and I try to read this, plus other analyses to understand what direction things are moving in. You have to take a longitudinal view. It's not good enough to just compile your research and make a decision. You need to know how a technology has moved over time. Once you start doing this you start to develop some "spidey" senses when you see something at the top of HN - and you don't have a ramp-up cost each time you have to make a switch.
Other than that focus on a few fundamentals, including one programming language reasonably well. I'd strongly suggest learning Python and having an incremental two year development plan so you don't half-ass it. A lot of the Linux world is built on stable skills. Rather than focusing on AWS, or Azure networking learning networking and TCP/IP beyond a cursory level. There are a lot of folks building cloud infrastructure badly, slowly etc. because they don't understand these fundamentals. The references are old and boring like TCP/IP Illustrated Vol. 1.
I would suggest attempting to learn the general principles behind the one way to do ML/cloud/whatever you have studied. That type of breadth of knowledge is the useful one. It lets you gain further knowledge much more efficiently. As I mentioned above, to great extent breadth of knowledge is about learning how to be an efficient learner.
I would say the most important knowledge is the one that allows you to ask the questions of "why is it still not done?" or stating "well, they did it, but it won't work well in situation X" and then either finding the products that do exactly that, or knowing that in a few years there will be an industry providing exactly that kind of service.
Saying that you can't move between cloud providers because you need to learn something new probably implies you don't understand the fundamentals constraining the design of e.g. databases provided by cloud.
Don't know sctb, but I have had run-ins with dang on multiple occasions where he asked me to stop arguing when I felt I wasn't being hostile. Nonetheless, it's always in a very moderate tone of doing his job, rather than trying to express power, and I respect that. (Nor am I implying that I didn't take the arguments too far, in some cases I did)
The real proof that they do their job though is that I can still occasionally fine deep insights here that just aren't available in other places.
Same here. Dang has sent me such warnings before and it's always with such politeness that you end up feeling like an uneducated fool. HN has some of the best moderation that I have seen in a while. I have been a moderator for a large website in early 2000's and I can only admire them. This is no easy task.
I was also once called out by dang. He did it so respectingly and understandingly that it made a change for me. This was much better for my reflection about what was wrong about my behaviour than if I had been moderated more heavihandidly. I don't understand the amount of attention and patience that is necessary for it, but it makes a difference.
Some other questions, and a purely subjective ones at that:
1. Do you feel software or law is harder / more stressful?
2. Do you feel that devs or lawyers are "smarter" on average? Specifically at same pay scales - so partner vs architect / senior dev vs senior associate, etc.
3. Do you feel significant culture differences?
Any other notable positives and negatives that are significantly different between the two?
Compared to getting an engineering degree, law school was easy (time consuming but otherwise untaxing). The hardest part for some people was learning to think like a lawyer.
Also, some people seemed to have a lot of trouble analyzing fact patterns from different points of view. Where it may be easy for some to argue vigorously in support of an issue they agree with but difficult to form arguments for the other side.
Profs would listen to students argue from their preferred position (often the good guy position) and then ask them to argue why the other side is right. Some people just couldn't do it (future prosecutors?).
I found LS fascinating -- it was like learning a new kind of physics. One that described how society works rather the describing how nature works. And, like real physics, "legal physics" works whether you understand what is going on or not. E.g., previously I had a small business and entered into many contracts even though LS taught me that I had no idea how a contract really worked.
On the other hand, in my experience, the practice of law is much harder -- taking far more concentration and mental energy than SW development. Good lawyers are as nerdy and as smart good devs.
1. Law is far more stressful from a business standpoint. Because of the business pressures I'd only go back into practice as corporate counsel or now that I've learned about it, as a patent litigator, but I'm too late for that game maybe
2. No opinion
3. Yes but I don't know how to express them, they're so subjective. Lawyering is like boxing coupled with research and writing. Tech work is engineering. Interpersonal skills, stamina, a go for the jugular instinct are far more important to successful lawyering than to tech work after you've established yourself as a developer and become sought after. For lawyering, selling yourself, reading people, keeping a poker face, negotiations, all of these skills yes you still need these for the every endeavor's business side but they'll be tapped constantly both the biz aspect and the job throughout your legal career, and you have to be in top form. Also when you start out if you don't come from a name school your employment options are nearly as bad as if you had no graduate degree. You may not have much choice in what kind of work you do if you generalize: Whatever walks in the door is your next task.
Law positives: I did mostly consumer collections defense and I loved it. The people I helped really needed help. It wasn't financially rewarding but it was immensely satisfying to help people out of situations usually not totally of their own making. The matters almost always have a definite ending point so there's not much worrying after its done and the relevant time periods run. I had no problems going to sleep every night. I kept 9-5 hours and had Federal holidays (unpaid though). The ageism in software is inverted in law.
Software positives: The money. Geographical flexibility if you don't need to be in SV. Being in demand all the time. Performing at the top of your field without having to schmooze with scumbags you'd avoid if you could (on the net excepted). Taking a concept from idea to market, and being recognized for it. Ageism. Working for The Man if you're not into roll of the dice contracting. Did I mention the money?
1. Keep their skills up. 2. Avoid waste of available resources.