skysight-inc/HackerNews huggingface dataset:
Programming _can_ be like an art form and appreciated in isolation.

In most cases though programming is a means to and end. In that case you've got to not only enjoy programming - but also believe in that end. When you do you'll happily wade through all kinds of language, system, and framework quirks and frustrations to get to that end.
We're a broken tribe. Why build something yourself, when you can have a code monkey do it. I do feel like a code monkey.

No wonder we have so many product managers, project managers, UX designers, UI designers, other forms of designers, but very few developers.

No wonder people rather be PMs of different sorts.
1) Mostly self taught, but a lot of credit goes to helpful people on various game development forums; people who were almost personal tutors, answering any stupid question I had and fixing my code for me. I did do a comp sci degree, but consider it a total waste of time/money (apart from gaining a little appreciation for testing and design patterns).

2) About aged 14, after getting my first PC. In the year 2K!

3) Couple years ago I started earning from it, aged ~24.
Mentioning pizza, beer, ping-pong, or swearing in a job ad are all will-not-apply conditions for me.

Pizza, beer and ping-pong in the job description suggests it's a social requirement to be involved in those things: it's almost literally being described as part of the job.

It indicates that there is likely a poor attitude towards work-life balance and employee health and is probably a marker for hidden prejudices disguised as "culture fit". Frankly, I value those rewards highly negatively.

As a philosophical exercise: consider replacing pizza with sushi, beer with wine, and ping-pong with Zumba. Still a sensible ad for a tech job? Why/why not?

Swearing at a bug and swearing at a potential employee are contextually different. I have no problem working in an environment where swearing at a bug is acceptable; swearing at an employee or colleague should be no more acceptable than swearing at a valued client (for clarity: not acceptable under normal circumstances).

The appropriateness of swearing is highly contextual - putting it in a job ad likely shows that you don't know where sensible boundaries are.
Come on. VBScript and Flash? Really? What I meant and you pretend to not understand is that there is no way to use another language just like you use Javascript when scripting a web application. I can't open a console and go

@document.query_selector_all(".fancy").each do |element|
...
end

I find that annoying. That a few companies have tried to introduce proprietary extensions is another topic, it doesn't mean that there is a real choice for developers.

The point is that some people decided some time ago that scripting the web and accessing everything browser-ish (DOM, Canvas, SVG, WebSockets, Web Workers, etc.) meant Javascript and that was it. The lack of choice and variety at hand is absolutely ridiculous. In no other software space would people tolerate to be forced into a technology like that.
My thoughts exactly. Especially since one of the headlines is "More Power, Less Weight", one could expect to find that weight somewhere.
1) Self taught from RTFM, various websites/tutorials, IRC & mailing lists.

2) Around 12.

3) 19

I first started to hack around on Linux, which progressively moved me to code stuff to hack around.

I've started working at 17 as a system administrator (at an hosting company then a startup), when it occurred to me that most SA work can be automated or controlled by code (I sometimes like to say that system administrators are the result of a code error), so I decided to became more a programmer than a SA around nineteen.

Before that I'd have developed a lot but just personal projects or sysadmin needs.

Since that i've worked in a couple of agencies, done some freelance stuff, and joined two years ago a startup with some ex-colleagues.

I've kept doing sysadmins tasks, perfecting my knowledges and learned new stuff like JavaScript & client side frameworks. I really love my sysadmins skills because I think they make me a better dev, as i'm able to understand how my code will run on the servers and the different complications.
Typed Clojure Indiegogo fundraiser hits target in just 48 hours
There's definitely a lot of developers who won't work at places with business-style dress code (suits, no jeans, etc.) in the financial industry.
Anyone know where I can find more about this DSLR quadcopter? I've got the original page on Flickr (http://www.flickr.com/photos/blank_canvas_photograpy/6868828...) but no more...
My parents got me an BBC Micro (Model B) when I was about 10 years old. The instruction manual had programming examples in it and I started off copying things out of the user manual. [1]

