theodp writes: Back in 2012, Computerworld blasted Vice President Joe Biden for his ignorance of the H-1B temporary work visa program. But Joe's got his H-1B story and he's sticking to it, characterizing the visa program earlier this month in a speech to the National Governors Association as "apprenticeships" of sorts that companies provide to foreign workers to expand the Information Technology industry only after proving there are no qualified Americans to fill the jobs. Biden said he also learned from his talks with tech's top CEOs that 200,000 of the jobs that companies provide each year to highly-skilled H-1B visa holders could in fact be done by Americans with no more than a two-year community college degree.
An anonymous reader writes: Andrew Binstock has an article about the ever-increasing complexity required to write code. He says, "I got into programming because I like creating stuff. Not just any stuff, but stuff other people find useful. I like the constant problem solving, the use of abstractions that exist for long periods nowhere but in my imagination, and I like seeing the transformation into a living presence. ... The simple programs of a few hundred lines of C++ long ago disappeared from my experience. What was the experience of riding a bicycle has become the equivalent of traveling by jumbo jet; replete with the delays, inspections, limitations on personal choices, and sudden, unexplained cancellations — all at a significantly higher cost. ... Project overhead, even for simple projects, is so heavy that it's a wonder anyone can find the time to code, much less derive joy from it. Software development has become a mostly operational activity, rather than a creative one. The fundamental problem here is not the complexity of apps, but the complexity of tools. Tools have gone rather haywire during the last decade chasing shibboleths of scalability, comprehensiveness, performance. Everything except simplicity."
An anonymous reader writes: Brianna Wu, leader of a game development studio, has an article exposing the constant harassment of women in the games industry. She says, "I'm not writing this piece to evoke your sympathy. I'm writing to share with you what prominent, successful women in the industry experience, in their own words." She goes through the individual stories of several women targeted by this vitriol, and tries to figure out why it happens. Quoting: "We live in a society that's sexist in ways it doesn't understand. One of the consequences is that men are extremely sensitive to being criticized by women. ... This is why women are socialized to carefully dance around these issues, disagreeing with men in an extremely gentle manner. Not because women are nicer creatures than men. But because our very survival can depend on it. ... Growing a thicker skin isn't the answer, nor is it a proper response. Listening, and making the industry safer for the existence of visible women is the best, and only, way forward."
dcblogs (1096431) writes On the floor of U.S. Senate Thursday, Sen. Jeff Sessions delivered a scalding and sarcastic attack on the use of highly skilled foreign workers by U.S. corporations that was heavily aimed at Microsoft, a chief supporter of the practice. Sessions' speech began as a rebuttal to a recent New York Times op-ed column by Microsoft founder Bill Gates, investor Warren Buffett and Sheldon Adelson ... But the senator's attack on "three of our greatest masters of the universe," and "super billionaires," was clearly primed by Microsoft's announcement, also on Thursday, that it was laying off 18,000 employees. "What did we see in the newspaper today?" said Sessions, "News from Microsoft. Was it that they are having to raise wages to try to get enough good, quality engineers to do the work? Are they expanding or are they hiring? No, that is not what the news was, unfortunately. Not at all."
An anonymous reader writes: There's often debate amongst modern programmers about how much math a professional developer should know, and to what extent programming is math. Learning to program is often viewed as being on a spectrum between learning math and learning spoken/written languages. But in a new article, Jeremy Kun argues that the spectrum should be formulated another way: Human language -> Mathematics -> Programming. "Having studied all three subjects, I'd argue that mathematics falls between language and programming on the hierarchy of rigor. ... [T]he hierarchy of abstraction is the exact reverse, with programming being the most concrete and language being the most abstract. Perhaps this is why people consider mathematics a bridge between human language and programming. Because it allows you to express more formal ideas in a more concrete language, without making you worry about such specific hardware details like whether your integers are capped at 32 bits or 64. Indeed, if you think that the core of programming is expressing abstract ideas in a concrete language, then this makes a lot of sense. This is precisely why learning mathematics is 'better' at helping you learn the kind of abstract thinking you want for programming than language. Because mathematics is closer to programming on the hierarchy. It helps even more that mathematics and programming readily share topics."
An anonymous reader writes: My niece, who is graduating from high school, has asked me for some career advice. Since I work in data processing, my first thought was to recommend a degree course in computer science or computer engineering. However, after reading books by Jeremy Rifkin (The Third Industrial Revolution) and Ray Kurzweil (How to Create a Mind), I now wonder whether a career in information technology is actually better than, say, becoming a lawyer or a construction worker. While the two authors differ in their political persuasions (Rifkin is a Green leftist and Kurzweil is a Libertarian transhumanist), both foresee an increasingly automated future where most of humanity would become either jobless or underemployed by the middle of the century. While robots take over the production of consumer hardware, Big Data algorithms like the ones used by Google and IBM appear to be displacing even white collar tech workers. How long before the only ones left on the payroll are the few "rockstar" programmers and administrators needed to maintain the system? Besides politics and drug dealing, what jobs are really future-proof? Would it be better if my niece took a course in the Arts, since creativity is looking to be one of humanity's final frontiers against the inevitable Rise of the Machines?
sandbagger (654585) writes with word of a Y2K-style bug showing up in Y2K14: "The glitch originated with the Pennsylvania Department of Motor Vehicles during an automated data transfer of nearly 400,000 records. The records of males born between 1993 and 1997 were mixed with those of men born a century earlier. The federal agency didn't know it because the state uses a two-digit code to indicate birth year." I wonder where else two-digit years are causing problems; I still see lots of paper forms that haven't made the leap yet to four digits.
theodp (442580) writes Over at Alarming Development, Jonathan Edwards has an interesting rant entitled Developer Inequality and the Technical Debt Crisis. The heated complaints that the culture of programming unfairly excludes some groups, Edwards feels, is a distraction from a bigger issue with far greater importance to society.
"The bigger injustice," Edwards writes, "is that programming has become an elite: a vocation requiring rare talents, grueling training, and total dedication. The way things are today if you want to be a programmer you had best be someone like me on the autism spectrum who has spent their entire life mastering vast realms of arcane knowledge — and enjoys it. Normal humans are effectively excluded from developing software. The real injustice of developer inequality is that it doesn't have to be this way." Edwards concludes with a call to action, "The web triumphalists love to talk about changing the world. Well if you really want to change the world, empower regular people to build web apps. Disrupt web programming! Who's with me?" Ed Finkler, who worries about his own future as a developer in The Developer's Dystopian Future, seconds that emotion. "I think about how I used to fill my time with coding," Finkler writes. "So much coding. I was willing to dive so deep into a library or framework or technology to learn it. My tolerance for learning curves grows smaller every day. New technologies, once exciting for the sake of newness, now seem like hassles. I'm less and less tolerant of hokey marketing filled with superlatives. I value stability and clarity."
itwbennett (1594911) writes "How do you measure success? If it's by Stack Overflow reputation, Google engineer Jon Skeet is the world's best programmer. If it's winning programming competitions, Gennady Korotkevich or Petr Mitrechev might be your pick. But what about Linus Torvalds? Or Richard Stallman? Or Donald Knuth? ITworld's Phil Johnson has rounded up a list of what just might be the world's top 14 programmers alive today."
An anonymous reader writes "We all know somebody who changes jobs like changing clothes. In software development and IT, it's getting increasingly hard to find people who have been at their job for more than a few years. That's partly because of tech companies' bias for a young work force, and partly because talented people can write their own ticket in this industry. Thus, I put the question to you: how often should you be switching jobs? Obviously, if you find the perfect company (full of good people, doing interesting things, paying you well), your best bet is to stay. But that's not the reality for most of the workforce. Should you always be keeping an eye out for new jobs? Is there a length of time you should stick around so you don't look like a serial job-hopper? Does there come a point in life when it's best to settle down and stick with a job long term?"
adelayde (185757) writes "In my day job, I work on a web based service with a lot of legacy code written in that older (and some may say venerable) web-scripting language, Perl. Although we use Modern Perl extensions such as Moose, the language just seems to be ossifying and we're wanting to move to a more up-to-date and used language for web applications, or even an entire framework, to do new development. We're still planning to support the legacy code for a number of years to come; that's unavoidable. This is a fairly big project and it's mission critical to the business. The thing we're afraid of is jumping onto something that is too new and too buzzy as we'd like to make a technology decision that would be good at least for the next five years, if not more, and today's rising star could quite easily be in tomorrow's dustbin. What language and/or framework would you recommend we adopt?"
tyggna writes: "The flame wars of different shells and text editors have long been established, but my question is this: are text editors and various languages linked? Do the majority of Ruby programmers use Emacs? Are most Perl programmers using vim?
Please post your editor and language of choice in the comments."
itwbennett writes: A group of researchers from Google, the Hong Kong University of Science and Technology and the University of Nebraska undertook a study of over 26 million builds by 18,000 Google engineers from November 2012 through July 2013 to better understand what causes software builds to fail and, by extension, to improve developer productivity. And, while Google isn't representative of every developer everywhere, there are a few findings that stand out: Build frequency and developer (in)experience don't affect failure rates, most build errors are dependency-related, and C++ generates more build errors than Java (but they're easier to fix).
Presto Vivace writes: Fortune has an article about increasingly overt age discrimination in the tech industry. Quoting: "It's a widely accepted reality within the technology industry that youth rules. But at least part of the extreme age imbalance can be traced back to advertisements for open positions that government regulators say may illegally discriminate against older applicants. Many tech companies post openings exclusively for new or recent college graduates, a pool of candidates that is overwhelmingly in its early twenties. ... 'In our view, it's illegal,' Raymond Peeler, senior attorney advisor at the Equal Employment Opportunity Commission, the federal agency that enforces workplace discrimination laws said about the use of 'new grad' and 'recent grad' in job notices. 'We think it deters older applicants from applying.'" Am I the only one who thinks many of the quality control issues and failed projects in the tech industry can be attributed to age discrimination?
An anonymous reader writes So I, like many people, want to make my own game. Outside of MATLAB, Visual Basic, and LabVIEW I have no real programming experience. I initially started with Ruby, but after doing my homework decided that if I ever wanted to progress to a game that required some power, I would basically need to learn some form of C anyway. Further digging has led me to C#. The other parts of game design and theory I have covered: I have ~8 years of CAD modeling experience including Maya and Blender; I have a semiprofessional sound studio, an idie album on iTunes, and am adept at creating sound effects/music in a wide variety of programs; I'm familiar with the setbacks and frustration involved with game development — I beta tested DotA for 9ish years; I already have my game idea down on paper (RTS), including growth tables, unit types, unit states, story-lines, etc. I've been planning this out for a year or two; I will be doing this on my own time, by myself, and am prepared for it to take a couple years to finish. The reason for listing that stuff out, is that I want people to understand that I know what I'm getting myself in to, and I'm not trying to put out a not-so-subtle "help me make a game for free lol" type of post. With all of that said, where is a good place to start (i.e., recommended books) for learning C# for game programming? I am familiar with object oriented programming, so that's a little bit of help. I'm not necessarily looking for the syntax (that part is just memorization), but more for the methodology involved. If anyone also has any suggestions for other books or information that deal with game development, I would love to hear that too. I know enough to understand that I really don't know anything, but have a good foundation to build on.