I'm American, so I'm not sure who your comment is for. Anti-Americanism isn't a "gotcha" to me. If anything, it's confirmation of the persistent asymmetry in these discussions.
Football (or basketball, if you're Lithuanian) is a massive cultural institution in many parts of the world. The difference is that sports—just sports—are the institution in America. We could look at revenues, but that's far too easy. Look at the whole picture. Look at youth participation, women's sports, college sports. It's not comparable anywhere else.
For football specifically, the current situation is that a handful of European countries control the best leagues and consistently have the best international squads. This isn't changing anytime soon. The game is already owned by a group of elite countries—almost exclusively in Europe, benefitting from geography, mutual competition, and visa gatekeeping—and one confederation (UEFA).
The fact that the game shouldn't be "ruined" (or latent anti-Americanism) suggests you're okay with this situation. You didn't comment on rule enforcement or cynical play either, but I assume you're okay with those things or take them for granted.
Americans see football through the lens of other sports, because we are a sporting culture, and football is one of many. All the "American" sports have their problems too, but we don't pretend they don't for phony reasons. But we also have choices and exercise those choices. Footballing nations, I get the impression, see all sports through the lens of football. I often wonder whether fans in footballing countries genuinely like their sport for what it is or whether it's just a narcissistic cultural inheritance.
> The difference is that sports—just sports—are the institution in America.
What does this mean?
I'm really trying to understand what you're saying but I don't get it. Are you saying that other countries don't have a sport culture like the US? What makes you think that?
Again, if you don't want things ruined, then that implies that you don't think football, in its current state, is not already ruined. This isn't a position you've earned, you're just assuming it.
And it's awkward to defend because, as I've already stated, the status quo is: colonial powers controlling the game at the pro/international level, bad and inconsistent officiating, normalization of cynical/unsportsmanlike play, and massive corruption. As an American, these are easy to see because we have the advantage of a massive sporting culture. We have salary caps to enforce parity and scrutinize our own leagues' rules. There is a competitive marketplace for sports. If things are broken, people stop watching.
What about the US's influence in improving soccer would ruin it further? Moreover, do you understand your own sport well enough to make the judgment?
I love the references to a massive sporting culture in America while talking about a sport that has an order of magnitude more fans than there are Americans on the planet.
Your point about salary caps is interesting. It is good that we have these because otherwise you’d see something crazy, like the Dodgers simply buying a winning team with heretofore unseen amounts of money
The problem in that segment is that it's basically the same disposable, non-repairable tech that's destined to the dumpster in a couple of years. The company is selling the appearance of having a different design philosophy, and it works because the consumer has no way of telling.
So, if you want to do anything more profound in that space, it's going to be hard to compete.
That one you linked has actually quite a lot of features - the 12 presets, auto cooking mode, weight setting, the potentially confusing buttons like "express" and "micro power".
Microwaves that are just time and power setting, cooktops that are just four knobs, ovens that are just mode and heat, maybe a simple timer… I’d buy those too.
Along the same lines, I also find it useful to have a text log for each sizeable task I undertake. This could contain anything, notes of module structure, code & data snippets for testing, everything!
Like one of the top comments mentions, it acts as a node of knowledge within a wider system (graph) and I end up revisiting these logs more often than you would expect! It only gets better as you explore/document more and edges form.
Yea, for me what really helped is once I interned at a hydraulic engineering company and I was tasked with debugging a custom software for pump modeling/optimization in GIS.
I had no background in C++ or the GIS I was dealing with and this was a one-off thing that was built for a project, but not maintained or documented at all.
The lead eng that wrote the software also had a long and detailed personal log of what he was working on. He just gave me that.
It helped a lot to understand not only how the software worked, but also the design decisions.
I’ve been doing something similar. If I read a blog post / paper, etc. where I learn a lot on a topic I’m interested in, I will catalogue a pdf of it in Obsidian with a tag and an optional note. This makes it easy to access information locally very quickly and I find I learn a lot more because if I forget something, I open up the resource, read the doc and, come out learning a little more. A kind of convoluted version of spaced-repetition but more passive learning.
Granted, I’m aware this probably won’t scale to many topics but a few years and hundreds of notes later, it’s still working well for me.
I don't even save the sources, I'll just assume I'll always have access to the internet and that I'll be able to find what I need when I'm thinking about it.
There’s read.cv which is a network, portfolio and job posting site that’s more focused towards the design community. I have seen software dev jobs posted in there too.
I’ve also struggled to find an alternative to LinkedIn (which is unbearable at times). Maybe the way forward is for each community to have its own unique platform, like read.cv for the design community, another for games, embedded, etc.
Aside from that Hacker news who’s hiring has been the most useful in discovering opportunities for me personally although I realise this is focused mainly on technology roles.
Excellent point. Giving my perspective as a relative newbie (~5 years) to the industry with no comp. sci. background.
It was around the year 3-4 mark that I decided to knuckle down and try to improve my fundamentals (data structures, algorithms, memory models, concurrency, CPU architecture and some network fundamentals) by reading popular papers and literature and writing all of my personal projects in C and C++. I’m about two years into this study and while it’s been immensely rewarding, I’ve found it to be a huge undertaking while juggling life and a full-time job.
What I’ve also noticed is that, while I understand a lot more about what the CPU is doing, memory manipulation and how to write more efficient programs, I haven’t found it be particularly beneficial to my daily work (still Python and JS). I would love to be able to put these concepts into practice for many hours of my working day but it’s difficult to move from general web-stack development to more performance-oriented development (embedded, low-latency, OS, etc.).
My guess is that this is one of the reasons we have ended up in this situation. You can get away without knowing the fundamentals (a good sign of progress?) and that if you really do want to pursue these areas that promote building this kind of knowledge as part of your career, the barrier to entry is quite high and the positions are fewer than say a decade or two ago. I find it a shame because in my eyes, these areas are the most interesting and exciting areas of programming. It’s an art.
> What I’ve also noticed is that, while I understand a lot more about what the CPU is doing, memory manipulation and how to write more efficient programs, I haven’t found it be particularly beneficial to my daily work
I think this is because of the effect OP is describing: no matter how much time you spent studying, the odds that you learned about the specific thing that will make the difference in your work this week are slim because the technology is so broad and deep. Odds are that what you choose to intentionally study is irrelevant to your work.
You've picked a slice to learn about, but those who were working on it as it got layered know it all. Once you have that kind of knowledge, the odds of being able to explain some unexpected behavior approach 100%, but acquiring that knowledge took decades.
I've found a method that does work pretty well is to dig really deep into the topics that come up in your actual work. Instead of a random sample of fundamentals, find the parts of your job that feel like magic and explain that magic. Skipping over V8 and straight to the CPU might not be useful for a JavaScript dev very often, but a deep understanding of V8 is relevant more often than you might think.
I agree about the high barrier to entry, but I disagree about the modern job market.
There’re huge areas of the software industry where performance matters to this day. Examples include videogames, content creation, video processing, engineering software, science related HPC, and now AI.
However, transitioning from web development to these areas gonna be hard. That software doesn’t run in web browsers, the code is either desktop apps, deep inside web backends, or supercomputer programs. And high-performance C++ is often not enough for them, depending on the area ideally you might also need GPU graphics and/or GPGPU compute.
I was lucky I have never worked on web apps. I know TCP/IP reasonably well, I have some general understanding of HTTP and HTML, but I’m totally clueless about the modern frontend technologies.
What I’ve found most helpful for understanding how something affects Python specifically (but this holds true for nearly any language) is godbolt [0].
Find a chunk of code you want to optimize, simplify it as much as possible, then put it into godbolt. Match the interpreter version to yours. Then go look up the bytecodes and see what they do. Try changing the Python version to see how it differs, or a different approach to the problem (e.g. a map instead of a list comprehension).
This takes an enormous amount of time, of course, but you can learn quite a bit.
> Getting a job becomes more of a random toss than assessment of my skills.
I’ve coined a term for this throughout my long job search, it’s called the “leetcode lottery” (patent pending).
You can do a couple of hundred leetcode problems, but you’re still at the mercy of the Gods when your technical interview comes around. The worst part of this whole charade is that I come out of most interviews having learned nothing valuable and I can say the same for the interviewer. They haven’t learned about my strengths and weaknesses, etc.
I don’t have a better solution for how you can get an idea of my knowledge and skills over 2-3 hours of technical interviews though. And until someone does come up with a better idea, we’re stuck playing this game.
I think certification is essentially the same thing as having someone else interview the candidate, so it won't be better and is easier to game than interviews. Working together with someone on the kinds of problems you actually face is the most realistic way to assess a person's abilities on the work to be done because it's less of a proxy than anything else.
Yeah kind of. I think of it like DRY though. Most people aren't good at interviewing. Everyone does some random thing they think is better then the rest. But really it's uninformed. Just like you wouldn't implement your own hash map for most cases, you don't need to do a technical interview for everyone. I had one company do three seperate coding rounds. How many candidates do they have, what a waste of time for everyone.
Technologies: Python, Typescript, React, (Learning C)
Dream role:
I would love the opportunity to work with C (or Rust) in a professional setting. I think there are a lot of interesting problems that are being tackled in this space (audio processing, embedded, linux development and latency sensitive applications). I realize my experience is limited in this area but I hope that my current skills can bring value to your team (and business) while I build up confidence and competency. I'm hungry and always willing to learn. I enjoy working for smaller companies and teams :)
About:
Currently working for a trading team in a large investment bank. Prior to that I worked across the web-stack for 3 years at a start-up. As of the last year I have found myself becoming increasingly interested in performance focused programming and I find great joy in learning how the fundamental components of our software works (think memory allocation, semantics, concurrency, os basics).
There are many other nations with just as much influence in sports outside of the US. The only difference being that the US doesn’t care about them.
Football is a global game, everyone’s, not another thing for the US to dictate and ruin.