I took a computer science course in high school and learnt Pascal. I wrote a dinghy sailing (racing) management program when I was 17. I created a windows style GUI using ACSII codes. It worked quite well.

I went to university and was taught C++. I hated it. I wrote some C and Delphi during that time as well. By the end of university I wanted nothing to do with computers. For me, Computer Science in university was a disaster.

I took two years away from computers and worked in a completely different vertical. A friend got me interested in computers and programming again and I got bitten by the bug again.

I learnt some HTML and then got a job at a web agency as a junior trainee. I learnt ASP scripting and SQL. From there I went to work for a big computer company working on their online presence.

From there I bootstrapped my own web development agency (which died) and I've been freelancing ever since.

When ASP.NET came out I taught myself C#. Soon after Ajax became "the thing" so I learnt JavaScript.

Sometimes I have to hack around PHP, Python or Java. I sometimes think I should make the jump to Node or Rails, but all of my industry contacts are tied to Microsoft technologies. For the moment I will stay where the work is, and if it dries up then I'll learn something new.

[1] http://en.wikipedia.org/wiki/BBC_Micro
This is the same kind of person who would write software to find anti-Islamic comments had he been born in Iran, or to hunt down dissidents if born in China. The kind of person who reflexively genuflects towards the current state-sponsored ideology, whatever it is (quick test: is Obama on your side?), because he loves the rush of feeling holier-than-thou.

As an example, the lint checks that "bro culture" is bad, but female-friendly (like Minted.com[1]) is assumed to be good. All animals are equal, but some animals are more equal than others. Very predictable. Like any neo-Puritan, he then comes after profanity, and beer, and even (god forbid) competitive-sounding job descriptions! His vision of the startup future: an HR drone stamping on a programmer's face, forever.

So how about thoughtlint? Avoid hiring rowanmanning, or anyone on their helpfully provided list:

https://github.com/rowanmanning/joblint#thanks

People like this will spend their time being Adria-Richards-esque thought police rather than shipping code. Contrast with Max Levchin, who actually sold a startup for a billion-plus dollars:

http://blakemasters.com/post/21437840885/peter-thiels-cs183-...

Max Levchin: The notion that diversity in an early team is
important or good is completely wrong. You should try to
make the early team as non-diverse as possible. There are a
few reasons for this. The most salient is that, as a
startup, you’re underfunded and undermanned. It’s a big
disadvantage; not only are you probably getting into
trouble, but you don’t even know what trouble that may be.
Speed is your only weapon. All you have is speed.

If you want to work in an environment full of rowanmannings, that is your prerogative. Many others will select out and find places where people who enjoy bullying others with modern taboos on gender and the like don't self-appoint themselves as priests. Do you really want a team member who spends their free time getting people to upvote their new heretic-finding software to the top of HN?

[1] http://www.quora.com/What-are-some-particular-things-Minted-...
1) I got started using Basic on BBC micro, using book borrowed from the local library and bit of help from my parents. Not long after I switched to Q Basic on a PC, then Visual Basic. Until I was about 13, all the equipment I used was borrowed from my dad's work, so without that most likely I wouldn't have started that early. I learnt Java at Uni and later PHP. I droped in and out of programming in my teens, I didn't seriously start programing bigger projects until Uni.

2) I must have been 9 or 10 when I started.

3) I got paid to do some static HTML stuff when I was 16 but I first go paid to do code when I was 20.
Since the Schwarzschild radius is proportional to the mass, it is probably better to note that the maximum entropy of a black hole seems to scale with mass squared, instead of being proportional to the mass as in an ideal gas. But this can sort of be understood by noting that ( using a really badly flawed model of black holes) the minimum energy states are all occupied and to add matter, it needs to sit at a energy proportional to the mass of the black hole. Additionally, arguing about black holes assumes that we can not get any information out of the computer.
1)

Early 80's: TRS-80 / Apple / C64 BASIC, Z-80, and 6502 assembly-language via books and the wealth of magazines available.

