Actually I'm not sure what any of your post is about. Your friend doesn't like their job because they're hiring people to make facebook ads more effective?
The reply here is entirely in line with the poster; they didn’t say anything about feeling like a fraud, they said candidates in tech minmax career choices with no thought as to their actual purpose.
And yeah anyone remotely self-aware would feel disgusting working on adtech. It’s just that most tech workers do not think about such things.
The other thing is the supreme deference to rank at the cost of initiative.
It was mind blowing coming from a more competitive corporate world.
If that'd been my first tech job, I might have just ragequit the whole industry.
Fortunately, I'd already been around the block a couple of times, so I knew that I just had a particularly bad team at a mediocre company. I hopped ship, and everything was great at the next company.
*A bad job:
My teammates were annoyed any time I asked them any questions. "Just read the code! It's in the code!" Yeah, OK, I'll spend 8 hours digging through this fucking code when you could have spent 10 minutes explaining it. I think this is probably the worst thing for productivity I've come across in my career. Any time someone asks you for help at work, DROP EVERYTHING AND FUCKING HELP THEM. Teach them how to fish, too, don't just walk them through things. Show them where you're finding documentation, show them the local equivalent of a man page, introduce them to the people with the tribal knowledge. If they spent an honest 10 minutes trying to figure something out on their own, it's part of your job to go help them out.
I'd fix a bug, then have to go to meeting after meeting after meeting to try and get permission to check in my fix. It'd often be either rejected, or I'd have to redo the same handful of lines of code a dozen times before I could get it in.
I'd have to set up some internally-developed test infrastructure, but it was a 40 step procedure to get the tool running and if any one of those steps went wrong, you'd have to go back to the start and start over. Nobody who was familiar with it was willing to walk me through it, so it took an incredible amount of willpower to force myself to get that shit set up.
There was another team working on the exact same thing as my team in another org, but we weren't "tented" (AKA: "disclosed") on each other's super secret projects, so we weren't allowed to work together at all or share any information. My team hated the other team, and they in turn hated our team. (I knew this because I had a close personal friend on the other team)
The development environment was almost completely paralyzed by company-wide bugs. The company was sharing a single insanely gigantic codebase across thousand and thousands of engineers, and there'd be month+ long stretches where the build and tools were broken. Since things were broken so long, people would check in new build breaks without realizing it, and it ended up in a vicious circle of badness.
And of course, the product we were building was a useless piece of crap that everybody hated.
He never found a company or position where he would be productive. He was "demotivated" in multiple companies (I met his former colleges from other companies who confirmed and seen him in multiple teams).
“I had avoided working for big companies. But if you'd asked why, I'd have said it was because they were bogus, or bureaucratic. Or just yuck. I never understood how much of my dislike of big companies was due to the fact that you win by hacking bad tests."
For example, if the company gives you a goal of contributing to OSS you could add some feature that no one asked for and contribute 200 lines of code quickly. Or you could debug and fix a bug that many people complained about and that may take much longer and may be just a one line change. But your manager doesn't have the time to drill down into the details of that on your performance review. So the bug fixers looks worse than the feature adder during performance review.
You could say the problem is management for having a bad review system but as soon as they update the review system it will be gamed by the people who don't care about the company.
These companies optimize for hiring people who've spent their live trying to beat the next "level" of their lives with a bigger score than all of their peers. And once you have them, you make them QA the game of life on easy mode. Some people will invent some meager challenges to stay sane, and others will just be bored and miserable without a challenge and the prestige that comes from overcoming them.
Every company wants to automate or streamline the hiring process to get warm bodies in chairs in front of computers.
What about culture and vision? What type of people do you really want working for you? A cog?
That's a fairly tech (and probably Bay Area) view of the world. I've been ~10 years or longer at three separate companies and I know tons of people in the same boat.
I'll just continue to grind in this job until I get fired, die, or hopefully can retire someday (maybe coastFI).
I like to learn new things, struggle (within reason), and iterate on my previous attempts or prototypes to build a better product that I can be proud of. I did this when I was building my android apps and loved it.
My problem is that the company sets us up for failure and doesn't even realize it. The business consistently gives us terrible requirements. They can't build a business process map or anything else to describe the processes they follow. They constantly miss big pieces so we end up with systems that are spaghetti code to cover all these things they miss.
The company also views struggling with new tech or roles as a negative. They don't provide any real training either, but I guess the Plural Sight self-learning trend is more of an industry thing. I joined my new team about 4 months ago and worked on a AWS Lambda in Python, Slunk alerts/dashboards, Tableau dashboards, and I have no training in any of it. I had to self-teach AWS (2 certs), Python, Splunk (User cert), and Tableau. The demoralizing part is that little of this seen as valuable. I can't improve my career by "developing" Tableau or Splunk dashboards. I need to have a steady diet of AWS and Python where the requirements are 90% there so I can architect and develop elegant, or at least practical, solutions to an interesting business problem.
When you say self-teaching you mean you're paying for certs/doing on your own time? Or work is paying on one hand but going out after it isn't seen as valuable on the other? I'm just curious but by no means am I saying that there's not just bad situations to get out of, just that discomfort and feeling like you're not doing well aren't _solely_ reasons to leave. Hope your situation improves though, sounds like you're doing the work.
I guess the better way to put it is: would you assign Tableau work to someone who has no training or experience in it and then tell them they are taking too long? The only way to do it is to learn it as you go, which is going to be slower than someone who is trained. I really want to become an expert in something useful/marketable like AWS and Python, but these no-value assignments are throwing a wrench in that.
I worked for a well-known tech company for a couple years, with a grueling interview process. I regularly get cold called by recruiters asking me about "my time at X".
So it's a good thing, from a career perspective. Whether it's a worthwhile thing of itself is a personal choice.