On a side note, another word for kingmakers is "time-space engineers" as used by Fred Perlman in his "Against Hist-Story, Against Leviathan" work. Now more than ever are time-space engineers sought after and given opportunities to do their magic, to creating new (business) empires and hold Leviathan together for a little while longer.
As a developer, I would prefer to do the opposite. Dismantle Leviathan, dismantle empires. As developers we have the power to change the society, to stop making (business) empires, and to demolish those that exist, such as all those based on copyright and patents. We must base our work on vlaues such as freedom and not on currency.
What Im trying to say is, business as usual or really?
"As a developer, I would prefer to do the opposite. Dismantle Leviathan, dismantle empires. As developers we have the power to change the society, to stop making (business) empires, and to demolish those that exist, such as all those based on copyright and patents. We must base our work on vlaues such as freedom and not on currency."
If you don't have some protection, you will have no business and lose any power you would have had to change anything.
Copyrights and patents protect the little guy as much as they protect big corporations. I don't think you would want to be in a world without such protections.
Copyrights and patents protect the little guy as much as they protect big corporations.
I am somewhat skeptical of that, but especially in regards to patents.
Many companies build patent porfolios out of a desire for ptoection, but only from other patent holders suing them as a large patent portfolio would likely permit them to counter-sue any practicing entity (read: anything other than a dedicated patent-troll). Others build up the portfolios of patents just to show value to potential purchasers. They generally do not actually provide protection for real R&D (and often don't represent an investment in it).
To very briefly summarize (and perhaps oversimplify): Even if patents can be good in the modern era, it is very easy to use them in bad ways, and they often are used in bad ways.
What I want to do is strive to make copyleft the default, instead of copyright being the default. It has to be protected the same.
To put something under copyright or patent it should cost millions, the expected price the society would loose if the invention/product was not improved on by others. To let it free to use as see fit by others should be default, and if anyone or company decides to not share or in other ways obstruct freedom, fined.
A value-shift is needed for this. Thats what I as developer am working for everyday, improving freedom software, being the change I wish to see.
> What I want to do is strive to make copyleft the default, instead of copyright being the default. It has to be protected the same.
I understand that your point is about freedom. But are you aware that, without copyright, there is no copyleft? Copyright is not the "default"; it is just always there. It is the right of an author to place conditions on how his work is handled, including, for example, licensing it under the GPL. Without copyright, everything is public domain, and so, for example, a requirement to make source code available when distributing a modified version of a program, would not be enforceable.
The laws need to be changed to better promote freedom, innovation and diversity instead of creating time-constrained monopolies.
Everything which is not in public domain explicitly, the copyleft is assigned to the author, where the rights to distribute the art and make derivatives is guaranteed by the law/judiciary office, just like it guarantees that copyright will be enforced today.
We live in an age where even the simplest software is relatively complex to develop, due to feature-bloat, bad standardization, and lack of standardization. More importantly, we live in a world where the ruling companies have grown so big, none of them really care about innovating - they care about quarterly revenues. All of the big companies try to cater to watered-down standards (I'm looking at you W3C, ISO, RFC, EMCA, IANA, Khronos Group, etc).
We need to take what we have learned, and hit the reset button. A new system architecture (goodbye x86 and 32-bit software), and new operating system (it should be a few megabytes large, at most), and new compiler, language, and virtual machine.
Or we can just continue to live semi-comfortably and bitch about it every so often.
gavanwoolery: What you describe is the Renaissance. Dark Ages could be DOS or WIN 3.1 with PASCAL or VB and its short dominance over classical and forbidden beauty of Unix and C. I guess the title of the article should really read: "The Renaissance of Developers".
Indeed, we are like the Renaissance men. We read a lot, learn a lot, and write a lot; different languages, different platforms, and different standards. We need to know how to admin, design, write, build, test, and deploy. Each of us has to be Galileo, da Vinci, Columbus, and Kepler in one person.
What we are waiting is the era of positivism where methodological debates concerning clarity, replicability, reliability, and validity established modern science governed by experimentation and sound statistics. Mathematics applied in Physics, Physics in Chemistry, and Chemistry in Biology bring order and sanity the same one that developers are longing for in computer science and computer engineering.
That's an interesting perspective. It really is hard to think of when things have been better, overall, for developers, but there is still a lot of stuff that stinks. I think the factors discussed in the article make it merely a matter of time when your (and my, for what it's worth) vision is fulfilled. The pressure caused by more people entering the field will force something to give. At our increasing rate of technological development and replacement, it could take just a couple years to take over once someone set it off.
While I'm here, if we have One Hardware Architecture To Rule Them All, why do you think we would need a new VM?
What about a curated list of open-source projects with defined needs, perhaps generated on a month-to-month basis? For example, you guys could comb through GitHub or any other repository and provide users with a top-50 list of projects/descriptions/languages used/etc.
Obviously, plenty of users will continue to contribute bug fixes to the projects they use on a regular basis. But some users might just want an interesting hack that stretches their knowledge and comfort zone - and if it fixes a problem for that project, why not?
I second that idea. And would further suggest highlighting some projects that require roles other than developers, so those projects can get the design, marketing, product, etc help that they're seeking.
Hopefully in 30 years, 'programming' will be speaking to your computer as if it were your contractor - and so 'programming literacy' is just 'literacy'.
Prediction: your prediction is wrong.
We pretty much all drive cars, how many of us are mechanics?
More importantly, the amount of under-the-hood knowledge to operate a car was diminishing, not increasing over time, and I expect the same thing to happen with computers. They will be all around us (already are), but for most people there will be no need to acknowledge their presence, let alone know how to program them.
Cars are not a good analogy for this situation, at all. The presence of software and computers in our life is much closer to the invention of the alphabet and writing. Written text gradually becomes so ubiquitous in life that being illiterate is a serious handicap for anything you want to do.
Likewise, the amount of software and technology we deal with on a daily basis is increasing at an exponential rate. It is just a matter of time before the ability to deal with it at a deep level becomes a necessity of life.
Of course, not everyone will be paid to write code, just like not everyone is paid to read/write, but you'll be handicapped in life if you don't know how to do it. Moreover, coding itself will largely change as well: programming languages are constantly adopting every higher levels of abstraction and gradually becoming more accessible to a wider audience.
We developers are getting evermore control and power on the internet, which can be both a good thing and bad thing.
Do we trust ourselves? Will we make the world a better place as a result of this power? I'm hesitant to answer this question. I know developers that I would trust my life with, however, it just takes a few bad apples to mess everything up.
I've heard numerous people reference the mythical pragmatism of programmers and hackers as a problem when idealism vs. self-interest is on the line, Kevin Mitnick being one of them (~"a caught hacker always rats etc.")
Solution? It would be great to revive the old cyber-optimism of the 1990's when everyone thought the Internet was going to save the world. The "twitter revolutions" come to mind, but that narrative is pretty shallow.
For people to take a stand and hold under temptation for money and power, they have to have something they can believe in.
We developers are getting evermore control and power on the internet
No, we're getting far less control and power, compared to the free-for-all of the Internet's early days. SOPA is just one example of longstanding power structures extending their control over engineering domains.
In the real world, the people with the guns win. Sometimes it takes time for them to realize the importance of new technologies, but eventually they win. Always.
| There’s never been a better time to be a developer.
Let’s take the internet wayback machine before the dotbomb days.
Companies provided the hardware and software to work on. Required travel was reimbursed. You had your own work area and it was for working in. Productivity was measured in new features and bug fixes. Bonuses were plentiful. Salaries were good (100K/yr with about 5 years experience and a high level security clearance).
Today, companies expect you to provide your own hardware and software. Travel isn’t reimbursed. Work areas double as company storage areas. You often have to time-share a cube. Productivity is measured by the number of lines of code produced. There are no bonuses and experienced developers get 80K/yr, maybe.
Today is the golden age? Not to people who’ve been doing this for a few years.
I don't think that's quite accurate based on the experiences of my friends from school.
Most people I know from school are making ~$90k with 0-2 years of experience. The highest salary I've heard is my friend who is getting $105k (plus benefits) when he graduates this spring, and the lowest I've heard is about $75k (plus benefits). Granted, all these people went to UC Berkeley, but quite a few of them dropped out/were just auditing (ie not an enrolled student) and most of us didn't have good GPAs (2.0-3.5, with an est. median of probably 2.75 and a stddev of maybe 0.35).
None of my friends have had to provide their own hardware or software, though many have chosen to use their personal laptops as terminals instead of using provided equipment. Everyone at least has their own cubicle (no time sharing), and i believe about half of us got a significant (ie two weeks pay or more) bonus sometime in the last year. None of my friends really travel much for work, but I do know that my company reimburses all travel costs for engineers (for the few that actually need to travel between offices).
And I don't know anyone whose productivity is measured by LoC.
I'm 25, have a few years of experience in this industry, and I don't see any of the things you're describing. I'm working for my 3rd company now, and I've always had hardware provided, my own desk, and since moving to silicon valley have always made over 80k.
I have a friend right now being courted by 3 companies right out of grad school, all of which are offering over 100k, plus bonuses.
I can't say I've ever looked at a job that didn't provide hardware and software, or reimburse travel. That's just standard business behaviors. I don't think my company is /that/ different from most, and I've never seen any of the follow up issues you gripe about(although the salary doesn't sound too far off in the midwest cheap cost of living areas.)
Are things really that bad? My company doesn't suffer from any of those things but you cite them as if they're the norm. Maybe those things are more common in a startup setting?
Also, you can't seriously claim that productivity is routinely measure by number of lines of code. What kind of hell hole have you been working in...?
> Today is the golden age? Not to people who’ve been doing this for a few years.
Things seem to have turned on a dime. Around the subprime mortgage crisis (Lehman Brothers declared bankruptcy in September 2008) things were looking dire. However around now (December 2011) things are looking much better. Experienced devs in New York / Seattle / Silicon Valley / Los Angeles are making more than you think. I've even heard that devs fresh out of school in Boston can make $140K.
Ouch man, that doesn't sound too good. It's not like that everywhere, sounds like you are stuck in a bad place. Really you might want to look around a bit and considering changing shops. Your post, which I feel great empathy for, hits me like hearing a kind woman say that she is resigned to the fact that all men beat their wives.
There is a saying that goes, "Everytime you point your finger at someone, 4 fingers are pointing back at you!" So, here I sat writing about how this particular writer needed more positive mental process so that he would not look at the world so gloomy, thus this was my perception.
Then, there is another saying that goes "There is a principle which is a bar against all information, which is proof against all arguments and which can not fail to keep a man in everlasting ignorance-that principle is contempt prior to investigation." So my apology again, as I finally went on the website in question and it was exactly the opposite that I had conjured up in my mind, of being sour and pessimistic. I have been drawn to this topic so needed to learn something here. I thank you for your patience and the opportunity to speak my mind.
I am also not a developer though desperately trying to learn a little as I keep paying hundreds and thousands of dollars on a Drupal site I can barely understand. I need at least back office proficiency. Speak up if anyone knows the best practice of narrowing down good Drupal "teachers." The author here is obviously highly intelligent and well read, so if I had simply practiced a little zen mind and offered out an empty cup perhaps a little knowledge could have been poured my way. Great post here--
I love this type of debate, as the original author has not been shy for speaking his mind. I am brand new to this website and have a good feeling that I can learn something here perhaps not seen on other websites. Really, I love where it is safe to hold an opinion other than the status qou and still all walk away friends. I am in hopes this is that website.
Today a certain Facebook post told how this Christmas should not be about Santa but rather Jesus and that Jesus was sad of what came of his birthday. Well, I guess we could all jump onto that story, same as we could all believe we are in the dark ages. We are and we are not. Its much like mind-mapping. Reality is flimsy material, but a tool for the mind to feel it is clothed and has a home to go to and some money in the bank, general feelings of familiarity and safety. I choose to live life to the fullest with my cup half full not half empty -- no, still not favorable enough of a perception to me, so let's simplify, "My cup runneth over!"
I wouldn't count on computer expertise being infinitely available even after AI is invented. They won't be infinitely intelligent; we will still need to give the programming AIs some sort of spec, which will need to be written by people who understand how the AI thinks. If nothing else, there will need to be people who understand it well enough to make sure it's actually serving peoples' interests.
More likely, there would be a gradual transfer of control to increasingly sophisticated AIs, paralleling our current/past move to higher-level languages.
As a developer, I would prefer to do the opposite. Dismantle Leviathan, dismantle empires. As developers we have the power to change the society, to stop making (business) empires, and to demolish those that exist, such as all those based on copyright and patents. We must base our work on vlaues such as freedom and not on currency.
What Im trying to say is, business as usual or really?