For the best experience on desktop, install the Chrome extension to track your reading on news.ycombinator.com
Hacker Newsnew | past | comments | ask | show | jobs | submit | history | mibbit's commentsregister

List 10 distinct careers where programming is a fundamental skill.


Pretty much anywhere people use Excel. Any job where people use spreadsheets and their output is quantified and measured against their peers is ripe for automation by enterprising individuals. Why not be the fastest, most accurate analyst on your team?

From pg: "To get rich you need to get yourself in a situation with two things, measurement and leverage. You need to be in a position where your performance can be measured, or there is no way to get paid more by doing more. And you have to have leverage, in the sense that the decisions you make have a big effect."

And also from Zed Shaw: "Programming as a profession is only moderately interesting. It can be a good job, but you could make about the same money and be happier running a fast food joint. You're much better off using code as your secret weapon in another profession.

People who can code in the world of technology companies are a dime a dozen and get no respect. People who can code in biology, medicine, government, sociology, physics, history, and mathematics are respected and can do amazing things to advance those disciplines."

[1] http://www.paulgraham.com/wealth.html

[2] http://learnpythonthehardway.org/book/advice.html


Reminder: pg and zed are not deities. They have an opinion.


Any software development career, of course.

IT careers; even sysadmins need to write scripts to manage systems.

Any career in the sciences; basically any scientist, even a pure experimentalist, ends up needing to write simulations in MATLAB at the very least.

Any engineering career: computer-modelling complex systems, whether chemical or mechanical or whatnot, requires programming skills.

Anyone in applied mathematics, like operations research.

Anyone in quantitative finance.

I'm pretty sure this covers way more than merely 10 "distinct careers", and there's plenty I missed.


BASIC worked just fine as a first language for most people who grew up in the 80s.

But as I said earlier in the thread. We shouldn't teach them programming, or specific languages. We should teach them general problem solving.


You know what's fun, programming. You know what's not fun, general problem solving. You've got it all backwards. I learned to program when I was 8 years old reading books and modifying games in BASIC. It was a great time. I never considering it work.


I was the same (well it wasn't BASIC, I was 8 in 1998). Programming is fun, and I never considered it work, but I don't think you and I were typical 8 year olds. Not sure if general problem solving is more fun, but you're implying 'programming is fun for 8 year olds', which may not hold true for all 8 year olds.


I was blessed to have a very good highschool computing science teacher -- the class was a good mix of boys and girls and those experienced and inexperienced and in the end everyone produced some really neat games and had a great time.

I've taught my daughter a little bit of programming when she was younger -- I tried her with Visual Basic and we built a app that did some computation -- and she really enjoyed it. It gave her an appreciation for what I do.

So I really think that programming is generally an enjoyable experience. That's not to say we aren't exceptional, but there are exceptional people in all sorts of pursuits.


Agree. Kids need to learn logical thought processes and problem solving. They don't need to know how to 'program'.

How do we even know 'programming' will be a relevant skill in 30 years time?

Buy every kid of 3 a tub of Lego bricks (Not a 'set'). That would go a long way to getting them thinking, problem solving, and building stuff.

And don't get me started on the "There aren't enough females in programming" BS rolleyes

FWIW, I would happily sign against this petition. I do not think teaching kids to 'program' at school so early is worthwhile. Programming is an extremely niche career, and anyone who is interested in it can easily learn.

You're likely to bore 90% because they're not interested in learning programming, and the other 10% will have learnt it all at home years ago and will also be bored.

</rant>


There aren't enough good programmers. Period. In fact there also aren't enough programmers, period.


Perhaps if more programmers were working on a solution to cancer, instead of a social webapp to allow people to share photos of their dogs...

Not to mention the number of programmers who waste their time creating new languages and frameworks. Then they spend years rewriting everything in node.js or whatever the fashion of the day is.

I'd say there's more than enough programmers.


> who waste their time creating new languages and frameworks

Well that's just laughable, and says more about yourself than any of these allegedly offending third parties. There has been tremendous progress in both frameworks and languages over the last decade. If you can't see that then, well, I don't really know what else to say, other than to perhaps get off your lawn.


> There has been tremendous progress in both frameworks and languages over the last decade. If you can't see that then, well, I don't really know what else to say, other than to perhaps get off your lawn.

If that's true, can programmers today do things they couldn't do 10 years ago? Can they program faster than they could 10 years ago due to all these innovations in languages and frameworks? I'd say no on both counts.


> I'd say no on both counts.

Well, you're entitled to your opinion I suppose, but I don't know any professional programmer who would even come close to agreeing with you.


What about me? :) I agree with him.