Mid 80's: Turbo Pascal via a local CP/M community and a couple of books. I did take an introductory Pascal class.

Mid/late 80's: C, 80x86 assembly-language, and AWK from books and magazines and by necessity at my job.

90's: C++, SQL, Perl, Java, JavaScript HTML, and many other "learned as needed" languages in the profession. I used Delphi, C, Perl, and TCL for various side-projects.

I work primarily in Java, JavaScript, HTML. As a hobby, I like to tinker with Lua, Clojure, Erlang, and Go. While I still buy books, I depend more on the Internet community for more timely information and for code reviews and such. Publishing code for all to see via a blog or Github is a great way to invite constructive criticism and to learn the philosphy ( and not just the syntax ) of a particular programming language discipline.

Beyond coding I picked up development strategies ... version-control, team coding strategies, testing methodologies, ...etc. initially from the job, supplemented by reading material.

2) I was 15 when I started learning basic in 1980.

3) I was 21 when I got my first full-time programming job, but it was unrelated to my self-taught skills, at the time. I had taken vocational training in IBM mainframe ( COBOL, Assembler ) technologies and worked in those for about a year-and-a-half before I moved onto a new-to-the-company MS-DOS team ( programming initially in C ).
Stallman has encouraged South Africans to take a stand against e-tolling
Tempted to argue that the gixxer is anything but a VW Golf. It can take most sports cars from standstill and probably max speed.
Plenty of people have very meaningful lives outside of their family and it is nothing to do with chance. It does however require a level of effort that a lot of people just aren't willing to give.
Good looking design, but a superbike that doesn't make any noise? That's a dangerous game. The noise it's part of it's presence and dare I say it, safety.
That's exactly the right question to ask. When they were selling 15M phones a year or two ago, selling 5-6M M phones today is a disaster, especially when the trend continues downward after releasing the BB10 which was supposed to "save" BlackBerry. Then add the fact that they had to take a big loss on unsold BB10 inventory, and the picture is pretty bleak.

They can probably stick around for a long time as a niche player, but that's not going to provide the kind of big returns that the investors expect.
I was on the Amiga at that point and even if there was a free compiler it was never on the shareware disk it was supposed to be on and there was usually a bit missing. I got a copy of Turbo-C (with a book, maybe?) and programmed (on a PC) at work after hours.

I, too, learnt assembly mostly because there were a few good free assemblers available.
As someone who was in academia in mathematics, I'm excited to have a career programming. I'm continually learning stuff that has practical importance, instead of abstract questions that I usually can solve that is mental masturbation for the most part.

Being able to create full stack websites excite me, since I am able to create websites for friends and/or communities I am a part of, providing a valuable service that isn't all too common I find.

I disagree with the conclusion drawn - it's only terrible if that isn't what you want to do. However, that is more on the author, and less on programming.
This is exactly the feedback I gave them a few months ago, when this was on the front page again. I just saw the demo and saw that they feature a clickable mailto link with the email address at the top of the form, so it's all moot.

Whoever likes using their email client can click the link. Whoever wants to use the form can do that.
Life lessons I learned as a freshman in college.
Amersfoorts ontwerpbureau maakt redesign werk.nl
Its 2013 and in my university, the first programming courses are taught on pascal and modula2.

I think that later they teach you in C++ and Java at least...

I understand that you should use the right tool for the job (in this case teaching) but the basic concepts(and in general most difficult to get, because you dont know anything, not because the concepts are really that difficult) are almost the same on all languages
Younited is created and hosted by F-Secure for privacy. No spying. No backdoors.
> Imagine coming to work to spend hours googling, wiring together unbelievably shitty, amazingly poor documented frameworks and battling Javscript and CSS.

