I've been using it for setting up infra and projects on GCP and its been great. I use cursor for coding, but that isnt as helpful responding outside the IDE on cloud config. I have no GCP experience and I was able to get to a working application very quickly with Gemini. The GCP docs are outdated, often conflicting, but the Gemini experience was excellent.
I also can't help but wonder this. I'm certain people at google search want to provide the best quality search results and do this with integrity. But at some point in the business hierarchy you are at a level where people set objectives for both these departments ( search & ads ) and are trying to optimise for things like total revenue/profit.
Essentially. The root failure mode of FB's API solution is that it's an API for accessing private data and their only protection against clients abusing that access was a terms of service.
Back in the mid-'00s, we started implementing something against FB's API and I was more than a bit shocked to discover that their solution for preventing someone from building a parallel network of friend relationships out of the available dataset was "Please don't do that, and anyway if you try to do it at scale we'll probably detect the bandwidth consumption and shut you down." Not great.
While I agree, I think there is something to attest to watching someone solve.
When I first started, I was really shit at finding bugs, didn’t understand the total scope of parsing (used in almost every oop method / solution), and general searching how to solve a problem.
I started watching some coders, specifically geohotz, on how they search problem parameters to find solutions, and how they implement solutions. There seemed to be a gap in my investigative research that was filled by watching others investigate and solve sophisticated problems. Ie; implementing ai api in python, really showed me how to take the general knowledge you can learn from documentation ie git or more official places like Microsoft docs and apply it to specific problems that may not have been directly related.
I think, if there is a way to explain and show a junior your thought process and problem solving process while keeping a great mix of allowing the junior to solve themselves as well, there can be great benefit. The hands on approach as described above requires a lot of time and attention, maybe time most senior devs do not have. It can be very beneficial. Maybe some paired programming sessions where the senior works on his sophisticated problems and allows the junior to watch, while also introing the junior to the scope of problem trying to be solved.
Yes, the best teachers ask questions of their students, engage in a dialog and provide "guard rails" for the student to gain mastery of a topic. The end result of learning is not merely knowing answers but being able to ask strong questions (pithy, but true).
This is also part of the reason why Stackoverflow is in such a negative light lately. SO is extremely good at providing answers to narrowly-focused well-defined questions, people forget or aren't aware that this IS NOT a good way to learn subject-matter. It leads to frustration from users because they're expecting someone to give them pointers on how to move forward on general problems and it's frustrating to point-mavens because they aren't empathetic enough to see what the problems are.
SO answers are really good learning place. That is if you read the whole thread instead of copypasting the accepted answer.
Usually, at least for .net, there are explanations not only how to do something, but why do it this way.
I learned quite a bit from SO, it at least pointed me towards right direction in docs. Nowadays i just read the docs instead, but i still google for SO answers for new problems.
Maybe there is an API i have no idea about ,nor my colleagues do? Maybe there is a better way to solve problem XYZ?
Instead of skimming myriad of blogs i can just read the answers on SO and then read up the docs.
SO is as good, or bad, as you make it - if you just copypaste answers, or provide an answer in form of code with minimal explanation why - then that's on you.
SO is a great place to go when you're in a jam at work as a pro doing your stuff. It has specific answers to specific questions. Sure, if you have enough background expertise to navigate the answers, you can "learn something" (1) along the way.
The kinds of questions that people ask when they're focused on learning something new, however, are DEFINITELY NOT what SO is intended to handle. It is why SO is actively hostile to people that try to use it to learn by asking questions.
(1) For .net in particular, Jon Skeet's answers are magnificent resources. He even made the content from his answers into a book. The book, of course, has context and coherence. It's not just the answers copy-pasted into a text. Sadly, Skeet is the exception rather than the rule. For everyone putting up nice answers to questions following the example of Skeet, there are dozens of smug, persnickety jerks making people feel like shit in a hundred different ways for daring to ask a question.
>> The kinds of questions that people ask when they're focused on learning something new, however, are DEFINITELY NOT what SO is intended to handle. It is why SO is actively hostile to people that try to use it to learn by asking questions.
Exactly, at this phase of learning go and read other questions and answers related to your topic instead.
People have complained for years about over-moderation on SO. Here's a good overview article[0]. You may also want to look into recent controversies about licensing[1] and how they treat their community moderators[2][3] (both of which were on the front page of HN).
I really like this style too. When I get asked to do 1 on 1 teaching sessions I often find myself teasing out answers by asking a bunch of questions using the Socratic Questioning[0] strategy.
A couple of years ago I wrote a blog post on "Would Socrates to use Docker today?"[1] which uses Socratic Questioning to help pick a tech choice. If anyone is curious on how to apply it to technology, that post goes into a bit of detail. It could also be directly applied to solving specific programming problems too. I use it to make a lot of decisions.
It's so bad at understanding your intentions.