So you're suggesting that the time to market of an ASP.Net MVC, NHibernate, Autofac, Razor, SQL Server application is going to be lower than a classic asp and SQL server application?


I thought you were a sockpuppet ..

I wouldn't know anything about the stack you describe. Seems to me the barriers there are all Enterprise related; framework innovation isn't the bottleneck. Big business software - perhaps that's something that hasn't improved much, if at all.

But this is a startups related site, in case you hadn't noticed. Web programmer here. Web frameworks have improved immeasurably. If you tried to tell a web programmer that nothing has improved since 2001 you would just be laughed at, and rightly so.

It's not just about the web though. Look at the new functional languages. Look at the message queues, the image libraries, computer vision, sound .. bloody everything. Tell me, is h264 better than mpg videos from 2001?

Step outside your bubble man. In fact, leave your bubble, it sounds pretty depressing in there. This is a very exciting time to be a programmer.


Hardly. I like it here.

And as for startups, I worked for one once. It's a big business now.

I build software which happens to reside on the web, not "web sites" or "web applications". Sometimes we have desktop applications deployed because they require real-time data. Sometimes we integrate with massive systems with millions of users. We don't use functional languages (they do not suit our workload and don't scale to our recruitment requirements), we use message queues (NServiceBus, zeromq), we use image libraries (GDI, reportlab), we use all the funky nosql stuff (Mongo), we use ORMs (NHibernate), we don't use computer vision or sound because we don't need it in our space.

Big, exciting things happen where I am.

It's the bubble you are in that I'd hate to be in. The superficial one which appears to be based on pushing social crap, novelty iPhone applications and glorified todo lists on the world.

My problem is that we did ALL OF THIS in 2001. The process hasn't changed, but the tools have and the time to market is the same.


But 99.9% of these innovations don't help the world. They help a small subset of a small subset of a small subset of problems from a small subset of a small subset of a small subset of society.

Compare to if someone worked out how to stop Neurofibromatosis dead in its tracks for example (a condition my youngest daughter has), they'd give 1 in 3000 people a better chance.

People get a Jesus complex because they build a tool that a vocal minority uses.


Even if we accept your claim that only 1 in 1000 inventions help the world, which I think is pessimistic, that's still progress. What would you rather people do? Not invent?

A programmer writing a new framework might not directly help cure Neurofibromatosis but they might make it slightly easier for another programmer, which is then inspired to work on his program, which saves a medical researcher a few minutes and gives him the time he needs to have his breakthrough. Or maybe a better search result gave him what he needs. Technology is cumulative. Criticising people because they're not working on your favoured project is pretty lame.


I agree with your sentiment but I see the other side of it. Technology is cumulative but noise slows down decision making and fragments knowledge.

The world does not need 200 programming languages, 1000 javascript frameworks, 500 different web servers and 20-odd social platforms which exist only to boost the ego of the originator who can market their idea better than othersr. It needs some concise, un-fancy-looking tools that are fit for purpose and can be used as a common ground for communicating ideas. There is so much fragmentation it's unbelievable.

Everyone thinks they can do better, yet no-one delivers any real efficiency improvement.

TBH going back in time, I can still deliver the same output as node.js with classic ASP/Jscript from 1998 arguably with less code and time spent.

Back on the subject of med research; they tend to still use Perl, bits of sticky tape and TI89/92 calculators a lot apparently (word of mouth from a friend who works in tissue sample analysis).


