2,012 karma · joined February 24, 2011
Maybe you are here to make a professional connection. If so, that's excellent. You may reach me personally at:
vb.temp@gmail.com
C, Rust, aerospace, embedded systems, distributed systems. You hopefully get the shtick.In many of these cases, the team I joined had a code base in place that "kind of" did the solution, but was not grounded in any conceptual model - despite phenomenal code quality, peer reviews, etc. Recasting it as an implementation of a well-studied formal model generally yielded a codebase that was one-tenth the size of the original, and with far fewer defects. As I said in the parent comment, if you aren't familiar with this kind of stuff, you don't know about it, so you don't use it, so you find other (suboptimal) ways to do it.
Many of the people who say this kind of stuff never really mastered the theory, and because they never mastered it they can't really use it, and because they can't really use it they find work that doesn't strictly require it, and then conclude it's useless... It's like when otherwise successful people tell you all that calculus they learned in high school is useless, it's not useless, they just found success in a career that didn't need it.
I resort to my textbooks and academic nonsense all the time. There are often two ways to solve a problem, the first is just code-until-it-works, the second often involves modeling it in some kind of formal structure, and defining the operations over that structure and their properties. Usually, in doing this, the resulting implementation is far less code and far more resilient. But those who are not comfortable with the foundational theory stuff just don't see it and don't even think to approach the problem in that way.
Functional teams and companies will make good products and set up their staff for success, with or without agile.
Dysfunctional teams will have all sorts of perverse incentives and set each other up for failure, with or without agile.
I've never seen a project use "Waterfall". It's just not a thing. People use it as a hypothetical boogeyman to "Agile".
As with everything "Agile", all words lose meaning.
Edit: There DOES exist the CMMI Systems Engineering processes, that generally involve various design reviews (PDR, CDR), IOCs, FOCs. These are essential for large-scale procurement that perform mission-critical functions. Superficially similar to "Waterfall", it still isn't. For example, you don't want to be on an aircraft or spacecraft that was "Agile"-ed to completion.
In my career I've seen "Agile" throw a wrench in the works for so many projects. Embedded systems; data center distributed systems that are air-gapped; aerospace safety systems; R&D work. Agile in these cases just isn't the thing to do, but unfortunately the culture these days is that everyone MUST be Agile, and so it creates another bureaucratic nightmare of dysfunction.
The funny thing is, people will always go to bat for Agile (MUCH more so on Reddit than HN).. and I don't understand why. I think furthermore the discourse around this has become so weird. For example, I asked someone kindly what is "Not-Agile"? There's no answer, other than "bad ways of making software". The discourse has become caveman-like "Agile good. Not-Agile bad."
At the end of the day, Agile is probably great if you're making a mobile app or a web app with a small team for a client with a small-to-medium budget, which accounts for most work software developers do, which is why its so popular. But is inherently too short-sighted and unable to address technical challenges that go more than superficially deep.
Try it. Maybe they'll stick around. Maybe they'll stick around and be disgruntled. Maybe they'll leave and find another job that isn't trying to cut their pay
Just let it happen and see what the attractor becomes for this large, dynamical system.
Flying late at night over the SCS, and then peering out the window from 40k ft, you see endless lights - thousands and thousands of them. At first I thought I was over land, but then checked the map. The next trip I noticed the same thing, and then the same. It was literally tens of thousands of these fishing trawlers, stretching as far as the eye can see. Presumably all Chinese, and also presumably present not just to trawl for seafood, but to establish facts on the sea. It was truly frightening and shocking.
If you are comfortable with the material, you see applications for it all over the place, and use it all the time. Sure, you don't have to ground your system in some kind of formal model (you can just code-til-it-works), but when you do I've found it always ends up as a far simpler and more resilient product.
It's kind of like people who complain that math is useless in school and you'll never need it. Sure, if you never really master it, you'll never be able to use it, so you'll make things kinda work in ways that don't strictly require it, and then conclude it's useless. Meanwhile, if you are familiar with it, your prospects are broader, you may have to use it, and you'll see how it was absolutely relevant and important to know...
Let's just have a thought experiment (maybe we'll see what happens if the ban continues) - what will Big Tech do if H1B is not a thing anymore?
Second thought experiment - who benefits most from H1B? First of all, the H1B holders themselves. Second, the tech industry itself. Further out from that benefits are less clear and more mixed. We are a nation of immigrants seeking opportunity, immigration is important to this country. Immigrants brings a lot of economic and cultural benefits, and we must always fight bigotry and discrimination towards our immigrants. But there is also much more complexity surrounding immigration policies, and they have their cost, too.
Then I got my cholesterol checked during a routine blood work and it was through the roof. WTF? Anyone know better than me about this?
1. SV/FAANGs, like elite colleges, only hire some very small percentage of people who apply. Many people who are perfectly well qualified and have successful careers otherwise get denied employment.
2. The market cap of these FAANGs is in the trillions. Between talent and capital, there's literally no problem they can't solve (they can solve problems about cyber bullying, trolling, etc but their business relies on it.. so it's not really a "problem" per se).
3. There are SO MANY underprivileged and/or poor kids in SV, LA, Pittsburgh, all the places where tech companies reside. Saying there aren't enough skilled workers in the US is kind of dishonestly true, as they have tons of applications from many qualified people.. many of whom with some training and support may very well become highly qualified....
4. ...They could literally invest some of those trillions to build a pipeline from these areas, develop talent locally - or at least domestically.
So much of tech is about solving problems with the resources you have. Opening up broadly to a global labor supply removes the constraint on that resource, and therefore don't need to innovate or find clever ways to make it work. Now, they are companies that have only one duty - deliver profit to shareholders - and that's fine and how companies should be run. But public policy needs to exist to serve the interest of the people, and for the most part - not entirely - H1B has been to serve the interest of executives in Big Tech.
Also, finally, Trump is absolutely awful, horrid, all that. A broken clock is right twice a day though, and this is one of the few possibly accidental things he's done that isn't a complete self-shot to the head.
At two recent jobs where each time i got approx 40% raise, I was the right person at the right time to fill that specific niche they really needed.
This is literally the story of my professional life.
At my original company I was performing Senior-level work (like, literally according to the staff level formalism from HR). But I was told by my manager that to be classified as a Senior-level staff, you have to have been performing Senior-staff level work for at least a year. Therefore being promoted within the organization is a long process. Moreover, with the usual 1-3% raise, you're still in the (low-end) of the pay band for Senior staff, so from management's point of view there's no real problem.
.. and then of course, if you're hired in, you just have a few phone calls, couple of interviews, discussion with the hiring manager and you're at a pay-level and job-level far ahead of existing employees even with identical experience.
There's obviously some kind of prisoner's dilemma-like iterated game that reaches that Nash equilibrium, and I'm trying to figure out what it is exactly.
I would have loved to stay at my first organization. Interesting work and research. I was PI and PM for interesting projects by the time I left. Now I make almost double. The thing is, my current salary at my original organization isn't unheard of for that level of responsibility at all, the problem is that getting that kind of adjustment is impossible. It's possible to be hired in at that salary, though. I've noticed this is true for most organizations I've worked at.
To be fair, this is absolutely not unique to you but literally every (software) company in america right now.
Lack of professionalism and absence of a professional engineering culture in many of the places you'd seek to outsource to save money.
Doesn't mean that professionalism doesn't exist, it's just that the ones that have it are already busy with their own thing and not interested in being low-cost labor
At a prior start up where I worked I fought against it with all my might. I call it "infantile simulacra" design -- rather than simply making a design to convey information in a clear and simple fashion and thereby treating their user with respect, it instead invites the reader and/or viewer to experience it as if they are a cartoonified, infantalized version of themselves... and thereby implying that company or service views their users as naive children too.
The "wasted" part of my day is simply being extremely inefficient and dicking around simply because it's expected to be in the office or available online. I would get much more done if my job was to hit milestones and goals (perhaps with some designated "office hours"). And then I have the rest of my time to do what I need to. Fortunately the "dicking around" involves taking online courses, personal "stretch" projects, etc.. but still.
I don't want to sound bitter. I have flexibility when I start/end my work day. On any given day I can peace out at 1pm or show up at noon (so long as I'm not blowing anyone off). But that's on _any given day_, not _every day_. And so the repeated, iterated game that's going on between me and employer reaches a nash equilibrium where I do just "enough" that I'm advancing my career in the organization and little enough that I have enough lax time in the day to do whatever I can online for my personal life (coursework, shopping, personal tech projects/experiments, enrichment reading, etc).
Men don't possess anything intrinsically valuable or desirable. There is no fallback. I too wonder what this will mean for (young) men, who have already been pushed down a dark path.
But this phenomenon seems to hold true no matter the organization: A new hire for position or level X with Y years of experience will ALWAYS have a higher salary than a veteran at that organization with level X and experience Y, for Y > ~2yrs.