In my experience, most engineers won't even get the chance to work on something so impactful and cross team/org to land a promotion.
Not their fault. Sometime, as everything in life, you are in the right place at the right time. You get to work on a good project and bingo. But most of the time
you will end up fixing bugs in some half baked, broken PoC that someone launched in production just to get that promotion, and now you got to make it to work, while the person who got promoted get to move on and draft another broken PoC, launch it etc ...
It depends if you are the one fixing shit and make things work (you rarely will get a promotion) or you are the lucky one who get to write spaghetti code on the next thing, cash out and move on onto the next thing ...
I worked on few projects in c++ many many years ago, so I don’t define myself as an expert in that language, but c++ nowadays scares me, looks like the language complexity have exploded and code looks like complex to me. All those templates … I have the feeling that languages like Rust have a chance long term to replace c++
Until they are 40 years old, with similar growth pain points.
I look at Java 18, C# 11/.NET 7, Python 3.10, and the knowledge about latest features, language and ecosystem changes across all major libraries for the last 25 years is hardly less complex.
I completely disagree. Java, C# and Python are all dramatically less complex than C++. And there is an additional issue: lack of knowledge about something in one of those languages might lead to a suboptimal implementation, but it is unlikely to lead to anything akin to undefined behaviour. As such, there is a sense in which you need to know everything about C++ in order to use it safely that isn't true of almost any other language.
Well you at least need to know a whole plethora of things that can trigger undefined behaviour, many of which are triggered by code patterns that are idiomatic in others contexts.
This is very unlike language like most other languages where you can play around with little language specific knowledge and the worst thing that's likely to happen is a runtime exception.
>you need to know everything about C++ in order to use it safely
Well, you should know the libraries that you're using in C++, but I don't think that's any different in Python or Java. Granted, the mental model is more complex in C++ but that's the price you pay for the amount of control you get.
Also, isn't undefined behavior a lot easier to come across in Python since it's dynamically typed?
python doesn't have c style undefined behavior. you might get unexpected behavior, but that is very different from undefined behavior which allows the compiler to delete your hard drive and launch a nuke if it feels like it.
Why does it matter how Python 1 worked? Nobody is using that these days. In fact , in 2022 you can probably even get away without knowing python 2 either.
I am not sure about that. Java has been around for some time now, but any Java developer can easily read code written 20y ago.
I find c++ syntax terse and hard to read. A good example is the well know boost library. Even back in the days when I was coding in c++ on day to day basis, I have always found boost code hard to read and reason about.
You can read the code, but are you sure you understand all the JVM implications of how that code changed and which versions introduced what behaviours?
My feeling is that C++ gained features. These new features allowed people to easily fall into some until-then unknown traps. Now C++ is gaining features to make these traps more visible and avoidable. The problem: to become proficient, you now need to know the features, its traps and how to avoid them.
I had the same reaction staring at all those new features.
Reading the code in that page, I felt as if I looked up only to find the night sky abuzz with otherworldly ships glowing in the dark. It made me anxious. And I wanted to run.
But now I'm wondering, is this my reaction because it's been more than 10 years since I touched any c++ or because the language got really complex? I'm curious what seasoned c++ developers think about this.
Frankly, a lot of the article is obscure corner cases that 99% of C++ developers will not encounter.
It's important that they're there, authors of very generic libraries may have to deal with them. But I'd much prefer to have seen something about modules in that list...
I've recently written a "system tool" in Rust, and, while it wasn't as bad, in terms of productivity, as I had imagined at first, there are certain domains where Rust is really a grind.
Working with filenames/paths is one of those - if one works with (transforms) filenames/paths, the code will be polluted with all the conversions between PathBuf/Path/OsString/OsStr (and the canonical String/&str); this makes it hard to reason about the abstract logic.
It absolutely makes sense that Rust forces one to consider the robustness of the code, but in some cases one just doesn't want such robustness.
Cyclic graphs are another very ugly thing to work with in Rust (without supporting libraries).
Will Apple finally make up their mind? Most of the big tech are getting more and more work remote friendly. If they want to retain talents ... they must align with them. Otherwise they will continue to bleed engineers to FB, Google, etc ...
> - Apple’s 2021 opt-in privacy change makes FB/Insta/Messenger/WhatsApp ads less effective permanently for the highest margin demographic (iPhone users)
> This will be worked around - the impact isn't as large as people make it out to be.
And you think Apple will stay put and do nothing? You can expect that as soon as they find a work around, Apple is gonna screw them again. They have no chances.
Depends on the work around. I don't think it is possible to get between app tracking data from some side channel, Apple will definitely block that through legal if not technical enforcement.
But they can use data from Android to infer user behavior for Apple users.
Also, they can still use tracking data from their own properties (IG, FB, Whatsapp).
Less and less people are using FB .. perhaps IG and Whatsapp yes, although you have to consider that privacy regulations can only get more stringent over time.
Will they go bankrupt ? I don't think so. Will they be able to grow at the rate of the last 10y? I don't think so.
If two apps can both identify a user then they will be able to combine that data. Apple took away the one identifier they controlled. What are they going to do next?
That's probably for the best for both parties. Twitter sounds really freaking exciting right now. If I were leaving uni, I would be rushing to get in there instead of a FAANG. If mad product development happens, you'll have a chance to be there, making it work. The only reason I'm not is that I've got even more fun going on.
But FAANG folks self-select as low-variance people in general, so it's best that they seek low-variance outcomes. Happiness is in indulging your true nature.
Low-variance outcomes are just that: low-variance. If you're a decent FAANG engineer, you're making in the $500k at least by your 5th year, if not earlier, which puts your net worth at 50 at around $25 million. Pretty good outcome and quite certain.
The way things are trending, it's going to be FAAG soon, which is not so good. I guess, technically, it's not F anymore, so it's MAAG, which is almost as perilous. But if we're truly being technical, it's not G, it's a, in which case it's MAAA, in which case we might as well go with GOAT.
At the time MS was old hat. They only grew because Office 365 extended their natural monopoly in enterprise. Definitely a good stock pick in hindsight, but not the new type of ‘new’ platform growth that was going on at FAANG at the time.
Tesla isn't a mass-market software/online-services business. They manufacture, which means a lot of capital going into factories and a lot higher of material-input costs, and they're kind of a high end brand.
This gives their business different performance characteristics from Facebook (mass market social-media and ads), Amazon (mass market sales and logistics), Apple (which is at least slightly luxury, but contracts out its manufacturing, and does mass market hardware — look at that iPhone sell), Netflix (mass market entertainment), and Google (mass market search, mail, advertising).
Amazon and apple probably both have more capital invested in factories, warehouses, etc than Tesla does. Apple is also kinda a high end brand. They seem a lot more similar than different.
If the data is publicly available then it should be legal to scrape it and use it. LinkedIn can decide, if they want, to put all the data behind login. Problem solved.
I agree. to me this is like people complaining someone is taking a photograph of their front yard... If you don't want something visible, don't display it to the world.
Not their fault. Sometime, as everything in life, you are in the right place at the right time. You get to work on a good project and bingo. But most of the time you will end up fixing bugs in some half baked, broken PoC that someone launched in production just to get that promotion, and now you got to make it to work, while the person who got promoted get to move on and draft another broken PoC, launch it etc ...
It depends if you are the one fixing shit and make things work (you rarely will get a promotion) or you are the lucky one who get to write spaghetti code on the next thing, cash out and move on onto the next thing ...
Life is not fair I know ...