> The world does not need 200 programming languages, 1000 javascript frameworks, 500 different web servers and 20-odd social platforms

But .. that is the way we find the way forward. It's like evolution. We may not need 500 different web servers but .. that's a lot of different ideas, a lot of variation, and in the long run, a lot of innovation. Eventually the "best" way is chosen and we go to the next generation.

I actually think the proliferation of programming languages and frameworks, especially open source, is one of the purest meritocracies you can find. They live or die by their quality, innovation, new features. And the whole community is dragged forward. What you are advocating is basically central planning. Did you realise that?

> I can still deliver the same output as node.js with classic ASP/Jscript from 1998 arguably with less code and time spent.

LOL. Dude. No way.

Something you said earlier was instructive as to the mistake you are making with this line of thought. You said that "programmers can't do anything more today than they could in 2001" - or something similar. Or that other guy said it and you agreed, whatever.

Look, that's literally true. In fact it's literally true to say that any programmer can do anything as long as they use a turing complete language. This has been true since the days of ENIAC.

What has advanced, massively, is the knowledge of the best ways of doing things. Design. Efficiency. Elegance, maintainability, scalability. That is what has mainly improved. Knowledge. The laws of the universe have not changed, everyone agrees with that, but we have worked out, a little more, what works and what doesn't.

And I'm afraid your ASP/Jscript falls into the latter category. I'm sure you could mimic some tiny subset of node.js using that toolset. But it would be a hideous mess of spaghetti code. Unless, of course, you used the knowledge you gained over the last 10 years to basically reimplement node.js in ASP, presumably gaining express pre-approved VIP entry to Hell in the process. So things have advanced, haven't they?


Tell me two characteristics or features of node.js that cannot be built (in an old-fashioned circa 2001 way) with either ASP/JScript, Perl/mod_perl or PHP 4?

I'm not interested in "scalability" as that's moot - hardware is cheap.


Give this man a medal. This is exactly the problem with this planet.


Personally, I think there are plenty of good programmers.

Unfortunately there are a lot of problems which people like to solve over and over again...


you should see some of the code that smart, hardworking and logical people end up writing in the sciences because they are 10 years behind in programming education and experience. then the next generation of PhD students rolls in and rinse, repeat.


hint: You don't need 48gb ram to run a social bookmarking site.


That's an amazing amount of money to be spending on hosting.

Should be spending nearer $200/mo total for hosting a service like this with that number of users IMHO.


Why do you think so? Not all sites are created equal. And Pinboard is definitely on the lean side.

Try hosting a cluster of Magento 'daily deal' sites on Amazon infrastructure, with shared storage and isolated RDS instances for each region. You end up with 15-20k $ per month for god damned bloated magento installs.


...then don't use magento.

What I said was that for the functionality pinboard provides, and the number of users using it, the hosting costs are extremely high.

If the hosting costs are high because of inefficient software, or bad architecture decisions, then those should be changed.


If the hosting costs are high because of inefficient software, or bad architecture decisions, then those should be changed.

If anyone here believes this, make your best estimate as to how many man-months you need for a re-architecture and how many hundreds of dollars you'll save in hosting costs, then do the division to get your effective hourly rate. I'll pay you that plus 50% for contract programming work.


In the example, the current hosting is $24k/yr. If that can be slashed to $2.4k/yr, you've saved $21.6k a year in hosting.

For $21.6k/yr I'd say it's worth a week or two re-architecting.

Yes, it's a different game if you're profitable and $21.6k is negligible, but if you're a startup you should be spending time to optimize things.

The other point is one of scaling. If you're paying $2k/mo to support 15k users, when you scale to 15m users, you could be paying $2m/mo unless you fix things early on.


What makes you think that in "a week or two" you are able to cut costs by a factor of ten without sacrificing performance and reliability?


Well, there's a lot of people here expressing surprise at the cost of hosting a small user base of simple data in a not complicated problem domain.

