As part of a larger team of programmers one is shielded from those situations, and explicitly not allowed to make those decisions. It can probably not be any other way, but something is lost in translation.
The upper parts of the developer career path as an individual contributor have more direct contact with system users
I feel the same, although I took it a step further (and, too far honestly) and directly reached out to help people on Reddit, explained some misgivings regarding the product we made and generally help those who seemed to be having issues.
It's an eye-opening experience.. it's very easy especially when you're very hidden from it (as I was initially) and it's easy to dismiss people as being vitriolic, but the quiet ones aren't spewing venom and they don't have hate.. they just have sadness and that's jarring.
Obviously everyone in this field knows how important it is to get things right. But actually seeing it is pretty mind-blowing.
It's the same for everything else, really -- with medical devices it's just easier to connect the dots and figure out why it's important. But technology touches people's lives in very unexpected ways.
Imagining management coming along and breaking one of your legs.
The cynic in me suspects that data science for a game company will involve mostly marketing research, however.
Actually, there's a lot of it involved in game design. In the case of MMORPG, what to develop next as extensions or monthly content packs. In the case of single player games, feedback on building sequels. A lot of game developers these days put effort into gathering all sorts of telemetry from their games, RPG developer Bioware for example knows how many hours the average player spent on Mass Effect games, how many finished the game, how many made a customized character vs how many used the default face, how many played a female character versus male, how many imported saves from the previous games, which quests were completed and which were skipped, how much of the dialogue was skipped and many other things that are used to understand what to focus on for their next games. And it's all on a solo RPG, so they had to deliberately add some online analytics reporting functionality and are not just using stats that was lying around on an online game server log.
Guild Wars 2's developer arenanet is employing a data scientist and economist, John Smith, to manage and keep control of the virtual economy in their MMORPG. He's also head of the analytics team which is the primary decision maker on what content is going to be cut and which is going to be developed in the future.
Marketing can be a part of it but more and more, analytics is getting to contribute in game development decisions.
One the one hand, it's cool that they are forward thinking about using telemetry to improve their products. On the other, it's a little upsetting and disheartening that I played plenty of Mass Effect and don't recall ever being given the option to opt out of telemetry. And I am the kind of nerd who will scroll through all the game settings before I even start.
That's what I did in a game company, I for example plotted (time or matches) vs. experience + # of people who made it that far for all players and identified a choke point where a large part of players had a long interval with a little progress (and so they dropped off).
Designers need help, some of them are fluent with (big) data but most aren't - and you can be their partner :).
Check out job openings at Blizzard, Riot, EA, Ubisoft, etc. Or pick a game you like and reach out to them through your extended peer network. If you live in (or know someone in) the Bay Area you are less than the proverbial 6 degrees of separation from someone who works in games.
Caveat: Unless it's an established studio turning out a reliable set of moneymakers, the job is going to be very unstable. It's like a combination of movies + startups. You will work your ass off and if the game is not a hit the company will fold and you'll be on to your next gig, if you can find one.
There's a running narrative in a lot of Bay Area startups that they're saving the world, but over the years I've become increasingly cynical that saving the world and making money are compatible goals. Every startup I've seen start with noble intentions has compromised their values to make money. Sometimes it's just to stay afloat, and I don't begrudge them that. But even while I don't begrudge people making money just to get by, I can't support the narrative that this somehow is making the world a better place. The ways people become rich involve increasing income inequality, centralizing power, collecting and selling people's privacy, stealing people's attention, lying and manipulation (most marketing), inserting yourself as the middle man in transactions. Some products do provide real benefits, to be sure, but I can't help but think that if it weren't for the desire to get rich, we could get those same benefits without the problems I've listed. And notably, there are very few cases where I believe the tradeoff is a good one--more often the downsides outweigh the upsides.
And to be clear: I don't think there's usually any malicious intent here. When people start off, they really do intend to save the world. But you make compromise after compromise because you "have to" make money, and eventually you're not serving users any more. It can happen to anyone.
Often, yes. It doesn't have to be.
The first step to improving things is admitting there's a problem.
Value creation is not the same thing as value extraction.
I found this pretty awkward, but rewarding, and have let it help guide my personal prioritization. In this case, having a few anecdotes was a lot more powerful than the dry aggregated data.
Where are you going that you're not seeing all of your subscribed channels' videos?
This is the page I mentioned, and I don't know where else to see subscribed videos. Is there some place that doesn't show them all in this format? https://www.youtube.com/feed/subscriptions
Personally, I find them rather useless as they often tell me about videos I'd already seen a week before from the subscriptions page.
When I look at YouTube on my AppleTV, in the subscriptions area it'll show me videos from 5 years ago listed first, and videos from a few days ago buried among a bunch of unrelated videos from channels to which I'm not even subscribed.
YouTube is a mess right now. For example, if I go to see the latest clip from last nights various late night shows, it might show me one clip, then everything else is old or completely unrelated to my search.
I even uploaded two videos to my account, but only one of them shows up in my account. The other is there via direct link, but even when I’m logged in as me, it doesn’t show up at all.
Further, whomever created “G Suite” either hates users or is the worst product manager ever.
I bought a domain from google and added g suite for that domain.
It tied the domain to my personal gmail account, and it confuses which account services are tied to: now when I send an email from the new domain’s g suite gmail: any replies to those sent emails return to BoTH!! My personal gmail AND the new gmail account???
They have menu item that are inexplicably non-clickable. The links to things are black and thus not intuitively obvious they are links and a range of other problems.
You have to manage some items through your gmail, the other gmail, admin.google, domains.google etc it’s a freaking nightmare!
I have this feeling all the time with Maps. I remember distinctly a time in Boston when I was almost late for a meeting. I was running down the street looking for the office building (first time in town) and using Maps to find my way.
But Maps wouldn't let me look at a map. At all. It decided that "shake to provide feedback" was far more important and as I was in a rush down the street, was interrupted every 1-2 seconds by a huge popup in Maps, preventing me from using the product at all when I needed it.
Yes, I know the setting can be turned off. But what kind of default setting is that? Don't let the user use your product? Pretty sure nobody in the Android Maps team had let the office building once before that feature was shipped. It simply rendered the product unusable.
Edit: I don't mean to detract from the product. It's an incredible product. Obviously. But it has simple flaws that seem clear if you use Maps for even 1 day as a regular person.
Features like 'warn about location closure' and 'recenter screen after accidental touches' are great, but they're so aggressive that simple tasks like "let me scroll over and see where I'm going" involve consciously trying to outwit the UI.
It sort of feels like there's user testing or datagathering showing all false positive errors ("they bumped it then had to hit recenter"), but no data being counted up to see the false negatives ("they scrolled 15 times as undid each action").
A lot of Google products seem to be competing to become the new Clippy.
This is true. Using YouTube+Chomecast has never worked for me when driving. Once I ended up in a lake!
(I would like nav to notice every time I miss a turn it recommends, and if it's common for people to miss specific turns, take a closer look at what's going on there without requiring a user report. Maybe they already do this, I don't know.)
Man, this would be a great project for the Boston area also. The constant name-changes and lane alterations within what humans would call "the same road" give Google Maps fits. It's painfully common to hear "take the left lane..." and then suddenly get "using the right lane, turn right" when you've got 500 feet left and ten lanes to cross. Or, even more simply, to hear "turn left" and see 4-5 different left options. Google's definitions of "gentle" and "sharp" leave a lot to be desired.
It's not Google's fault, exactly - the roads here are an absolute mess - but it's certainly something they could do better with. I'm willing to bet the same mistakes happen at the same intersections hundreds of times a day.
It's Google's fault for deploying a product that isn't up to the task for which it is promoted.
But that's not unique to Google. You just have to look at Apple earbuds to see another example of "Works in Silicon Valley, so it must be fine everywhere else, too."
I don't know whether roads would become far more orderly, or if there would just be an plaza with every vehicle zipping past each other at weird angles.
Maybe it'd be this: https://www.youtube.com/watch?v=UIthEM6pDqw
In general, I'd love it if mapping apps wouldn't just say "this route includes tolls," but rather "this route includes tolls of $5.10" or however much, so I could decide whether saving 11 minutes is worth it.
But at least I wish they would notice that I always, always exist at Plano Parkway.
Google can track your shopping habits, your surfing habits, your eating habits, your viewing habits, and probably more habits than we know about.
But somehow driving the same route five sevenths of the week eludes it.
Now, I run my own (small) company and make sure I (and everyone else) does at least 2 1/2 days of support.
Support contact is not hidden away, we don't try and put up hurdle after hurdle to contact someone. You can contact us on any medium and is easy(ish) to be escalated to someone who can solve the problem, explain the issue.
Time and time again, customers state our support reputation was the reason why they purchased with us instead of other companies (even though a majority of them never actually get in contact with us)
Developers should definitely stay in touch with the end users and I'm a big fan of the principle, when camarades.com was still a thing we did something like this but on a much smaller fraction of the time.
Which helped in another aspect as well: if you get hired as a developer but you end up doing support half the time you will likely be looking to leave for a company where your job title matches the work that you do.
Initially, lots of complaints and pushback.
Afterwards, a lot more collaboration, emphasis on global vs local optimization, and dare I say increased empathy.
Highest functioning team I've ever worked on. I still miss it.
I'd observe dedicated customer support reps interacting with customers. In a digest. At 1.25x normal speed or faster. A written transcript would be even better. I can't imagine actually being the support person, with synchronous communications. It would be very stressful for me.
I really hope you disclose up-front in your job advertisements that the developer jobs are actually hybrid jobs that are 50% customer support representative.
I've seen it used effectively. I've had customers write in about a bug that I was able to solve almost immediately. No bug submission, no triage, and an apology from someone who wrote the code with the bug. This a) got us a super happy, referenceable customer, b) fixed a longstanding but infrequent bug with almost no overhead, and most importantly c) reminded me as an engineer that real people use the stuff I build.
I've seen other engineers fix long standing issues with password resets. I've seen designers tweak the language in welcome emails. I've seen a CEO fix a pricing issue on the fly during a live chat with a customer.
Being the support person also gives you empathy for the support people that support the things that you build, and to fix death by a thousand paper cut issues. That's how you afford support days: it makes your customers happier, increases customer retention, and fixes dumb inefficiencies of your support team.
"2 1/2" is 2.5, even by a generous reading. If it is not 2.5, that is an easily avoidable mistake in technical writing. A few more minutes proofreading the user manual could have saved you many half-days in support, señor.
It wouldn't be all on one day a week, because that would be "one day a week" rather than "two half-days a week". Again, presuming good technical writing. So a four-hour stint on support, twice per week. That's only 40% as bad as five half-day shifts per week.
I presume four hours. Obviously, "1/2 day" could also plausibly be 6 hours or 12 hours, or half of a work day of unspecified length, or a time equivalent to half of a work day, occurring at a time other than during ordinary business hours. He has previously mentioned he is available at any time, for paid customers, so somebody is checking the messages on weekends.
With respect to your anecdote, if you didn't write it down, it didn't happen. You still need to write up (and immediately close) the defect report, and attach the customer interaction reports. You don't work for the customer; you work for your company, who works for the customer. And the company needs to know what you did, and why it was necessary, because when you are gone, so is the portion of institutional knowledge that lived only in your head. Your story tells me that this everyone-on-support practice enables workers to cut corners in the development process. It's only more efficient until reaching a certain scale, at which point it becomes a liability.
Your story might also give a corporate attorney some stress. As a company employee, you should never apologize on behalf of the company in a way that even suggests the company might have been at fault for anything. That type of says-nothing, customer-placating apology is an acquired skill.
Would the apparent advantages remain if each person were required to go on a "ride-along" with a dedicated customer support person? Silently listen in on their interactions? Like pair programming, except the support person always does all the driving? That might also be useful with sales staff, to improve requirements definitions. Or with management, to smooth out inefficiencies in process and status monitoring. Why not just make the whole company developers, doing other people's jobs? Because even though developers might be objectively better at customer support than a customer support representative, the work done on customer support does not generate enough additional revenue to pay them a developer's wage while they are doing it. Economic specialization separates the jobs, and pays at different rates. People do what they are best at individually, and exchange the results via trade and communication. Cross-trained generalists only work at small scales.
That's why small, niche companies can run circles around established behemoths within their niche. But they can't scale bigger until they squeeze the reliance on robust individuals that apparently makes them so agile out of their system, and replace that with robust processes.
While every style guide I've ever read would say never to do this for exactly this ambiguity, they also would demand that two-and-one-half, expressed as a mixed fraction, would be presented as “2½” if a fraction character is available or “2-1/2” in media where that isn't an option. With “2 1/2” as two space-separated elements, “two one-half days” is a more natural reading, IMO, than “two-and-a-half days”.
12h = 50% 24-hour calendar day
6h = 50% global mean 12 hours of daylight
0h - 12h = 50% actual local hours of daylight
4h = 50% standard 8-hour workday
5h = 50% 8 AM to 6 PM business hours
??? = opening until midday break
??? = midday break until closing
Resolving ambiguity is a great job for a hyphen: 2-1/2 days = two-and-a-half days
2 1/2-days = two half-days
The rule to always hyphenate mixed fractions makes that explicit, although the hyphen is visually indistinguishable from a subtraction sign. Is it two minus a half? Which is why my personal rule is to never use mixed fractions, ever, for any reason, and to never write anything that looks like a mixed fraction. No style guide I have seen suggests 2+1/2, probably because some people might confuse (2+1)/2 with 2+(1/2). Just write 5/2 or 2.5 . (And if your number is at the end of a sentence, put a space between it and the period, so it won't be confused with a decimal point.)I mean I'm sure they could manage it and it'd be good for employment, but they're not going to.
Except in Ads. Those (almost) always work. The customers who spend here have dedicated technical contacts. Go figure.
Even then, it's not always ideal.
A few years ago I did AdWords for a company that dumped five figures every two weeks into Google Ads. Sure, we had our own person at Google assigned to us. But the person was reassigned to another department in Google every two months, and we ended up with someone new and wasting two or three days bringing them up to speed on our specific needs.
So during a five day week that's up to 50% of the time?
On the other hand, support duty means you're regularly interacting with people who have problems with your product, and they will commonly be either in a bad mood (due to stuff not working) or just run-of-the-mill assholes (because that's the people who tend to complain). That doesn't necessarily endear them to you, especially when you're not high on socialisation in the first place.
i encourage everyone to be like that.. when this does not help you can always 'scale up' your dissatisfaction in subsequent calls :)
I suppose that falls into the general "walk a mile in their shoes" wisdom.
The front-line implementor grunts in engineering whose rushed code is directly at fault? Middle management who wanted to keep their jobs and so didn't bark back? Upper management under pressure who found out too late that they'd over-promised?
Distant, disconnected ownership focused on the bottom line? Consumers in price-driven marketplaces? Economic theorists designing stock markets which aggressively sever any sense of local responsibility and turn publicly held companies into uncaring machines? Whatever or whoever created this cruel hard world?
Who among all those needs to have their noses rubbed in it when end-users suffer?
You may be misreading this thread/my comment though. The person receiving the angry support call is indeed unlikely to the one at fault for the customer's issue. However, the post you were replying to was making the point that it's good for the people who actually build the product to experience what it's like to support that product's users.
I have also got vitriolic, self-entitled emails from people who assume that I owe them something because they have downloaded my software. In one case, a user suggested I should kill myself (!!).
So yes, you should treat your users like human beings while also realising that in the open source world, you owe them nothing [1]. Do your best and don't worry about it after that.
[1] https://mikemcquaid.com/2018/03/19/open-source-maintainers-o...
EDIT: mispelling.
If Mr Irvine had tried to get the daily mail to remove an incorrect story he would have had as hard or harder time and all he would have got would be a 3 line retraction on page 35 in tiny print.
A website can be revised.
The isolation and disconnect you're observing is deliberate, and certainly facilitates the execution of the strategy. But higher up the chain is where the decisions are being made to distance the organization from its users.
This is difficult to do when much of what silicon valley produces is to serve, or promote, robotic habits and interactions.
There are sub-industries of tech that could not exist if they were forced to interact with, and respect, their customers on a human to human basis - the product and the intended end use of that product preclude that.
My users are my colleagues and friends, people I meet in the canteen and the pub.
I don't just find out about the problems they call support for, I also get to hear their minor niggles and workarounds.
I have become extremely concerned that many people who work in the Bay Area—or who work for companies based in the Bay Area—have, in the large, forgotten that their users are fellow human beings. I am turning more and more to the belief that _everyone_ in a company needs to have some unfiltered interaction with the company’s users on a regular basis.
Separating out the support process (to automation, to contractors, etc.) makes it easy to forget you’re not writing code to serve robots, you’re writing code to serve people.