It wasn't the weather - that was great. It wasn't the traffic - I grew up outside of chicago and lived all over the country. It's not fun, but it's not a big deal. It wasn't the cost of living - pay was commiserate with the increased costs.
I loved that the Frys was right down the street, that I could get great food from a million different cultures easily, and that there was so much to do and see and hear.
It was the people, though, that made it horrible. Shallow, money-oriented, image-driven, always so focused on labeling everyone: Suit, Hippy, LGBT Activist, Clubber, Gang Member, Artist, etc.
Story time: I worked at a big company in the area, we had 3 buildings on the campus I was on, each 3 floors, each with at least 1000 employees. At 4:30, I was working on my floor by myself. How do I know? The overhead fluorescents were sensor based, and only the one by my cube was still on. I was organizing test results in an excel sheet when I heard the mechanical 'ka-chunk' and humming noise that indicated another group of lights had just spun up.
It was the cleaning staff. I watched as each bank of lights turned on as they made their way down the path, a slow snake of lights as they explored the bin in each cube, till they arrived at mine.
He was an illegal. I'm not judging. He radiated it without shame. He wore that identity like a comfortable sweater, and exuded it in his body language and broken english. Folks like that probably don't get the acknowledgement they deserve, so I made it a point to always smile, make eye contact, and nod to them when I see them.
So I smile, make eyecontact, and nod at him. He looks at the screen, sees numbers, looks at me - young, working late by the standards of my coworkers - makes some sort of decision about social interactions - and starts giving me quetionable stock market tips in a thick Latin (or maybe Portuguese) accent.
So I thank him for that, smile broadly and make sure to include my eyes in the smile so he knows I appreciate it, make some statement about how work never seems to end for folks like us, and go back to it.
But internally, I'm putting him in the bucket with everyone else. He can't even speak english, and what he wants to do is talk stocks? This is a guy who - and yes, I am judging here a bit - probably hasn't got a legitimate bank account, much less trading account, and he vacuums office buildings for a living. Given his current situation, he does not instill within me the belief that he is a highly successful backchannel stock market advisor.... but that's not his fault. He seemed like a hard working, genuine person in all other ways. See, that's what this area does to you. You end up getting hollowed out, till you're focused on the money and outer appearances. You start thinking those are the most important things, the things that defines you and allows you to relate to others.
The mail guy (we were big enough to have an actual mail department) bought an 80,000 dollar car. He HAD to. He couldn't afford it, but he HAD to have it. He couldn't justify it any other way except that it was expected, knowing he had to, to be known, caring that others cared about him for his car.
That's my takeaway from the bay area. Nice place to visit, but for the people.
Ah yes. There's many, many, oh-so-many reasons to/not/ use open seating. Many studies have been done on this. For your HPE - 'High Productivity Employees', it's awful. For some groups, like marketing or sales, it may actually be helpful, some of the time. For any workers that don't need to continually and constantly collaborate and only occasionally need to get marching orders or coordinate, they have these things called 'meetings' that occur in an open-seating layout called 'meeting rooms'.
Yet for a design concept that originated in the 70's, with as much consideration as the design of the liver-shaped coffee table, it is still held to be a sign of a future-forward progressive workplace - and I don't even know what that's/objectively/ even supposed to mean. Seriously. I've asked. No one can point to a metric that you'd want to go up that's actually been shown, even in a subjective questionnaire form (like, before and after "Rate your morale on a scale of 1-10").
No, what you get is design firms convincing management that this is the right thing to do, and how happy they'll feel, and how empowered and collaborative and cross-project-discipline-y their workplace will be, and management eventually swallows the kool-aid and starts believing it.
This is worlds away from IBM's actual workplace design studies in the 50's and 60's where they found out that employees are 0.13% (or something, don't quote me on that) more efficient when the walls are painted a sort of pale yellow, and thanks for that trend, jerks. At least that was scientifically determined. This is just pretty-to-look at junk that no CEO worth their salt should ever consider signing off on, unless they NEED to make their workplace less functional.
"Some staff started to stick Post-It notes on the glass doors to mark their presence. However, the notes were removed because they detracted from the building's design, the people said."
Sure, you could make it FUNCTIONAL, but that's not what it's there for. It's there to look pretty, set standards, and impress folks for whom functionality is not a concern.
Design over functionality. *checks apple product line for the last decade* Yup. Pretty consistent.
Note, there is a thing called 'Good Design' that actually marries looks and functionality, but apple hasn't had a horse in that race for a good long time.
Facial morphology refers to the various traits and features in a face. For example, the distance between the eyes, or the eye slant, or cheek gaunt or whatever.
'White' people have the broadest range of diversity, in part because aside from the skin color, there's a lot of differences. Certain Asians, like the Han Chinese, have some of the least diversity (google for iphone face recognition matching two Chinese co-workers).
If you pick 20 key features as your unique code, and each of those key features has 20-30 distinct possible values, you can rely on reasonable uniqueness, even when some of those values have inter-relationships. When the diversity goes down, and 10 out of the 20 are not unique, and when the range of values those have is between 3 and 5, well, you'll have a lot more trouble differentiating people.
In fact, a studies shows that among a given ethnic group, actual real life people perform facial recognition on only a few features, but those features are always those traits that show the most variation. When you apply that same algorithm to another ethnicity, it doesn't work so well. You get racist-seeming phrases like, "They all look alike to me," when really the issue is that your specialized detection algorithm was never meant to deal with their differences.... and every group has this blindness. The one thing that's amusing is that because whites tend to have a large variety, they're the easiest to uniquely identify regardless of your personal/cultural/ethic technique. So, you can say things like "I can tell all you white people apart, you're racist for not being able to identify ME!" and think you're on the moral and ethical high road, when in fact, the situation is different from the other side.
The summary reports, "The investigators left without any evidence." They had a warrant, they could have grabbed the physical machinery. Depending on the type of data, they could have compelled the company to turn over access methods... Why no evidence?
Ah.
Because what they wanted was not physically present in the jurisdiction the warrant was issued in. They were trying to gain legal-on-their-side but likely considered unauthorized use and access of the company's intranet via an employee's existing login session. Like how some people might consider it totally fair to send themselves a copy of all the email you've ever sent because you left your phone unlocked or a browser open.
This is all based on an assumption, but I can't think of anything else that fits the bill. If so, that's pretty shady work on the part of the police. Replace 'Quebec' with any other country, or Uber with any other corporation (or agency) and the justification falls apart.
* It was okay for the _Foreign Government_ to access all the _Domestic Government agency emails_ because they (legally) confiscated a laptop that was still logged in. etc.
You might think this is the right thing to do when the target is someone you feel is morally bankrupt, like drug dealers, terrorists, uber, or westboro baptists, but that justification can just as easily be used by bad actors against peaceful protestors, political opponents, spouses, and so on.
I'd be more surprised if something like this isn't widely set as policy in any multinational company, especially those with subtle or overt government pressure against them or their country of origin. It's just good policy.
As long as we provide for eventual access to the secured location/object/mechanism/whatever, there will always be a way for an unauthorized person to overcome it. However, each layer reduces the number of individuals capable or willing to overcome it. Some of these may be small gains, but as long as the cost in accessibility (the legitimate user impact) is low, there's little reason not to add it.
To put it another way: if you're not going to lock it, it shouldn't matter much whether or not you leave your front door wide open, right? The reality is though, that you're lowering the opportunity cost for a thief, and it makes it more likely you'll be broken into.
Don't believe me? Leave your car door open the next time you're out shopping for food, and something valuable on the passenger seat.
So, yes, it's not providing much, but it's providing something at almost no cost.
I've been at this programming thing for 20 years. I've seen the cycles, I've worked for startups, I've worked for fortune 100 companies, I've been the grunt and the guy writing the script grunts use, I've managed, I've had to deal with every client from the guy who wrote the software I used to write his, to customers who couldn't spell IBM. I know this problem, and it still is a hard one to get right every time.
Like elegant programming constructs, it's obvious after the fact, so you're not going to be shocked about how to talk to them about it: Use terms that you both understand, in a CONTEXT you both understand.
99% of the time, that's a business context. "What did you do today?":
- "I wrote software to produce custom sales brochures so our sales people can personalize their pitch to the client: they're up 10% year over year!"
- "Ever get an alert on your phone saying someone might be using your credit card? I made it so you can say 'It was me,' by responding to the text message."
- "You know how a company has to keep track of everyone's payrolls and vacation days? Yeah, that was me."
- "Our warehouse has to scan thousands of packages, and I simplified their process so it takes a few seconds less. Sounds like nothing, but we can now handle nearly twice as many packages with the same number of people!"
They're not going to care if you used the flash in the pan framework of the week, or that you optimized a sort, or that you managed a tricky event based distributed caching mechanism, with all the problems cache invalidation requires you to solve. They won't even want to know that you identified a compiler issue and submitted a patch. They don't understand those things.
See ljw1004's post above, they get it.
Maybe this will clear things up in a context you're familiar with: You're tasked with integrating a single sign on solution from a vendor. Their spec shows a very basic REST API, and when you discuss it with the vendor's guys, they confirm it's pretty straight forward. So you write it up. But for some reason, the response looks like it's a SOAP response (and aside from you not sending a properly formatted request, it looks like there's an unrelated error that hints at a bad client configuration on their end) and when you talk to the tech on the other end and ask what you need to do to get SSO running with the REST interface, they say, "Oh, the problem is that you're not using a web UI with React and mongo to backend your data," and points you to an example he has running on his own personal desktop. He sends connection info with screenshots showing raw diagnostic screenspam - whipped up for personal debugging obviously. When you can't connect because it's internal to their network he explains that the fix is to migrate it all to the cloud, both your app and his.
Get the feeling that the guy on the other end has no idea what you asked, what your goal is (to get SSO working with REST), and in fact, he might not only be completely wrong - besides going off in the wrong direction - but that spending time dealing with him is now a liability to your work and workday? Like he's too enamored with his own pet project to actually treat you like a person?
This is what it's like for non-developers to hear developers speak about development in purely technical terms to non-developers. You don't need to 'bring it down to their level" - you're just speaking the wrong language. There's a crud load in their domain that you're not going to understand either, so you have to use terms, metrics, and values from the perspectives you do share.
You have to jump through a lot of hoops to get 'drop in' to work. You need a specific phone app (tablet or pc won't do it), you have to register your phone with the app which involves a multifactor authentication with a text to a legitimate cell phone number, then go to the 'conversation' icon and click through that to enable it on each device.
You also have to have a specific version of your cell phone's OS, only certain ones are supported (which in turn means only certain cell phones are supported).
There's an optional step where you tell it to f-off, and that it shouldn't have access to your contact list and add all of them as separate 'devices' so you can 'call _x_' or 'drop in _x_'. Just let it only add devices.
If you're adding someone else's device, they also have to perform a multifactor authentication to approve it. It's all a huge pain in the ass, and the most deliberate, shortest way is STILL a pain in the ass. I don't see how you'd dance through this accidentally. If you manage all that by accident, it's probably a good idea to stay away from any nuclear missile launch operation centers, just in case.
Something people overlook is that there's a world of difference between having talent, and having people around you recognize your talent.
This is especially the case with IT and software development. To quote "The Story of Mel":
I have often felt that programming is an art form, whose real value can only be appreciated by another versed in the same arcane art; there are lovely gems and brilliant coups hidden from human view and admiration, sometimes forever, by the very nature of the process.
Just like in your example, it seems like you recognized it, but no one else did. So how are your higher ups going to know his value?
As I pointed out in another post oh-so-long ago, communication is a force multiplier for pretty much whatever company position you occupy. If you (or your manager) isn't advertising you and promoting your successes to those higher up, you're gonna be first on the chopping block. 80% of the time, the guy who does nothing but talks a great game is the only visible one to the folks making the decisions.
In a company, talent isn't important. You need to be perceived as having talent that makes the company a profit, and whether or not that perception matches reality isn't really important.
What we need to do is make sure that everyone who does science gets a nobel participation trophy, to show that we value their work too. That will ensure the awards retain their meaning and value that so far has only been managed by exclusivity and competitive merit.
Seriously, a day 1 dev has direct production access? Hell, any dev has direct production access? No QA, no release management, no integration or functional test suite if they're doing some sort of continuous deployment?
It's a pain in the ass, but if they've got any sort of actual real database, they'll have had a real database admin, running it with archive logs they can use to restore their data?... plus their backups are gone?
I've been doing this for a long time, and it seems that long gone are the days when programmers merit an office, even a two-for, and now even our sound-dampening, can't-see-the-flow-of-traffic days are gone for some open plan layout where we're all sitting at bench tables and staring into the face of the person across from us, unable to work at anything less than 10% of our best.
Since I can't control the environment much, I control me as much as I can. If working from home is a possibility, I do that as often as is reasonable. If not, I try to make sure my hours overlap with as few individuals as possible. Before being sanctioned on it, I'd reserve one of the non-glass-wall meeting rooms for the whole day so I could work without distraction. I've opted to move my desk to somewhere less noisy on more than one occasion. Sometimes I'd just leave early and finish up late at night, or plan to come in a little earlier than normal.
The most important thing, however, was to explain to my manager at every opportunity that I was not in an environment where I was being given a chance to excel, and that it was hurting my output by some measurable number of hours a day. This showed up in work estimates, in singling out desk drive-bys to add more priority 1 items, and so on. Once I was in a leadership position, I included the troubles my team would have with excessive meetings and even general office noise.
Your managers need to know that you could be doing better work for the company, and they're only going to find out if you tell them - and perhaps offer constructive alternatives to achieving that goal.
None of it is a panacea, but at some level, the best you can do is cope and let those above you know that you could do much better if you were given a chance. Then try to remember that this is how the company you're employed at is choosing to use your time. If they don't see it as wasteful, and they're happy with what you do, you may just have to live with it.
One of the reasons why songs are getting shorter is due to the way digital record sales accounting is being done. If you can make an album with 30 songs, all 2 minutes long, it counts more towards your sales than 15 songs at 4 minutes a pop. When you have services that count as streaming albums (Rather than individual songs), this makes it really easy to add some numbers. If the artists are paid per song, it's just a good financial choice.
Not only that, streaming songs counts towards RIAA platinum record qualifications. It takes 1500 streams from an album to equal 1 an album 'sale'. Make them all short songs, you'll get more digital oompf per album. You could stick 40 short songs on an album, and you see artists doing that sort of thing already.
Wrote about this several times before. To steal from one of my previous posts...
I'll summarize it for you all though. In order to avoid a situation where the majority are unsustainably poor and ready to revolt, we'll need to meet the following criteria:
- Every country in the world needs to be at about the same technological level at about the same time
- Every government in the world (and all the people within them) embrace strong socialist beliefs that make current socialist states look like anarchists
- We need to abolish the concept that work is directly related to value, and in turn, diminish the concept that scarcity and demand have real impact on value.
- We have to accept that there is going to be a sizable number of people in the world who add no value to society or the world, and simply exist as consumers
The average person would have a trade skill that they use when they feel like it, perhaps no more than 1-3 hours a week, live in a house or home they like, and their things (clothing, devices, transportation, food etc) would be freely given to them with only limits placed on quantity by need - for example, no one needs more than 1 car, but you might - from time to time- need a truck or a motorcycle. There'd be no such thing as money, private ownership of property (items & land) is almost completely gone, and naturally limited resources would be metered out by some merit plus popularity based system, so not everyone would have a starship, for example.... but the reality is that we're probably going to have to go through at least one, if not more cycles of horrific violence or strife, to the point that it forces us to radically redefine our thoughts and behaviors. We're just too caught up in concepts of justice-as-defined-by-the-beholder, us-vs-them, and so on to do it right now.
Having lived in silicon valley for a while, my perception is that the biggest issue is not the paycheck to housing ratio, it's the people.
There's still a culture of one-ups-man-ship, of style over substance. When I worked for a large company there, the mail boy - we had several large buildings on our campus and an honest to goodness mail department - had a 90,000 dollar car. He couldn't _afford_ a 90,000 dollar car, but he knew he HAD to have it.
What I saw was that everyone in the 20's to 40's were living paycheck to paycheck by choice. They'd blow $40 cover charge to get into a slightly more trendy place with $15 dollar shots and an (overpriced) oyster bar, go to all the trendy restaurants, and spare no expense on clothing, electronics, or entertainment. Whereas I had a small cadre of folks that played dungeons and dragons and went to the 24 hour bowling place and played $5 lanes and drank cheap beer.
I haven't seen much change in that attitude. Take young people with no real obligations or life experience, give them a paycheck with lots of zeros at the end, and yeah, they're going to blow it all. No surprise.
We have people barely able to tie their shoes who get bored at their low/no-skill minimum wage job now, and they're going to be the first to be replaced. What's going to happen when we turn over their jobs to super smart AI-powered machines? Are fast food order kiosks gonna be the start of the robot uprising?... and what a boring way to begin a sci fi novel: "Day 1 of the robot uprising: exactly 13.74% of the McDonalds orders for large sodas were substituted with medium sodas, a precise amount calculated to cause the maximum dissatisfaction without rising to a level where we would be alerted. We didn't know it, but it was already too late. They had already calculated every possible move. On Day 2, there was nothing to stop them from adding pickles to orders that expressly asked for no pickles. It was the end times."
I'll append ruby on rails groups to the list, but python stays in it.
Ask a simple question, and even the best of them want to question why you're doing something in that way, and refuse to provide anything helpful even if you are trying just to find docs for one of the 2 or 3 poorly written GUI frameworks for it, or attempting to translate a construct from one language to python as a point of reference.
I've been writing code for a good long while, and I've never encountered such a consistently unhelpful bunch of folks. That they're acting pretentious about a scripting language is not even upsetting, it's just sorta sad.
Just avoid the python groups, and you'll avoid the spots where most of these sorts of people hang out.
In a more serious vein, I haven't seen this happening excessively. I've spent a good deal of time on a large number of forums and irc channels, and by and large, this doesn't seem to be happening frequently in the way you describe. I'm not saying that you haven't experienced this, it's just that in the last 20 years, there haven't been a lot of know-nothing folks just spamming "you suck noob" to any given question.
I can guess why; in any technical discussion it quickly becomes apparent who does and does not know what they're talking about. In fact, many quickly devolve into a special-case-knowledge comparison contest. The unhelpful person is ignored or derided by the masses as a whole. They quickly leave. That's why they're just not around.
That being said, what I have seen is people asking other people to do their work for them, including but not limited to: easily googleable questions, questions specified explicitly by documentation, questions that require more information to answer than is given, questions that could easily be answered by trying it out in a test, and so on. 95% of the time, these folks are inexperienced in technical forums as a whole, and don't understand that they're being lazy and trying to shift work they could easily do onto others because of it.
This is irritating, especially in channels of 300+ people with new folks jumping in and asking a single question and popping out, never to contribute, once every 2-3 minutes. Especially when many of them appear to be homework.
As long as we are going to treat education as a commodity - and we are, since it's so tightly coupled with the more lucrative careers and degrees exist as a primary requirement for those positions - we need to bring that into focus at all levels.
The easiest way I can think of doing that is simply to require the college itself to co-sign the student loans, so they're on the hook if the student defaults or it's not paid off after a certain period of time - say 10-20 years.
This should have the following impact:
- The college will not accept students who select majors which do not have the potential for a valuable career, who must also take out sizable loans
- Colleges will adjust their own actual costs downwards, since they are in effect, potentially charging themselves.
- Colleges will be more invested in each individual student's academic success, both in quality and completion of education.
- Degrees will increase in value as the effective supply is restricted.
Now, for those who think that effectively removing non-payout educations is a bad idea, consider this: the students who follow those majors and accrue massive debt are indulging in a luxury. They are buying something they cannot afford which does not have a reasonable potential to afford them a chance to pay it back, much less provide a means to a livelihood. Remember, education is a commodity. This is no different than an 18 year old buying a 100,000 dollar car, on credit. It has no real potential for return on investment, even if you feel it's personally enriching.
Yes, if you're rich, you can afford a luxury like a fancy car or art history degree. Or seen from another angle, you can take riskier investments because you have a better safety net.
*record scratch* Ok, stop, I know what you're thinking. That makes certain degrees only accessible to the elites, and that's unfair.
Well, you're wrong. It's fair. It's a LUXURY. It's not necessary. An education has a finite, specific value, an estimable potential, and it's tied strongly into the socio-economic environment. So many participants - students and faculty alike - fail to realize this very important part. *music continues*
Of course, if someone were to break the education/commodity relationship, perhaps by making education free, we could reap the benefits to society that education in non-lucrative majors purport to provide - such as art and music - which do not financially enrich the individuals. However, that doesn't seem to be happening, and besides, there's no measurable way to claim that these individuals DO contribute their potential to society in any greater amount than those who are not similarly educated.
Sure, it may ~technically~ be a shorter distance to cross the street, but when it can tell the average speed on both sides of the street is 2 mph, each side has 3 lanes plus 1 or 2 turn lanes, and I'm coming from a side street with no light, it should realize that I'm going to be sitting there for an hour until 6-8 good Samaritans show up at exactly the same time to let me across.... or it could have added 8 seconds, had me take a right onto the crossroad at a light further up, a quick jaunt down the road, and a left across only 3 lanes from the turn!
There's a bunch of common-sense updates people could be making in these things.
Motivations aside, remember when the climate skeptics said, "Make the raw data public so we can analyze it!" and actual government agencies, supposedly working for the public were like, "nooooooooooo. You wouldn't understand it the right way, so we can't do that! We only show it to certain people that we've pre-vetted to ensure that they think like us. We'll release these summarized graphs that prove our point!"
Yeah, ignore the fact that the whole of science actually works when people share their ideas and findings, and in this case, it's not like they were protecting monetized corporate secrets or anything. There was really nothing stopping them from widely distributing this data, and not in fits and bursts and rollups rather than raw.
Well, good going, now you've screwed. I hope you choke on the fruits of your labor, it's what you deserve from so highly politicizing your science.
To be fair, this is the standard, accepted mechanism for dealing with any emotionally charged issue today. What people FEEL about it is considered more valid than the facts of the matter, to the point that asking for, much less providing and citing facts is considered politically incorrect on one side and unpatriotic/traitorous on the other.
For example;
- any reason other than sexism for male/female hiring rates, pay differences, or if there is a wage gap
- any reason other than racism for black crime rates, including victim and convicted rates
- gun ownership demographics compared to violent crime involving guns
- the 'war on drugs' and discussions of what its achieved
- anything about abortion
etc.
The problem is that the loudest voices are often the craziest or zaniest, and that gets the most headlines in an era where invoking moral outrage and shouting down an argument is considered a critical public debate technique. Calm analysis is considered a trademark of 'the elite', where 'the elite' is anyone who is an authority on a subject but doesn't agree with the listener, and therefore can be ignored as the mouthpiece some collective, coordinated socio-facist attempt to force people to think in a specific way.
Right now, the majority of people writing code are writing code because they're being paid to do so, either by individuals or more likely, a business.
Those people, in turn, are not hiring programmers purely for altruism, they're doing it to achieve some goal, usually profit, increase in efficiency, and so on. They have to cope with estimating the curve for diminishing returns. They can figure out having a product that works 95% of the time, or one that works 96% of the time but costs 2x as much and takes 3x as long to develop may or may not be worth it.... and ignore for now that developers are pretty bad at estimating project efforts as a whole, much less individual pieces of code.
There's no incentive for these employers to pay their people to produce 'perfect' code. Even in the field of medical devices or self driving cars or a number of other systems, there's still a point of diminishing returns, and largely the business determines it based on market expectations, and adjusts it based on market reactions (no one will buy a self-driving car that crashes 1/5'th of the time, but they might buy one that crashes only 1 in 500,000 times).
So developers aren't going to be given the time and other resources required to write perfect code. There will always be a balance between time, money, and quality, and outside of hobbists and a few industries, that'll never change. Unless there's some requirement that it change.
I think it's very likely that in the near future, we'll have legal regulation regarding software that runs in certain environments; medical and transportation industry is very likely, but also public works like water or power management subsystems. On the other hand, there's really no reason to engage the entertainment or office productivity industry, and that includes cell phones and most personal computer apps.
What form this regulation will take, I can't tell you, but due to the very nature of the process, it can be very difficult to detect flaws. My guess is that it'll be more of a fine-upon-discovery mechanism. Again, not much different than how we work now, with the added difficulty of a legal fine on top of market loss.
Of course, were I in this situation, I would assign the rights of software bundles to do-nothing child corporations that act as defacto owners of the code, and then declare bankruptcy due to the cost of fixing the software AND paying fines. At the same time, child corporation 2.0 has a wholly compatible new app that will fix that issue...
but that's me - I'm a problem solver, and this is just a paperwork issue.
It wasn't the weather - that was great.
It wasn't the traffic - I grew up outside of chicago and lived all over the country. It's not fun, but it's not a big deal.
It wasn't the cost of living - pay was commiserate with the increased costs.
I loved that the Frys was right down the street, that I could get great food from a million different cultures easily, and that there was so much to do and see and hear.
It was the people, though, that made it horrible. Shallow, money-oriented, image-driven, always so focused on labeling everyone: Suit, Hippy, LGBT Activist, Clubber, Gang Member, Artist, etc.
Story time: I worked at a big company in the area, we had 3 buildings on the campus I was on, each 3 floors, each with at least 1000 employees. At 4:30, I was working on my floor by myself. How do I know? The overhead fluorescents were sensor based, and only the one by my cube was still on. I was organizing test results in an excel sheet when I heard the mechanical 'ka-chunk' and humming noise that indicated another group of lights had just spun up.
It was the cleaning staff. I watched as each bank of lights turned on as they made their way down the path, a slow snake of lights as they explored the bin in each cube, till they arrived at mine.
He was an illegal. I'm not judging. He radiated it without shame. He wore that identity like a comfortable sweater, and exuded it in his body language and broken english. Folks like that probably don't get the acknowledgement they deserve, so I made it a point to always smile, make eye contact, and nod to them when I see them.
So I smile, make eyecontact, and nod at him. He looks at the screen, sees numbers, looks at me - young, working late by the standards of my coworkers - makes some sort of decision about social interactions - and starts giving me quetionable stock market tips in a thick Latin (or maybe Portuguese) accent.
So I thank him for that, smile broadly and make sure to include my eyes in the smile so he knows I appreciate it, make some statement about how work never seems to end for folks like us, and go back to it.
But internally, I'm putting him in the bucket with everyone else. He can't even speak english, and what he wants to do is talk stocks? This is a guy who - and yes, I am judging here a bit - probably hasn't got a legitimate bank account, much less trading account, and he vacuums office buildings for a living. Given his current situation, he does not instill within me the belief that he is a highly successful backchannel stock market advisor. ... but that's not his fault. He seemed like a hard working, genuine person in all other ways. See, that's what this area does to you. You end up getting hollowed out, till you're focused on the money and outer appearances. You start thinking those are the most important things, the things that defines you and allows you to relate to others.
The mail guy (we were big enough to have an actual mail department) bought an 80,000 dollar car. He HAD to. He couldn't afford it, but he HAD to have it. He couldn't justify it any other way except that it was expected, knowing he had to, to be known, caring that others cared about him for his car.
That's my takeaway from the bay area. Nice place to visit, but for the people.
Ah yes. There's many, many, oh-so-many reasons to /not/ use open seating. Many studies have been done on this. For your HPE - 'High Productivity Employees', it's awful. For some groups, like marketing or sales, it may actually be helpful, some of the time. For any workers that don't need to continually and constantly collaborate and only occasionally need to get marching orders or coordinate, they have these things called 'meetings' that occur in an open-seating layout called 'meeting rooms'.
Yet for a design concept that originated in the 70's, with as much consideration as the design of the liver-shaped coffee table, it is still held to be a sign of a future-forward progressive workplace - and I don't even know what that's /objectively/ even supposed to mean. Seriously. I've asked. No one can point to a metric that you'd want to go up that's actually been shown, even in a subjective questionnaire form (like, before and after "Rate your morale on a scale of 1-10").
No, what you get is design firms convincing management that this is the right thing to do, and how happy they'll feel, and how empowered and collaborative and cross-project-discipline-y their workplace will be, and management eventually swallows the kool-aid and starts believing it.
This is worlds away from IBM's actual workplace design studies in the 50's and 60's where they found out that employees are 0.13% (or something, don't quote me on that) more efficient when the walls are painted a sort of pale yellow, and thanks for that trend, jerks. At least that was scientifically determined. This is just pretty-to-look at junk that no CEO worth their salt should ever consider signing off on, unless they NEED to make their workplace less functional.
"Some staff started to stick Post-It notes on the glass doors to mark their presence. However, the notes were removed because they detracted from the building's design, the people said."
Sure, you could make it FUNCTIONAL, but that's not what it's there for. It's there to look pretty, set standards, and impress folks for whom functionality is not a concern.
Design over functionality. *checks apple product line for the last decade* Yup. Pretty consistent.
Note, there is a thing called 'Good Design' that actually marries looks and functionality, but apple hasn't had a horse in that race for a good long time.
Facial morphology refers to the various traits and features in a face. For example, the distance between the eyes, or the eye slant, or cheek gaunt or whatever.
'White' people have the broadest range of diversity, in part because aside from the skin color, there's a lot of differences. Certain Asians, like the Han Chinese, have some of the least diversity (google for iphone face recognition matching two Chinese co-workers).
If you pick 20 key features as your unique code, and each of those key features has 20-30 distinct possible values, you can rely on reasonable uniqueness, even when some of those values have inter-relationships. When the diversity goes down, and 10 out of the 20 are not unique, and when the range of values those have is between 3 and 5, well, you'll have a lot more trouble differentiating people.
In fact, a studies shows that among a given ethnic group, actual real life people perform facial recognition on only a few features, but those features are always those traits that show the most variation. When you apply that same algorithm to another ethnicity, it doesn't work so well. You get racist-seeming phrases like, "They all look alike to me," when really the issue is that your specialized detection algorithm was never meant to deal with their differences. ... and every group has this blindness. The one thing that's amusing is that because whites tend to have a large variety, they're the easiest to uniquely identify regardless of your personal/cultural/ethic technique. So, you can say things like "I can tell all you white people apart, you're racist for not being able to identify ME!" and think you're on the moral and ethical high road, when in fact, the situation is different from the other side.
The summary reports, "The investigators left without any evidence." They had a warrant, they could have grabbed the physical machinery. Depending on the type of data, they could have compelled the company to turn over access methods... Why no evidence?
Ah.
Because what they wanted was not physically present in the jurisdiction the warrant was issued in. They were trying to gain legal-on-their-side but likely considered unauthorized use and access of the company's intranet via an employee's existing login session. Like how some people might consider it totally fair to send themselves a copy of all the email you've ever sent because you left your phone unlocked or a browser open.
This is all based on an assumption, but I can't think of anything else that fits the bill. If so, that's pretty shady work on the part of the police. Replace 'Quebec' with any other country, or Uber with any other corporation (or agency) and the justification falls apart.
* It was okay for the _Foreign Government_ to access all the _Domestic Government agency emails_ because they (legally) confiscated a laptop that was still logged in.
etc.
You might think this is the right thing to do when the target is someone you feel is morally bankrupt, like drug dealers, terrorists, uber, or westboro baptists, but that justification can just as easily be used by bad actors against peaceful protestors, political opponents, spouses, and so on.
I'd be more surprised if something like this isn't widely set as policy in any multinational company, especially those with subtle or overt government pressure against them or their country of origin. It's just good policy.
As long as we provide for eventual access to the secured location/object/mechanism/whatever, there will always be a way for an unauthorized person to overcome it. However, each layer reduces the number of individuals capable or willing to overcome it. Some of these may be small gains, but as long as the cost in accessibility (the legitimate user impact) is low, there's little reason not to add it.
To put it another way: if you're not going to lock it, it shouldn't matter much whether or not you leave your front door wide open, right? The reality is though, that you're lowering the opportunity cost for a thief, and it makes it more likely you'll be broken into.
Don't believe me? Leave your car door open the next time you're out shopping for food, and something valuable on the passenger seat.
So, yes, it's not providing much, but it's providing something at almost no cost.
I've been at this programming thing for 20 years. I've seen the cycles, I've worked for startups, I've worked for fortune 100 companies, I've been the grunt and the guy writing the script grunts use, I've managed, I've had to deal with every client from the guy who wrote the software I used to write his, to customers who couldn't spell IBM. I know this problem, and it still is a hard one to get right every time.
Like elegant programming constructs, it's obvious after the fact, so you're not going to be shocked about how to talk to them about it: Use terms that you both understand, in a CONTEXT you both understand.
99% of the time, that's a business context. "What did you do today?":
- "I wrote software to produce custom sales brochures so our sales people can personalize their pitch to the client: they're up 10% year over year!"
- "Ever get an alert on your phone saying someone might be using your credit card? I made it so you can say 'It was me,' by responding to the text message."
- "You know how a company has to keep track of everyone's payrolls and vacation days? Yeah, that was me."
- "Our warehouse has to scan thousands of packages, and I simplified their process so it takes a few seconds less. Sounds like nothing, but we can now handle nearly twice as many packages with the same number of people!"
They're not going to care if you used the flash in the pan framework of the week, or that you optimized a sort, or that you managed a tricky event based distributed caching mechanism, with all the problems cache invalidation requires you to solve. They won't even want to know that you identified a compiler issue and submitted a patch. They don't understand those things.
See ljw1004's post above, they get it.
Maybe this will clear things up in a context you're familiar with: You're tasked with integrating a single sign on solution from a vendor. Their spec shows a very basic REST API, and when you discuss it with the vendor's guys, they confirm it's pretty straight forward. So you write it up. But for some reason, the response looks like it's a SOAP response (and aside from you not sending a properly formatted request, it looks like there's an unrelated error that hints at a bad client configuration on their end) and when you talk to the tech on the other end and ask what you need to do to get SSO running with the REST interface, they say, "Oh, the problem is that you're not using a web UI with React and mongo to backend your data," and points you to an example he has running on his own personal desktop. He sends connection info with screenshots showing raw diagnostic screenspam - whipped up for personal debugging obviously. When you can't connect because it's internal to their network he explains that the fix is to migrate it all to the cloud, both your app and his.
Get the feeling that the guy on the other end has no idea what you asked, what your goal is (to get SSO working with REST), and in fact, he might not only be completely wrong - besides going off in the wrong direction - but that spending time dealing with him is now a liability to your work and workday? Like he's too enamored with his own pet project to actually treat you like a person?
This is what it's like for non-developers to hear developers speak about development in purely technical terms to non-developers. You don't need to 'bring it down to their level" - you're just speaking the wrong language. There's a crud load in their domain that you're not going to understand either, so you have to use terms, metrics, and values from the perspectives you do share.
You have to jump through a lot of hoops to get 'drop in' to work. You need a specific phone app (tablet or pc won't do it), you have to register your phone with the app which involves a multifactor authentication with a text to a legitimate cell phone number, then go to the 'conversation' icon and click through that to enable it on each device.
You also have to have a specific version of your cell phone's OS, only certain ones are supported (which in turn means only certain cell phones are supported).
There's an optional step where you tell it to f-off, and that it shouldn't have access to your contact list and add all of them as separate 'devices' so you can 'call _x_' or 'drop in _x_'. Just let it only add devices.
If you're adding someone else's device, they also have to perform a multifactor authentication to approve it. It's all a huge pain in the ass, and the most deliberate, shortest way is STILL a pain in the ass. I don't see how you'd dance through this accidentally. If you manage all that by accident, it's probably a good idea to stay away from any nuclear missile launch operation centers, just in case.
Something people overlook is that there's a world of difference between having talent, and having people around you recognize your talent.
This is especially the case with IT and software development. To quote "The Story of Mel":
I have often felt that programming is an art form,
whose real value can only be appreciated
by another versed in the same arcane art;
there are lovely gems and brilliant coups
hidden from human view and admiration, sometimes forever,
by the very nature of the process.
Just like in your example, it seems like you recognized it, but no one else did. So how are your higher ups going to know his value?
As I pointed out in another post oh-so-long ago, communication is a force multiplier for pretty much whatever company position you occupy. If you (or your manager) isn't advertising you and promoting your successes to those higher up, you're gonna be first on the chopping block. 80% of the time, the guy who does nothing but talks a great game is the only visible one to the folks making the decisions.
In a company, talent isn't important. You need to be perceived as having talent that makes the company a profit, and whether or not that perception matches reality isn't really important.
What we need to do is make sure that everyone who does science gets a nobel participation trophy, to show that we value their work too. That will ensure the awards retain their meaning and value that so far has only been managed by exclusivity and competitive merit.
Well, not the next one, but in the plus version of the next one, for a premium price.
Remember, apple isn't a technology company, they're a luxury brand marketing company.
Seriously, a day 1 dev has direct production access? Hell, any dev has direct production access? No QA, no release management, no integration or functional test suite if they're doing some sort of continuous deployment?
It's a pain in the ass, but if they've got any sort of actual real database, they'll have had a real database admin, running it with archive logs they can use to restore their data? ... plus their backups are gone?
What sort of fly-by-night operation is this?
I've been doing this for a long time, and it seems that long gone are the days when programmers merit an office, even a two-for, and now even our sound-dampening, can't-see-the-flow-of-traffic days are gone for some open plan layout where we're all sitting at bench tables and staring into the face of the person across from us, unable to work at anything less than 10% of our best.
Since I can't control the environment much, I control me as much as I can. If working from home is a possibility, I do that as often as is reasonable. If not, I try to make sure my hours overlap with as few individuals as possible. Before being sanctioned on it, I'd reserve one of the non-glass-wall meeting rooms for the whole day so I could work without distraction. I've opted to move my desk to somewhere less noisy on more than one occasion. Sometimes I'd just leave early and finish up late at night, or plan to come in a little earlier than normal.
The most important thing, however, was to explain to my manager at every opportunity that I was not in an environment where I was being given a chance to excel, and that it was hurting my output by some measurable number of hours a day. This showed up in work estimates, in singling out desk drive-bys to add more priority 1 items, and so on. Once I was in a leadership position, I included the troubles my team would have with excessive meetings and even general office noise.
Your managers need to know that you could be doing better work for the company, and they're only going to find out if you tell them - and perhaps offer constructive alternatives to achieving that goal.
None of it is a panacea, but at some level, the best you can do is cope and let those above you know that you could do much better if you were given a chance. Then try to remember that this is how the company you're employed at is choosing to use your time. If they don't see it as wasteful, and they're happy with what you do, you may just have to live with it.
One of the reasons why songs are getting shorter is due to the way digital record sales accounting is being done. If you can make an album with 30 songs, all 2 minutes long, it counts more towards your sales than 15 songs at 4 minutes a pop. When you have services that count as streaming albums (Rather than individual songs), this makes it really easy to add some numbers. If the artists are paid per song, it's just a good financial choice.
Not only that, streaming songs counts towards RIAA platinum record qualifications. It takes 1500 streams from an album to equal 1 an album 'sale'. Make them all short songs, you'll get more digital oompf per album. You could stick 40 short songs on an album, and you see artists doing that sort of thing already.
Wrote about this several times before. To steal from one of my previous posts...
I'll summarize it for you all though. In order to avoid a situation where the majority are unsustainably poor and ready to revolt, we'll need to meet the following criteria:
- Every country in the world needs to be at about the same technological level at about the same time
- Every government in the world (and all the people within them) embrace strong socialist beliefs that make current socialist states look like anarchists
- We need to abolish the concept that work is directly related to value, and in turn, diminish the concept that scarcity and demand have real impact on value.
- We have to accept that there is going to be a sizable number of people in the world who add no value to society or the world, and simply exist as consumers
The average person would have a trade skill that they use when they feel like it, perhaps no more than 1-3 hours a week, live in a house or home they like, and their things (clothing, devices, transportation, food etc) would be freely given to them with only limits placed on quantity by need - for example, no one needs more than 1 car, but you might - from time to time- need a truck or a motorcycle. There'd be no such thing as money, private ownership of property (items & land) is almost completely gone, and naturally limited resources would be metered out by some merit plus popularity based system, so not everyone would have a starship, for example. ... but the reality is that we're probably going to have to go through at least one, if not more cycles of horrific violence or strife, to the point that it forces us to radically redefine our thoughts and behaviors. We're just too caught up in concepts of justice-as-defined-by-the-beholder, us-vs-them, and so on to do it right now.
Having lived in silicon valley for a while, my perception is that the biggest issue is not the paycheck to housing ratio, it's the people.
There's still a culture of one-ups-man-ship, of style over substance. When I worked for a large company there, the mail boy - we had several large buildings on our campus and an honest to goodness mail department - had a 90,000 dollar car. He couldn't _afford_ a 90,000 dollar car, but he knew he HAD to have it.
What I saw was that everyone in the 20's to 40's were living paycheck to paycheck by choice. They'd blow $40 cover charge to get into a slightly more trendy place with $15 dollar shots and an (overpriced) oyster bar, go to all the trendy restaurants, and spare no expense on clothing, electronics, or entertainment. Whereas I had a small cadre of folks that played dungeons and dragons and went to the 24 hour bowling place and played $5 lanes and drank cheap beer.
I haven't seen much change in that attitude. Take young people with no real obligations or life experience, give them a paycheck with lots of zeros at the end, and yeah, they're going to blow it all. No surprise.
We have people barely able to tie their shoes who get bored at their low/no-skill minimum wage job now, and they're going to be the first to be replaced. What's going to happen when we turn over their jobs to super smart AI-powered machines? Are fast food order kiosks gonna be the start of the robot uprising? ... and what a boring way to begin a sci fi novel: "Day 1 of the robot uprising: exactly 13.74% of the McDonalds orders for large sodas were substituted with medium sodas, a precise amount calculated to cause the maximum dissatisfaction without rising to a level where we would be alerted. We didn't know it, but it was already too late. They had already calculated every possible move. On Day 2, there was nothing to stop them from adding pickles to orders that expressly asked for no pickles. It was the end times."
I'll append ruby on rails groups to the list, but python stays in it.
Ask a simple question, and even the best of them want to question why you're doing something in that way, and refuse to provide anything helpful even if you are trying just to find docs for one of the 2 or 3 poorly written GUI frameworks for it, or attempting to translate a construct from one language to python as a point of reference.
I've been writing code for a good long while, and I've never encountered such a consistently unhelpful bunch of folks. That they're acting pretentious about a scripting language is not even upsetting, it's just sorta sad.
Just avoid the python groups, and you'll avoid the spots where most of these sorts of people hang out.
In a more serious vein, I haven't seen this happening excessively. I've spent a good deal of time on a large number of forums and irc channels, and by and large, this doesn't seem to be happening frequently in the way you describe. I'm not saying that you haven't experienced this, it's just that in the last 20 years, there haven't been a lot of know-nothing folks just spamming "you suck noob" to any given question.
I can guess why; in any technical discussion it quickly becomes apparent who does and does not know what they're talking about. In fact, many quickly devolve into a special-case-knowledge comparison contest. The unhelpful person is ignored or derided by the masses as a whole. They quickly leave. That's why they're just not around.
That being said, what I have seen is people asking other people to do their work for them, including but not limited to: easily googleable questions, questions specified explicitly by documentation, questions that require more information to answer than is given, questions that could easily be answered by trying it out in a test, and so on. 95% of the time, these folks are inexperienced in technical forums as a whole, and don't understand that they're being lazy and trying to shift work they could easily do onto others because of it.
This is irritating, especially in channels of 300+ people with new folks jumping in and asking a single question and popping out, never to contribute, once every 2-3 minutes. Especially when many of them appear to be homework.
The best option for these folks is to ask them to read http://www.catb.org/~esr/faqs/... , especially the whole of http://www.catb.org/~esr/faqs/... , before asking another question.
As long as we are going to treat education as a commodity - and we are, since it's so tightly coupled with the more lucrative careers and degrees exist as a primary requirement for those positions - we need to bring that into focus at all levels.
The easiest way I can think of doing that is simply to require the college itself to co-sign the student loans, so they're on the hook if the student defaults or it's not paid off after a certain period of time - say 10-20 years.
This should have the following impact:
- The college will not accept students who select majors which do not have the potential for a valuable career, who must also take out sizable loans
- Colleges will adjust their own actual costs downwards, since they are in effect, potentially charging themselves.
- Colleges will be more invested in each individual student's academic success, both in quality and completion of education.
- Degrees will increase in value as the effective supply is restricted.
Now, for those who think that effectively removing non-payout educations is a bad idea, consider this: the students who follow those majors and accrue massive debt are indulging in a luxury. They are buying something they cannot afford which does not have a reasonable potential to afford them a chance to pay it back, much less provide a means to a livelihood. Remember, education is a commodity. This is no different than an 18 year old buying a 100,000 dollar car, on credit. It has no real potential for return on investment, even if you feel it's personally enriching.
Yes, if you're rich, you can afford a luxury like a fancy car or art history degree. Or seen from another angle, you can take riskier investments because you have a better safety net.
*record scratch*
Ok, stop, I know what you're thinking. That makes certain degrees only accessible to the elites, and that's unfair.
Well, you're wrong. It's fair. It's a LUXURY. It's not necessary. An education has a finite, specific value, an estimable potential, and it's tied strongly into the socio-economic environment. So many participants - students and faculty alike - fail to realize this very important part.
*music continues*
Of course, if someone were to break the education/commodity relationship, perhaps by making education free, we could reap the benefits to society that education in non-lucrative majors purport to provide - such as art and music - which do not financially enrich the individuals. However, that doesn't seem to be happening, and besides, there's no measurable way to claim that these individuals DO contribute their potential to society in any greater amount than those who are not similarly educated.
How about making sure directions are rational?
Sure, it may ~technically~ be a shorter distance to cross the street, but when it can tell the average speed on both sides of the street is 2 mph, each side has 3 lanes plus 1 or 2 turn lanes, and I'm coming from a side street with no light, it should realize that I'm going to be sitting there for an hour until 6-8 good Samaritans show up at exactly the same time to let me across. ... or it could have added 8 seconds, had me take a right onto the crossroad at a light further up, a quick jaunt down the road, and a left across only 3 lanes from the turn!
There's a bunch of common-sense updates people could be making in these things.
Gibson's description of robot control: Every AI ever built has an electromagnetic shotgun wired to its forehead.
Motivations aside, remember when the climate skeptics said, "Make the raw data public so we can analyze it!" and actual government agencies, supposedly working for the public were like, "nooooooooooo. You wouldn't understand it the right way, so we can't do that! We only show it to certain people that we've pre-vetted to ensure that they think like us. We'll release these summarized graphs that prove our point!"
Yeah, ignore the fact that the whole of science actually works when people share their ideas and findings, and in this case, it's not like they were protecting monetized corporate secrets or anything. There was really nothing stopping them from widely distributing this data, and not in fits and bursts and rollups rather than raw.
Well, good going, now you've screwed. I hope you choke on the fruits of your labor, it's what you deserve from so highly politicizing your science.
To be fair, this is the standard, accepted mechanism for dealing with any emotionally charged issue today. What people FEEL about it is considered more valid than the facts of the matter, to the point that asking for, much less providing and citing facts is considered politically incorrect on one side and unpatriotic/traitorous on the other.
For example;
- any reason other than sexism for male/female hiring rates, pay differences, or if there is a wage gap
- any reason other than racism for black crime rates, including victim and convicted rates
- gun ownership demographics compared to violent crime involving guns
- the 'war on drugs' and discussions of what its achieved
- anything about abortion
etc.
The problem is that the loudest voices are often the craziest or zaniest, and that gets the most headlines in an era where invoking moral outrage and shouting down an argument is considered a critical public debate technique. Calm analysis is considered a trademark of 'the elite', where 'the elite' is anyone who is an authority on a subject but doesn't agree with the listener, and therefore can be ignored as the mouthpiece some collective, coordinated socio-facist attempt to force people to think in a specific way.
Right now, the majority of people writing code are writing code because they're being paid to do so, either by individuals or more likely, a business.
Those people, in turn, are not hiring programmers purely for altruism, they're doing it to achieve some goal, usually profit, increase in efficiency, and so on. They have to cope with estimating the curve for diminishing returns. They can figure out having a product that works 95% of the time, or one that works 96% of the time but costs 2x as much and takes 3x as long to develop may or may not be worth it. ... and ignore for now that developers are pretty bad at estimating project efforts as a whole, much less individual pieces of code.
There's no incentive for these employers to pay their people to produce 'perfect' code. Even in the field of medical devices or self driving cars or a number of other systems, there's still a point of diminishing returns, and largely the business determines it based on market expectations, and adjusts it based on market reactions (no one will buy a self-driving car that crashes 1/5'th of the time, but they might buy one that crashes only 1 in 500,000 times).
So developers aren't going to be given the time and other resources required to write perfect code. There will always be a balance between time, money, and quality, and outside of hobbists and a few industries, that'll never change. Unless there's some requirement that it change.
I think it's very likely that in the near future, we'll have legal regulation regarding software that runs in certain environments; medical and transportation industry is very likely, but also public works like water or power management subsystems. On the other hand, there's really no reason to engage the entertainment or office productivity industry, and that includes cell phones and most personal computer apps.
What form this regulation will take, I can't tell you, but due to the very nature of the process, it can be very difficult to detect flaws. My guess is that it'll be more of a fine-upon-discovery mechanism. Again, not much different than how we work now, with the added difficulty of a legal fine on top of market loss.
Of course, were I in this situation, I would assign the rights of software bundles to do-nothing child corporations that act as defacto owners of the code, and then declare bankruptcy due to the cost of fixing the software AND paying fines. At the same time, child corporation 2.0 has a wholly compatible new app that will fix that issue...
but that's me - I'm a problem solver, and this is just a paperwork issue.