I don't have to imagine it. Happens every fucking day.
May be a Stockholm syndrome... ;) If you're forced to do things one way, you will get very used to it.
Very nice! What would be great is if you accepted contributions from the community. Also I was looking for a bootstrap template this weekend for a site with the logo above the navbar but wasn't able to find a good free example.
If you hate JS hacks and web apps and that's what your current job is doing, quit and go work on some database internals or a large distributed system or something. There are lots of jobs that aren't working on CRUD apps out there.
It started when I was a gradeschooller, with a debug mode cheat code in Sonic The Hedgehog 2. I became obsessed with how I could break the game's rules, and it singlehandedly taught me what I call "programmer's logic" -- understanding intuitively the principles of how programs are nothing more than mechanistic reactions to states. By the time I wrote my first program, I knew how to code. One of the first things I wrote was a 15-page multiplayer Pacman with a level editor, which I did with trial and error and reading help pages.

It wasn't long before I discovered the internet and started breaking things on AOL. It was almost all exploration, with a bit of RTFM and IRC thrown in.

I ended up going to school for CS but that what nothing more than a formality to land a west coast tech company job.

I'm not convinced there's any way to cheat this process. I think you just need to have an insatiable curiosity, seriously intrinsic motivation, and 10,000 hours.
1) I started with some High School courses in VB6/VB.NET/C++. Eventually I stumbled upon C# which I fiddled around with for several years. I had some college, but I quickly realized I preferred writing useful applications to studying theory.

2) Reading through these posts makes me feel like I started learning later (15/16).

3) After I landed the internship I effectively dropped out of college and started working as a contractor. I hope to go back one day, but I have too much fun with my day jobs to take a break.
But then, as a software engineer, you push for a big rewrite, or introduce a new framework / technology, or do some NIH work or over-engineering. And you actually convince business users that it's for the benefit of the product / business / whatever, while you know it's only to keep you, a programmer, from dying of boredom by doing the same repetitive boredom one more time.
Programming is a laboratory. Writing programs isn't productive in itself, it's only productive if you can solve a problem which can be solved by a computer. Nobody really cares about primes number, it's just an easy exercise to write code that solve one problem. You need to put the real world into a computer's perspective.

But in order to make a program that is actually useful, you have to understand how computers can be useful, and that's what you need to understand if you want to make your programming skills useful.

There are still many ways computer can be made useful, the problem is, programs need to adapt to real life problems.

What the author describes is its inability of doing actual innovation. Innovating requires one to know a particular domain, and propose a solution that can be done with a program.

Specializing in an existing domain, like graphics, kernel writing, or compilers, is not productive in itself, because those are niche domains which only revolves around computers, they don't solve real life problems. Maybe they will one day, but I doubt advising many students to focus on those issues is really a good idea. Those domains are important, but there will always be enough skilled people to take care about it, and often, those people work in particular company background.

Don't put programming or computers on a pedestal. It's awesome, yes, but innovating can't be a circlejerk. You have to get out to prove your skills are useful. You need to do business with it, and often, most companies don't do it well because entrepreneurs don't understand what computers can do.

You just need to understand computers are intelligent, but you need to teach them. That's what true programming is. A bunch of GOTO, a functional language or any new embedded device will not help you make computers useful. If you're not happy with your job, invent your job, and it will be hard to be heard because your project will need to be rock solid if you want to start it up.
By the number of people that are pissed off about webdev and still don't success at changing it, and by the amount of "Oh Brand New Automagic Solution for Everything (TM)" coming up every month and still failing at fixing the mess that webdev is... I'd say it's not so easy to "fucking change that".
Bitcoin Maverick Returns for New Crack at Digital Currency
There are many reason why programming is a great career:

1. You get to create things

2. You make things that are useful to other people

3. It is fascinating to see the program you wrote execute as intended

4. There is always more to learn – you are never done

5. Short distance between idea and running program

6. Code is very expressive

There are also lots of jobs to chose from, and they pay relatively well, so if you don't like where you are: switch. There is no reason to stay in a boring job when there are many interesting ones to switch to. More on why programming is great: "Why I Love Coding" http://henrikwarne.com/2012/06/02/why-i-love-coding/
I think you're slightly taking my example too pedantically. In any case...

