Hacker News new | past | comments | ask | show | jobs | submit | WYepQ4dNnG's comments login

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 ...

Life is not fair I know ...


I wished people would care more for the real world than virtual land and racing to Mars ... awful times we live in ..


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.


>"As such, there is a sense in which you need to know everything about C++ in order to use it safely"

Completely disagree.


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.


Only if you disregard CLR, MSIL, .NET Framework vs Mono/Xamarin/Unity vs Core vs UWP, Windows Forms, WPF, WebForms, WCF, ADO, EF,....


>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.


Well, import ctypes.

Are you sure you master all language and library changes between versions, even minor ones?

What are the major differences between Python 1.5 and Python 3.10?


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.


Until you find libraries that were never updated....

Very lucky ones, those that can do their work from scratch using latest version of everything, including the OSes where they get deployed.


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?


> 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.

Do you mean the code of the library itself, or code using that library?


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 wish an expressive language like Rust, but with a GC, so I don't have to think about borrow/checker and memory manager in general.

I have tried to use Go but did not find appealing or ergonomic. I would choose Java/Kotlin over it, perhaps with GraalVM.

If I had to write system tools, I'd probable go with Rust.


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).


If you don't care about robustness for paths with invalid utf-8, you could try camino https://crates.io/crates/camino


Very interesting! I'll actually check out if it fits my project. Thanks!


I agree with the string argument. I felt the same struggle, too many string types. It is hard to remember when to use what.

I wish there were one string type to rule them all.


> I wish an expressive language like Rust, but with a GC

Ocaml or ReasonML are pretty close to that.


D


And F#.


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.

I think they peaked already.


If they grew at the rate of the last 10 years we'd need to make a few extra billion people to use their product.


> Less and less people are using FB

Are we just making things up now? FB users increased over the last quarter and are at an all-time high.


Android is going down the same direction as Apple with the privacy sandbox.

https://blog.google/products/android/introducing-privacy-san...


Yeah but for very different motivations.

Google is doing this because it is like throwing a banana in Mario kart for your competitors to slip on.


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?


I suspect/hope that many (socialist) political leaders around the globe are going to be forced by their supporter to re-asses their usage of Twitter.


I am glad I did not join them last year when I had the chance. Went for a FAANG instead. I see pure chaos for the foreseeable future.


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.


I suggest you to keep practicing those leetcode ...


Haha, top bants. I genuinely love it.

FWIW I wasn't insulting anyone. Evidence that I'm not a hater:

- https://news.ycombinator.com/item?id=30980395

- https://news.ycombinator.com/item?id=30960680

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.


That's pretty petty


Reminds me - why was Twitter never considered a FAANG? FATNAG, etc.


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.


MAAG or MAGA? Oh, wait


I think FAANG should be renamed to MAAG the only companies that will continue to dominate the tech industry at least of the next 2 decades ...

Microsoft, Apple, Amazon, Google

Everything else ... not so sure ...


I think Meta is probably here to stay, but you're right Microsoft should probably be in there. So, GAMMA.


Cramer used it to refer to high growth tech stocks that dominate their markets and have large market caps, Twitter was none of those.


FAANG was coined by Wall Street and refers to high growth stocks (which is why it didn't also include Microsoft).


msft has grown as much or more than google and apple. (and more than fb and netflix)


Not when the term was coined in 2013. It's honestly outdated.


MSFT stock mostly stagnant during Balmer, growth during Gates and Nadella. Balmer had bad luck expanding into new areas.


[flagged]


I think the worst problem is it’s made everyone think Netflix is a tech company, including themselves apparently.


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.


For the same reason Microsoft wasn't.

There are only so many letters you can use to make a word and some companies had to be dropped.

The original meaning was a term to describe the big tech companies.


because it never made money and had poor user growth metrics, FAANG companies are like 10x the size


If memory serves it has a much smaller number of employees.


it was a made up stock market acronym. twitter hasnt performed well.

bigger question is why was microsoft not part of it? mainly because it didnt form a catchy word.


Not big enough.


Why not Tesla?


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.


You might be thinking of contract manufacturers like Foxconn.


Elon is no fit to own and run a social media company. Let’s remember the toxic tweet against Bernie https://twitter.com/sensanders/status/1459584250668331011

I will for sure delete my account.


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.


Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: