Thanks for the answer. On one side I'm happy it mirrors my understanding, but on the other I kinda feel some sadness for simple small beautiful solutions. A lot of models feel like brute force to me.
I think the most impactful thing I've built for now is an open source project used to auto complete C++ code in sublime text: EasyClangComplete. It does not take over the world, but I've been using it for years along with tens of thousands of people and that's good enough for me.
But there is! Use local variables and value semantics. Use references to borrow stuff. Never touch new or delete. Use smart pointers when need an owning pointer (rare). Anything beyond that: ask next in seniority to supervise. That should be enough to live a happy C++ life for a junior.
As a personal anecdote, all of my jobs were actually very interesting with lots of interesting design problems spanning from low level systems to very high level design decisions. Granted I worked in automotive and later in AR and have been lucky enough to be at the start of some projects, but there definitely are interesting projects for C++ out there.
Would not say it's true at least for robotics related fields. I personally taught C++ some years ago and the new guys have taken over since, adopting and improving on my course. There are many specializations where C++ is still a must.
While I completely agree with you that asking for forgiveness in these situations is probably a better strategy, I definitely know the feeling that OP had.
My take on why it's hard is that I want to be a team player and I generally want to do good for the company and especially the team. If I go and do something else, which I believe in, but which is not what we agreed upon with my team, it feels awkward and I either have to do it in my spare time (this strategy wears thin with time) it "sabotage" something else that I'm doing.
So I definitely see a structural issue at hand here. If anybody has a suggestion of how these situations could be addressed - I'm all ears. How can we tackle situations where the time to write code is much much less than the amount of time to discuss if we have to write this code? How to skip to writing the code quicker?
If anything, I've seen union doing exactly the opposite, at least in Germany for senior level jobs. Coming to work for a big company the only chance of getting a higher salary is to be above the union negotiated margin. The companies generally don't really want you to get there and it can be really tough to negotiate this. You are really well protected and basically unfirable in union but there is a top margin to your salary. If outside the margin of union salaries you're on your own with your own responsibilities. I really did not like working on a company that had a union as I've seen lots of people with zero motivation and nothing that a company could do about it.
Interesting. I've always valued higher pay over other benefits and I'd like to retire early so job security doesn't matter much. I guess I would prefer being non-union too.
I run a Trello board along the lines of Getting Things Done, i.e., everything I have to do goes into this board. It starts with "incoming" list, which can also be filled from email. Every morning I look at what is there in the "incoming" list and these tasks move on to "today", "this week" or "later" lists. Also, tasks from those lists go back into "today" if needed. When I'm done with a task it moves to a "Done" list, which gets emptied automatically every night. Additionally, I have a "waiting on" list for things out of my control. That is about it. This system is free, I can success it from anywhere, and it is motivating to drag stuff over.
I just have to chime in on this. While I don't use the mouse with an iPad on a daily basis, I have found a new use for it yesterday.
Once every <insert-some-time-frame> I start missing games and decide to play something. I have a dedicated relatively powerful PC for that. What I have recently found out is that I can play XCOM2 on my PC through my iPad with Steam link. The experience was good enough out of the box but the way the cursor was controlled through an iPad screen felt a bit out of place.
Yesterday, I suddenly realized that I can use a Bluetooth mouse with my iPad and holy crap, the experience is like playing on the PC but I am not attached to the desk! There is only one minor issue of not being able to move the mouse to the bottom of the screen without triggering the applications bar, but this was not too annoying.
Not sure how important this is to anyone, but I was amazed that I could do this.
Oh my! This is amazing! It is exactly what I need to fulfill the picture!
To those, who can't or don't want to watch the video: you can configure iPad to lock you in a single app and unlock with either biometric or pin entry. This is available in the accessibility settings.
I haven't played XCOM 2, but the 2012 XCOM had controller support. If you have an Xbox One, PS4, or one of the older MFi controllers paired with your iPad, the Steam Link app can pass those controller inputs through to the running game.
Aside from the "drag past the bottom of the screen to go home" issue, I find the mouse support has worked really well in games that have an on-screen cursor (I've tested with SimCity 4, Disco Elysium, and Factorio). It doesn't work at all in games that expect to fully capture the cursor (usually to control a camera perspective, so most first person or action games).
I usually try to stay away, but I'll bite this time. I have no affiliation with Google, don't own their stock nor ever have, but these kind of responses bug me.
Working in data science I keep thinking about how I would solve a particular problem. Regarding real-time traffic: how would you solve something like this? Clearly one has to have a lot of anonymized data one can trust. Now the question is how to get these data. Google is building it's business on providing a useful service, like gmaps, for free and on using the data from the users of this service in aggregate to sell useful information to businesses that require these data for whatever they are working on, like the company in the article. Google is very transparent about how they use your data when you use their service and they seem to try to do their best to anonymize these data, e.g. you hardly ever get the access to even anonymous data outside of Google, but rather to the information computed from these data. So I see no objective reason for being so angry. What am I missing here? In the end, if you ever want a service like "ETA at destination" someone will need to acquire the data anyway, right?