> Is this just because non-IT managers don't trust what IT managers say?

Yes, but the non-IT managers are even more uninformed. Everyone at some point is to blame, unless you can point that blame outside of your organization. Imagine this conversation going all the way up to the CEO. "But Gartner said to stop supporting Blackberry" holds some good value to her.

> Non-IT managers blame IT managers for their use of analysts as a comfort blanket.

I'm sort of confused by this comment, is this a statement you're trying to make? Either way, as you said, the key decision maker is usually the non-IT managers (usually at VP level or higher).

> I realise there are analysts for all kinds of industry but I can't think of another example where analysts wield the kind of power that Gartner hold over the IT industry.

I don't know many other industries that (1) have so many solutions (2) available to them globally (3) at so many different price points (4) with such a complexity of features. Finance rings a bell, but the competition is much higher.

Some good comments about the woes of the analyst industry in big tech:
http://blog.softwareinsider.org/2013/08/09/personal-log-the-...
There's a reason it is called work and not play. If work was always enjoyable, then they wouldn't need to pay you to do it.

I think the author is delusional if he thinks any programming anywhere doesn't have large swaths of time that are a bit mind numbing. And my experience has been the programmers who think themselves 'above that' are the ones that provide the least value.

Our job is not to program, our job is to create value. You should be getting your jollies off of making cool shit happen, solving real problems, not necessarily that you just invented some sophisticated new algorithm.

I spent three years rebuilding video games I grew up on a really limited cell phone platform, it was a blast from a technical point of view. I've spent the last three years building fairly rote software that is used in developing countries, it is satisfying more because of the end result that software will hopefully have.

Go get a job someplace where you care about the end result of your work, or go work someplace where your technical side is challenged, but programming is not terrible, your attitude is.
This is total nonsense. Reverse sexism is not a thing. Of course "bro culture" is bad, and of course female-friendly is good.
sirclueless implied that int64_t was not C99, which is wrong.
John McAfee wants to sell you a $100 gadget that blocks the NSA
Unix file security 2013 (z/OS)
z/OS
Or do you think Benvenuto Cellini was happy doing salt and pepper for François 1er? (He wasn't, according to his biopic) http://www.jamesgreer.net/wp-content/uploads/2011/05/cellini...
But that's what the kind was paying him for.
1) When I was 8 I just started reading a GW-Basic programming book, not knowing what programming was at all, just wanted to know more about computers. My dad had it on the shelf. He then told me we had GW-Basic installed on our 8086 and together we figured that out a bit. From thereon, books from the library (no internet), a floppy disk from a friend with text-files about game programming. Later internet, University and a lot more internet. At University we learned Java, which was my first OO experience (talking 1999 here).

2) As I said, when I was 8

3) 10 years later, on and off (but often in a setting where I had job X and rolled into doing all IT around it up) until I became a scientific programmer 4 years ago (after quitting my Phd in Neuroscience, but that is another story) and started working as a self employed app developer in mHealth last January.

) Edit: PS: I think I outpaced my dad very soon, so most of that was all by meself. I especially remember a 1400+ pages book (in Dutch called 'PC Intern 4') that I borrowed many times from the local library - and given the topic it wasn't really surprising that it was always available: it went into PC hardware programming as detailed as possible, specifying all int 21h calls, explaining how to program the 16 bit Soundblaster and write stuff immediately to the VGA video memory.

PPS: I've teached myself programming in GW-Basic, Q-Basic, Asic (which was mainly Basic but had a compiler, WOW!), Assambly, Pascal (inline ASM, WOW!), C (Dos 4GW, WOW!), Java, PHP, JavaScript, Perl, Objective-C. I also did Prolog at the University. And I've done a bit of scripting left and right in Ruby as well.
Interesting concept. Once I worked with a really talented/accomplished designer and he said something that's stuck, with me while we were working at something that felt like it could go on interminably: "What would I do if I had to finish this today?"