It looks an order of magnitude too expensive to us, there's probably some simple thing wrong in the architecture.

Maybe we're all missing a key complexity of the service. The Archival service might be it.


I'm imagining the full text search of the archive to be a factor, but then again I don't know much about search.


I am not using it personally but administer and maintain a cluster, among other people. Magento is brain dead.

As for high hosting bills, build your own equivalent version and then share your own hosting bill data.


Well, my own data point is Mibbit. And I can tell you I certainly don't spend that much on hosting.

Still, easy to criticize without knowing the full facts...


tl;dr; = It's an array with a few utility methods, but can also hold 'infinite' things like "all the positive even numbers".

Not terribly useful imho and certainly doesn't live up to the hyped intro.


Streams and other lazy infinite data structures can be very convenient, but this isn't really obvious at first glance. I recommend you check out some of the FP literature. A good place to start reading about the virtues of streams and lazy evaluation is "Why functional programming matters" (available at http://www.cs.utexas.edu/~shmat/courses/cs345/whyfp.pdf).


It's a good concept and all, the issue i've had with it for my own use is that the native Array functions are so fast in JavaScript (and function invocation so comparatively slow) that you really need a very specific use case for them to be worthwhile over simply performing your operations on the array directly like Underscore.js.


XHR was introduced many years after js was extremely popular. Also XHR doesn't add anything technically. The same thing can be achieved with dynamically adding <script> tags, or using an iframe, or a number of other methods.

The introduction of the buzzword 'ajax' certainly popularized what people had already been doing for years though.


The pre-XHR methods were super-clunky though. The technical contribution of XHR was to provide a standard and clean way of programatically sending HTTP requests in the background without refreshing the page. Without XHR or something like it, I don't think browser-side applications would have taken off the way they have.

It's a shame the Microsoft engineers hadn't thought of making websockets instead. Bi-directional communication would have been useful for the web-based version of Outlook they were supporting, and it would have become available to the rest of us much earlier.


And XMLHttpRequest was the replacement for an earlier applet-based method called 'Remote Scripting', which was pulled when MS lost the Java lawsuit. (And contrary to what DougWebb said, it worked pretty well.)

Remote Scripting itself was a copy of an IBM applet which Netscape pushed in the v4 timeframe (although practically, NS4 was too unstable to do any real dynamic html.)

So it really was the "AJAX" branding effort that got devs to notice what had been under their noses for some time.

("MSRS" now stands for something else entirely, but here's an old article discussing pre-historic AJAX techniques: http://www.ibm.com/developerworks/web/library/wa-resc/ )


BS. Syntax is exactly like fashionable clothes. It's irrelevant to how warm your clothes are.

The number of developer years wasted coming up with yet another programming language or syntax is staggering.

It's a solved problem. Pick an existing syntax and use it.

You don't see people endlessly coming up with new syntax for math do you. We've got one, it works well, so we use it.


> It's a solved problem.

No it isn't.

> You don't see people endlessly coming up with new syntax for math do you.

Actually, yes, yes you do.


There are many mathematical notations for the same things, usually depending on the domain or different focus. Just like with programming languages.


Choice of syntax affects how easy it will be to create tools for the language (IDE syntax highlighting, code browsing/navigation, automated refactoring, etc). There is still plenty of room (and need!) for improvement, for innovation. At the other extreme, imagine a world where every language used C++'s syntax.


Imagine a world where instead of writing books, authors spent forever needlessly inventing new languages to write them in.


They already do both; have you not ever read Lord of the Rings?


There are more differences between steel-toed boots, sandals, and stiletto heels than just how warm they are. In modern times it is also rather rare to encounter individuals wearing togas and/or powdered wigs. I'm not convinced that fashion is a complete explanation for these phenomena.


I think the problem was they couldn't find enough people who wanted to use it for free, to bother trying to charge some of them with a premium package.


> Conde Nast buys reddit, and people predict a train wreck.

Has it not been a train wreck in terms of profitability? Or is Reddit making a few hundred million in profit nowadays?


Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search:

HN For You