Just because we called it an invention mistakenly does not mean he's not a bright kid. The average kids don't bother with this stuff or taking things apart and putting them back together in different ways. Yes, in college this would be considered hum drum, but in junior high it's well above average.
Of course, you can do however you want in Python, it is only the modern Python community that has generated these rigid rules.
Python is a scripting language, which means that it should not be as rigid and structured as a traditionally compiled language. Enforced private data is ok in languages like C++, even in many interpreted languages, but it feels out of place for a scripting language. Except that what was once sort of a replacement for Perl has grown into something used in serious production applications.
From the very start with Smalltalk, making your own data structures with object oriented languages has been the norm. Sure there may be a large built in collection of data structures but they usually came with means of subclassing from them, extending them, customizing, etc.
But you need to do this in many situations just to reduce code size or efficiency. STL is bloatware, it won't fit on many embedded systems. Anyone can and should be able to write a simple linked list or doubly linked list. Any RTOS will have their own list structures and not rely on some third party library. Anyone building a file system will essentially design their own data structures (with disk as the storage instead of RAM). Anyone actually writing the language or the language's run time system will obviously have to write the data structures.
For example, C++ does not have any hash built in. It's map is a binary tree, but hashes can be better in many cases (though I have seem some people argue that the trees are "optimal" which just means they skipped their theory classes). The built in data structures are optimized for the general purpose case.
But it's true, if your job is very high level code, such as some web app stuff, then don't write your own data structures without a good reason. But you should know what they do so that you know how to use them efficiently (ie, knowing when to use a list versus an high level array versus a primitive array, even though they're interchangeable in many cases).
When I interview poeple I ask about data structures. I have to because that's going to be a part of the job, they will have to deal with linked lists. But I get candidates that say "oh, I usually use a library for that", which means they'll be useless in that area. If they can't work through something so simple then how are they going to react when they have to fix a bug that involves lists? I am utterly amazed at how few candiates with lots of "embedded" experience are clueless about such simple concepts.
By "served well" I mean it has to be good. Not crap service like buses that take you an hour to go 5 miles, a "mass transit" that serves only a tiny corridor, etc. The United States sucks with mass transit. California sucks too. Manhattan has decent service though. D.C. is sort of ok, if you live in the downtown or on the spokes of the wheel. LA as a region has nearly non-existent mass transit. Yes they screwed it up because everyone has cars. But it also screwed up because the assumptions of the past are outdated - they assumed everyone needs to go downtown in the norming and to the suburbs at night, but in reality people need to get from suburb to suburb, because that's where both the jobs and the homes are and downtown is only where you go to buy crack. The US transportation industry grew up with the assumption that everyone has a car.
Train service is messed up too. This is where Europe does well. They have had a commuter rail service for longer periods of time, and cities and small towns have grown up near them. In the US towns grew up near railroads for commercial reasons but not for commuting reasons. In many places in Europe you can live in a village, walk to a train station, get to a nearby city, walk to your job which is within a mile of the station or else catch an electric light rail or short bus hop. I've never seen anything like that in the US outside of some corridors in New York.
In the US, there are almost no areas well served with affordable public transportation. If you can do without, that's great. But generally the $1000 cars that you have to fix yourself every weekend can save a ton of time and money and get you to a wider variety of jobs.
See, no one knows what headlines are anymore, they're being confused with clickbait. Maybe a better analogy for newer programmers is to treat documentation like Tweets.
Variable names should be like pronouns. The whole point of a pronoun is to have a short and understandable shortcut for a longer concept. "It", "he", "she", "them". That's why spelling out the entire thing, DeptOfHousingVendorID, is nonsensical. No one would talk in a natural language that way, "I went down to the department of housing to talk to the department of housing vendor, and while I was at the department of housing I noticed that the department of housing vendor's ID had fallen off into the floor, so I picked up the department of housing vendor's ID from off the department of housing floor and handed the department of housing vendor's ID to the department of housing vendor, who said thanks."
Even Loglan, the inscrutably precise artificial language, uses inscrutably precise pronouns. Otherwise the confusing language would be both confusing and verbose.
But then you have a boss who does not have the experience or expertise necessary to know that. The boss will think treat this guideline as an unbreakable taboo. Beware the boss who started in computer science merely as a stepping stone into management. Also beware the 24 year old boss who thinks he or she knows everything.
Envelopes stuffed into envelopes which are stuffed into envelopes, which are stuffed into manila folders which are stuffed into binders, which are stacked into cabinets, which have a security guard standing in front with orders to shoot anyone looking suspicious.
But just look at the rules listed. Some are just plain wrongheaded. As in "do not write your own data structures", as in no one should do that after their sophomore year. That's a stupid rule, people have to write data structures all the time. There are no libraries that do it for you that are the proper ones to use all the time; and even if there was one, *someone* has to write it and maintain it. The STL did not magically appear on Mount Sinai engraved onto tablets. I've got 20 KILObytes to work with, I need to be tweaking those data structures. "Breaking out of loops in the middle" - of course people do that, it's a waste of time and effort and code quality to stick in dummy variables just to avoid a break/return. "Using short variable names" - well duh, I get really sick of seeing code that has "for (innerIndexCounter = 0; innerIndexCounter size; ++innerIndexCounter)"; nothing wring with "i" or "ii". Code should be readable, and things that are too verbose are not readable.
Except that you have to essentially be a contractor. You have to be a sales person, selling yourself constantly to get new work, and not everyone can do that. If you need equipment that is doubly hard as you'll have to travel a lot to get into the labs. Working as a team is difficult that way, there's no one in the next cubicle to talk about an issue with, and talking on the phone is clumsy and ineffective.
Google adds to its own problems. I used to work in the Shoreline area (where Google is now) and every building was occupied. Traffic was reasonable. Now in the same area of land using the same buildings the traffic there is ridiculous with many times the number of workers. They've widened and added offramp lanes and it's still backed up onto the freeway even after 10am. They're just trying to cram too many people into too small an area. (and possibly Apple will have the same problem with its new spaceship building)
Then they should spread out. The problem with Google is that they took over most of the Shoreline business park area, then greatly increased the total number of workers there. Almost all of their buildings are in that one area, and the few exceptions feel like temporary overflow. They should put up buildings that are in other locales - south San Jose up through Redwood City maybe, spread out the traffic, allow better commuting options.
Doesn't help that Google just has too much money which encourages all the office leasing prices to skyrocket also. Why come up with a price that many companies can afford when you can crank it up and hope that you win the Google lottery?
Imagine if all of New York wanted to live in Manhattan. And once in Manhattan your social circle would not let you live in Brooklyn even. That's what San Francisco is. Everything outside of its city limits does not exist to its residents, there are mental walls erected around S.F.
For example, there's this complaint that teachers or firefighters can't afford to live in "the city". So what? When I grew up in a small town, we had plenty of teachers who came from a neighboring town. It was no big deal. I've lived in several towns in the south bay area, and I never felt that one was more real or better than the others. The problem is not that the city workers can not live within San Francisco, but that the closer communities within easy commutin distance are either also incredibly high priced or impoverished with few middle class or family alternatives (just like S.F. itself). When you read the S.F. newspapers, watch the TV, or listen to the radio, they talk about "the city" but rarely talk about it as a region.
That's Palo Alto though. It has always been an overpriced wealthy insular enclave. However the prices have been zooming all throughout Santa Clara County as well, in areas that were once working class neighborhoods. Not as bad as San Francisco though, but you can't ever plan on retiring here anymore.
San Francisco is just a ridiculous place to live if you have a choice, in my view. Horrendous commutes, homeless people sleeping on your steps, double the cost of living outside the city limits, and no benefits other than the higher status you get from fellow hipsters. In the south bay where Google is, if you think Mountain View is too expensive you can move to another town nearby. Of course, working for Google has it's own problems, if it were smart it would spread out its buildings instead of concentrating them into such a tiny area and increasing the traffic nightmares.
They pay the severance anyway in most cases. I've seen a lot of cases of 4 weeks pay as severance with no cooperation agreements. I don't know if that's normal in the IT world though, where outsourcing and employee interchangeability is more common.
It is a contract in that you are paid, just up front as part of the severance. The snag is that the back end is unclear - how often will they call you, what will happen if you don't give them a satisfactory answer ("I forgot the password"), etc.
There has to be SOME compensation, otherwise who would ever sign the agreement? And it would seem illegal otherwise. I suspect they get the normal severance pay, Cobra benefits, etc, but this extra clause by itself says that they can call and ask questions without *additional* compensation.
Overall, probably some idiot lawyer shoved that clause in without the executives really understanding it. Lawyers are good at that sort of thing. However asking them to remove it later is always a problem since they'll charge the company to fix it. I know someone in a situation where one company says the contract is being misinterpreted incorrectly and it's not what the meant, but they seem reluctant to change the contract or allow the relevant clause to be struck out (just sign the contract and we'll promise verbally to not enforce that one part), even though there's another much larger company threatening to cancel all business if they don't.
Just because we called it an invention mistakenly does not mean he's not a bright kid. The average kids don't bother with this stuff or taking things apart and putting them back together in different ways. Yes, in college this would be considered hum drum, but in junior high it's well above average.
Of course, you can do however you want in Python, it is only the modern Python community that has generated these rigid rules.
Python is a scripting language, which means that it should not be as rigid and structured as a traditionally compiled language. Enforced private data is ok in languages like C++, even in many interpreted languages, but it feels out of place for a scripting language. Except that what was once sort of a replacement for Perl has grown into something used in serious production applications.
From the very start with Smalltalk, making your own data structures with object oriented languages has been the norm. Sure there may be a large built in collection of data structures but they usually came with means of subclassing from them, extending them, customizing, etc.
But you need to do this in many situations just to reduce code size or efficiency. STL is bloatware, it won't fit on many embedded systems. Anyone can and should be able to write a simple linked list or doubly linked list. Any RTOS will have their own list structures and not rely on some third party library. Anyone building a file system will essentially design their own data structures (with disk as the storage instead of RAM). Anyone actually writing the language or the language's run time system will obviously have to write the data structures.
For example, C++ does not have any hash built in. It's map is a binary tree, but hashes can be better in many cases (though I have seem some people argue that the trees are "optimal" which just means they skipped their theory classes). The built in data structures are optimized for the general purpose case.
But it's true, if your job is very high level code, such as some web app stuff, then don't write your own data structures without a good reason. But you should know what they do so that you know how to use them efficiently (ie, knowing when to use a list versus an high level array versus a primitive array, even though they're interchangeable in many cases).
When I interview poeple I ask about data structures. I have to because that's going to be a part of the job, they will have to deal with linked lists. But I get candidates that say "oh, I usually use a library for that", which means they'll be useless in that area. If they can't work through something so simple then how are they going to react when they have to fix a bug that involves lists? I am utterly amazed at how few candiates with lots of "embedded" experience are clueless about such simple concepts.
By "served well" I mean it has to be good. Not crap service like buses that take you an hour to go 5 miles, a "mass transit" that serves only a tiny corridor, etc. The United States sucks with mass transit. California sucks too. Manhattan has decent service though. D.C. is sort of ok, if you live in the downtown or on the spokes of the wheel. LA as a region has nearly non-existent mass transit. Yes they screwed it up because everyone has cars. But it also screwed up because the assumptions of the past are outdated - they assumed everyone needs to go downtown in the norming and to the suburbs at night, but in reality people need to get from suburb to suburb, because that's where both the jobs and the homes are and downtown is only where you go to buy crack. The US transportation industry grew up with the assumption that everyone has a car.
Train service is messed up too. This is where Europe does well. They have had a commuter rail service for longer periods of time, and cities and small towns have grown up near them. In the US towns grew up near railroads for commercial reasons but not for commuting reasons. In many places in Europe you can live in a village, walk to a train station, get to a nearby city, walk to your job which is within a mile of the station or else catch an electric light rail or short bus hop. I've never seen anything like that in the US outside of some corridors in New York.
In the US, there are almost no areas well served with affordable public transportation. If you can do without, that's great. But generally the $1000 cars that you have to fix yourself every weekend can save a ton of time and money and get you to a wider variety of jobs.
The ones I knew were bolted onto foundations.
See, no one knows what headlines are anymore, they're being confused with clickbait.
Maybe a better analogy for newer programmers is to treat documentation like Tweets.
Variable names should be like pronouns. The whole point of a pronoun is to have a short and understandable shortcut for a longer concept. "It", "he", "she", "them". That's why spelling out the entire thing, DeptOfHousingVendorID, is nonsensical. No one would talk in a natural language that way, "I went down to the department of housing to talk to the department of housing vendor, and while I was at the department of housing I noticed that the department of housing vendor's ID had fallen off into the floor, so I picked up the department of housing vendor's ID from off the department of housing floor and handed the department of housing vendor's ID to the department of housing vendor, who said thanks."
Even Loglan, the inscrutably precise artificial language, uses inscrutably precise pronouns. Otherwise the confusing language would be both confusing and verbose.
Ain't no one got time to understand the code they have to write by Friday.
But then you have a boss who does not have the experience or expertise necessary to know that. The boss will think treat this guideline as an unbreakable taboo. Beware the boss who started in computer science merely as a stepping stone into management. Also beware the 24 year old boss who thinks he or she knows everything.
Envelopes stuffed into envelopes which are stuffed into envelopes, which are stuffed into manila folders which are stuffed into binders, which are stacked into cabinets, which have a security guard standing in front with orders to shoot anyone looking suspicious.
Trump makes the code work, and makes it build its own wall too.
But just look at the rules listed. Some are just plain wrongheaded. As in "do not write your own data structures", as in no one should do that after their sophomore year. That's a stupid rule, people have to write data structures all the time. There are no libraries that do it for you that are the proper ones to use all the time; and even if there was one, *someone* has to write it and maintain it. The STL did not magically appear on Mount Sinai engraved onto tablets. I've got 20 KILObytes to work with, I need to be tweaking those data structures. "Breaking out of loops in the middle" - of course people do that, it's a waste of time and effort and code quality to stick in dummy variables just to avoid a break/return. "Using short variable names" - well duh, I get really sick of seeing code that has "for (innerIndexCounter = 0; innerIndexCounter size; ++innerIndexCounter)"; nothing wring with "i" or "ii". Code should be readable, and things that are too verbose are not readable.
Except that you have to essentially be a contractor. You have to be a sales person, selling yourself constantly to get new work, and not everyone can do that. If you need equipment that is doubly hard as you'll have to travel a lot to get into the labs. Working as a team is difficult that way, there's no one in the next cubicle to talk about an issue with, and talking on the phone is clumsy and ineffective.
Yes, that reminds me of parts of San Francisco.
Google adds to its own problems. I used to work in the Shoreline area (where Google is now) and every building was occupied. Traffic was reasonable. Now in the same area of land using the same buildings the traffic there is ridiculous with many times the number of workers. They've widened and added offramp lanes and it's still backed up onto the freeway even after 10am. They're just trying to cram too many people into too small an area. (and possibly Apple will have the same problem with its new spaceship building)
Then they should spread out. The problem with Google is that they took over most of the Shoreline business park area, then greatly increased the total number of workers there. Almost all of their buildings are in that one area, and the few exceptions feel like temporary overflow. They should put up buildings that are in other locales - south San Jose up through Redwood City maybe, spread out the traffic, allow better commuting options.
Doesn't help that Google just has too much money which encourages all the office leasing prices to skyrocket also. Why come up with a price that many companies can afford when you can crank it up and hope that you win the Google lottery?
Imagine if all of New York wanted to live in Manhattan. And once in Manhattan your social circle would not let you live in Brooklyn even. That's what San Francisco is. Everything outside of its city limits does not exist to its residents, there are mental walls erected around S.F.
For example, there's this complaint that teachers or firefighters can't afford to live in "the city". So what? When I grew up in a small town, we had plenty of teachers who came from a neighboring town. It was no big deal. I've lived in several towns in the south bay area, and I never felt that one was more real or better than the others. The problem is not that the city workers can not live within San Francisco, but that the closer communities within easy commutin distance are either also incredibly high priced or impoverished with few middle class or family alternatives (just like S.F. itself). When you read the S.F. newspapers, watch the TV, or listen to the radio, they talk about "the city" but rarely talk about it as a region.
Double-wides are quite nice actually if you maintain them.
That's Palo Alto though. It has always been an overpriced wealthy insular enclave. However the prices have been zooming all throughout Santa Clara County as well, in areas that were once working class neighborhoods. Not as bad as San Francisco though, but you can't ever plan on retiring here anymore.
San Francisco is just a ridiculous place to live if you have a choice, in my view. Horrendous commutes, homeless people sleeping on your steps, double the cost of living outside the city limits, and no benefits other than the higher status you get from fellow hipsters. In the south bay where Google is, if you think Mountain View is too expensive you can move to another town nearby. Of course, working for Google has it's own problems, if it were smart it would spread out its buildings instead of concentrating them into such a tiny area and increasing the traffic nightmares.
Wireless is a nightmare in many hospitals. Lead in the walls near the MRI and radiotheraphy machines for example.
They pay the severance anyway in most cases. I've seen a lot of cases of 4 weeks pay as severance with no cooperation agreements. I don't know if that's normal in the IT world though, where outsourcing and employee interchangeability is more common.
It is a contract in that you are paid, just up front as part of the severance. The snag is that the back end is unclear - how often will they call you, what will happen if you don't give them a satisfactory answer ("I forgot the password"), etc.
There has to be SOME compensation, otherwise who would ever sign the agreement? And it would seem illegal otherwise. I suspect they get the normal severance pay, Cobra benefits, etc, but this extra clause by itself says that they can call and ask questions without *additional* compensation.
Overall, probably some idiot lawyer shoved that clause in without the executives really understanding it. Lawyers are good at that sort of thing. However asking them to remove it later is always a problem since they'll charge the company to fix it. I know someone in a situation where one company says the contract is being misinterpreted incorrectly and it's not what the meant, but they seem reluctant to change the contract or allow the relevant clause to be struck out (just sign the contract and we'll promise verbally to not enforce that one part), even though there's another much larger company threatening to cancel all business if they don't.