skysight-inc/HackerNews huggingface dataset:
For the record, I agree, and Chicago was an issue when we talked to VC back in '05.
How I reliably enter the Zone: TDD
i, for one, welcome our new li^H^H arc overlord
So if you lived in Oakland and your best job opportunity was in Santa Clara on Great America Parkway, what's the convenient way you'd get to work without a 45 minute car ride? Or for that matter Sunnyvale, or even Pleasanton?

There are obviously lots of good reasons to live in SF/bay, but transportation really doesn't seem like one of them. What am I missing?
Congrats nickb: first to pass 25k karma (Kk?)
Cringely is a stooge for The Man.
The problem here seems to be that the carriers control the platform. Most cell phones can't run software without carrier approval, so the carriers want their cut even in cases where the application has nothing to do with their network.

Android and the iPhone seem to be steps away from this.
Congratulations. Time to reset 'gg' and set the account aside: http://news.ycombinator.com/user?id=gg
i'm really happy for you guys, this is great news!
Congrats!

I'm also a new father - PG (and everyone else) could you share any general parenting advice, or give pointers to sources from which you seek advice on parenting?

One I've found invaluable is Alfie Kohn - his ideas gave me insight into general psychology as well as child raising that I'd feel completely lost without.
there should be a feedback element (or resistance of media)

btw, duck can't fly so u may want to cut that feature
In addition to SGU and Astronomy Cast, both of which are excellent, you might want to check out the Nature Podcast ( http://www.nature.com/nature/podcast/ ). It's gives a good overview of new science news, and often includes interviews with the researchers.

Also, SE Radio is an excellent programming podcast. http://www.se-radio.net/

Finally, it isn't a science or engineering podcast, but I just started listening to the History of Rome podcast, and I'm really enjoying it so far. http://thehistoryofrome.typepad.com/
A Matter of Life and Debt by Margaret Atwood
congrats pg and x! So exciting :)
Two key grafs:

Debt--who owes what to whom, or to what, and how that debt gets paid--is a subject much larger than money. It has to do with our basic sense of fairness, a sense that is embedded in all of our exchanges with our fellow human beings.

We are social creatures who must interact for mutual benefit, and--the negative version--who harbor grudges when we feel we’ve been treated unfairly. Without a sense of fairness and also a level of trust, without a system of reciprocal altruism and tit-for-tat--one good turn deserves another, and so does one bad turn--no one would ever lend anything, as there would be no expectation of being paid back. And people would lie, cheat and steal with abandon, as there would be no punishments for such behavior.
The right job.
Lisp, duh.
Bill Gates’s Next Big Thing
I've also heard from software people that it isn't a good place to work. In fact, I've only heard it from software people. I haven't talked to or read blog posts from anyone who's worked in their warehouses.
Santa Clara is not anywhere along the "Fremont to SF" easy-access claim of drsnyder.

If you want to live in Oakland and don't like a 45-minute car commute, you don't take a job in Santa Clara or Sunnyvale.

Oakland to Pleasanton should be reasonable by BART.

The Bay Area can't compare to the USA's best train-centric cities (NY, Chicago, Boston) but beats most other domestic places for mass transit. Still, it's spotty, with some great corridors and some journeys that are really hard.
"We Live in Public" wins Sundance (video)
Over the last 4 years you've gained more than SAP-specific knowledge. You've developed a process, or methodology, for solving problems. This is very important, and smart employers will recognize it.

Also, use your spare time to code in one of those languages so you have something to show employers. I would suggest a more advanced language, such as Scala, because Java, C# and Python are all essentially subsets of Scala.

For what it's worth, I had pigeonholed myself into PHP/MySQL development and was getting sick of it. So I applied for a summer internship with a financial company and got to work on some much more interesting stuff. Of course, I was still in college, so your mileage may vary, but what I'm trying to say is that if you want to change courses just start applying.
Why did this get downvoted - people may disagree but a legitimate and informed opinion. Upvoting it back.
Ah, can you say "shotgun wedding"? http://news.ycombinator.com/item?id=205918
Another great metaphor I find analogous is "Mozart vs. Beethoven" style programming

Wow, that's really interesting. I find Beethoven to be an incomparably greater composer than Mozart, and I feel the same way about the exploratory approach to making software: it's just obviously better. Whether it is obviously better or just a better fit for me is a fair question. I will say, though, that I don't feel the same way as you about the advocates of the top-down, up-front style. What have they built? What systems did Dijkstra build? As far as I'm concerned the great practitioners are pretty much all lined up on one side. Counterexamples are welcome.

(I should add that I don't mean to belittle Dijkstra's achievements, just that as far as I know they didn't lie in the direction of building working software. Of course that didn't stop him from castigating basically everyone who did do that.)
Well, it's too late now, but if there are any other parents out there, for God's sake give your kid a globally unique name. It's all one big namespace now. There are other Eliezer Yudkowskys out there, the poor bastards, and they'll spend the rest of their lives under my ugly Google shadow.
Is it George Graham (GG==Good Game) or George Livingston (GL==Good Luck)? I hope he enjoys our gift... take pictures! ;)
Chicago's not a great place to get funding (we have JK&B and... nothing?)

The Funded says: http://www.thefunded.com

Prism Capital
OCA Venture Partners
William Blair Capital Partners
Mesirow Financial Private Equity
Baird Venture Partners
SSM Ventures
ARCH Venture Partners
Adams Street Partners
ARCH Development Partners
Hyde Park Angels
i2a Fund
Apex Venture Partners
Fusion Capital Partners
Frontenac Company
IllinoisVENTURES
Merrrick Ventures
Dunrath Capital
Also, having some kind of certification like Sun's Certified Java Programmer/Developer thing can be useful

IMO, you should write something cool and then apply for some jobs and if nothing works out then just wait a while, write something else, then apply again

Ow, and you are definitely not in a hole, SAP is an awesome company. If you're bored with what you do now ask for a transfer to a different department.
http://images.google.com/images?hl=en&q=flying+ducks
A number of these are really small firms that don't lead on early stage tech investments.
CBC's Quirks and Quarks, great science radio show ( available in podcast ).

http://www.cbc.ca/quirks/
Welcome to the world, Georgie! Man he's got the best choice of initials. GL for good luck, or GG for good game, haha.

Watch, his first language is going to be leetspeek.
I'm gonna go ahead and add DC to the mix. It has 3 airports, an excellent metro and bus system, Verizon FIOS, relatively cheap out in the exburbs or apartments in formerly sketchy neighborhoods, and great proximity to NYC.

The only issues are the lack of people and VCs. You can always do contract work for the government though!
LOL I just said the same thing --
probably GG, it's more BA
I rip my hair out at this. I live close enough to Century City that I can generally walk to metro/santa monica/culver city lines if I can't take my car, but to most places I want to go to it's horrid and ends up taking more time and costing more as well. The only time I have never regretted taking a bus is in the super early mornings when I have an entire bendy Metro Rapid bus to myself all the way downtown, or when I can take the commuter express...both usually to get to some destination near downtown.

You need to live in very specific areas to benefit from existing public transit, and the inflexibility of the existing systems (and city sprawl) will not make you happy in those occasional situations you need to go to some kinda event that is way out of your way. Other than that, yes, maybe Metro itself is pretty awesome. Also, I have to mention that the flyaway service is awesome too, public transit from westwood to lax in the same time as a shuttle only paying 1/4 of the price? Yay!

I wish car sharing were more popular in this area, but flexcar/zipcar sort of fucked us over in that aspect.
OK. I didn't know. Thanks for the enlightenment.
It's simply ridiculous. Maybe we'll soon see a return to the dotcom tactics of alladvantage,themutual etc,etc - Pay people to become your "Users" so you can get more funding.
I think it's more likely investors have believed the hype rather than actually do any rigorous business analysis based on potential profit.
Cambridge is the only one with both jobs and usable public transport. If you are a decent cyclist, I may add Berkeley.
Surely a valuation is meaningless until you are able to actually have a liquidity event.

If it was me, I'd recognize that the Twitter hype is probably peaking about now, and it's a good time to quit and take some cash.
I am looking for someone to help me build a web app. I think it may be possible to do by building or extending a module for Drupal. If you are interested I would share my concept and you can see if it is appealing to you. This way you can gain some experience and maybe we can create something great. :)
I was going to simply reply with "GG NO RE" but I didn't think anybody would get it :P
Probably because suggesting LA for a person who wants public transport is like suggesting they move to the maldives if they want great, low latency, bandwidth for their data center.
Why does the employer have to take your word for it? Why don't you write something in the language/technology that you want to work with and post it up on your website...or contribute to an open source project that uses it...etc

The point is, code speaks louder than words. And your project doesn't haven't to be anything fancy or big, just something that you might need. A blog engine, an rss reader, a utility to do foo. Anything that shows that you can solve problems in this new environment as well as you can in a SAP based one.
I think the best advice so far is in fact to learn other tools in your spare time and work on some open source and personal projects so you have something to show. Start a blog to describe your experiences. Send a potential employer to look at your blog and projects and they will see someone who (hopefully) communicates clearly and codes well and thus will want to hire you.
So, you think that the people there are not competitive enough?
>And "I could be productive with any of those languages" is a very bad sales pitch. People don't want a generalist.

Which people? I'm not asking this to be provocative, but this one of those points where a lot of people seem to have strong opinions, both in blogs and off-line, and the sides seem pretty balanced in size. Even the advertisements seem split between very specialized work, and a company that just wants someone who is intelligent, for whatever internal value of intelligent they choose. The most notable characteristic I've seen for tending toward either side of wanting a specialist is the company's size.

My own thoughts on this are torn, but tend toward one of the sides.

On one hand, I can understand needing someone who is highly specialized in something simply because it takes so long to become highly specialized in it. Usually, this has much less to do with the language, though, and much more to do with the domain of the problem needing code to solve.

On the other hand, the claim that someone can hit the ground running if only they specialized in the particular language du jour is completely bogus. There is far more to understanding a system than understanding the language it was written in, and learning whatever technology they based the system on will disappear into the noise compared to trying to understand what they wrote on top of it if the system is of any size.

I can imagine that, in a lot of cases, a generalist would be able to get up to speed nearly as fast as a specialist. More importantly, they would be able to adapt to inevitable change far better than a specialist; the one thing that they perhaps specialize in is learning and drawing parallels. I think this skill is way undervalued in most development teams when hiring.

And all this specialization goes out the window when the system gets iterated to a new platform, and they fire the specialists, hire on an entire new set, and then become stunned again when these new people don't come in able to be maximally productive on the first day. I don't know that I'd want to work for someone who wants to hire people this way.

You'll forgive me for pontificating for a second here, but usually when I see the call for "specialize, specialize," it is from someone who is looking themselves to find a very small niche, negotiate a massive salary based on their specialized knowledge, and live the good life once they have cashed out their knowledge capital in a few years. I'm not implying that the parent commenter holds this philosophy, but I've never seen this work. Either the niche vanishes or becomes less relevant, or they get thrown to the curb when the company "re-specializes" the IT group.
georgegraham.com is taken, whereas georgelivingston.com is available (but not for long?)
Your analogy seems to me to go awry here:

you would start with cells - sounds good

you would first have had to have divided the duck up conceptually into different parts in order to know that different cell types are needed - does not follow.

I noticed that your premise assumes a requirements analysis that already nails down what the program is supposed to do. While that way of thinking is common in the corporate world (where, I note in passing, effective software development is not common - coincidence?), it doesn't fit well with the style of programming you're asking about. If you've read PG's piece on the subject (http://www.paulgraham.com/progbot.html) you may recall that there's one passage in it that he emphasized. It begins:

It's worth emphasizing that bottom-up design doesn't mean just writing the same program in a different order. When you work bottom-up, you usually end up with a different program.

The program changes as it evolves and your understanding of what the program is changes as it evolves [~]. All sorts of interesting feedback loops result.

When I work this way, I listen to what the code is telling me. That is, I start with something primitive (your "cells" in the analogy) and sense where it's leading. Perhaps it's akin to riding a horse where there's a balance between what you want to do and what the horse wants to do; or to creating a piece of art where the creative process incorporates feedback from the medium itself and from the work as it's emerging.

That doesn't mean it's all spontaneous, with no guiding factor. If that were true, no system would emerge - you'd just keep going around in circles and finding yourself back at the primitive level. But the guiding factor is not at all like "dividing the duck up conceptually into different parts". It is more like having a felt vision of what a duck would be like. You have that vision and you keep referring to it as you go along. But the vision itself clarifies, and sometimes changes, in response to what happens in the code. You discover what the system is as you make it.

Learning to listen to what the code is telling you is one of the most interesting things you can do as a programmer.

([~] PG's piece doesn't say that your concept of what the program is changes, only that the constructs it's composed of will be different. I think the two are related though.)
Nokia 6070 Keypad Ways Jumpers
6060, 6060 keypad jumpers, 6060 keypad problem, 6060 keypad ways, 6070, 6070 keypad jumpers, 6070 keypad problem, 6070 keypad ways, Nokia
Have you run a website with that many users? Harder than it looks...
A year with an Amazon Kindle
I don't quite agree on the first statement. I've known programmers who have been working with COBOL for the past 15-20 years. And they're good at it. Except that it seems that they've been living in a cave for the past 15-20 years and know nothing about current programming paradigms or technology and definitely not languages. So yeah, those people have pretty much placed coded themselves into a hole.

Of course, they might be good COBOL programmers, but that doesn't mean that they're good programmers. In my opinion, a good programmer would always be trying to enrich his knowledge by working on different ideas, different technology no matter what his day job is.
Europe (every city) ;-)
I was very suprised by his first answer:

If you look with a squinty eye at most of personal computing today, you'll see we're basically just automating paper—using digital versions of documents and mail.

but then I noticed that the article is dated April/May 2003.
Facebook screws iFart author
it always looks like it's peaking if your growth is hyperbolic. whether or not they're idiots or geniuses is determined by the market.

but if I was running twitter I would certainly take $150 million in cash. If you still want to run a company well now you have cash and a success under your belt. Funding should be an order of magnitude easier.
i was 8lbs 10 oz.
I don't know much about SAP. All I've heard is that it's a beast big corporations seem to seek out and battle with varying results. However I'm guessing there are likely places where a little Python or Ruby program could have made a positive difference in an SAP implementation.

Is there any way you can find the opportunity to do some non-SAP programming that would make an SAP system work better? If so, then I would start there because that would allow you to build on what you've already learned.
Customize the number of "reply comments" visible below each main comment. Or maybe, a widget to show or hide a comment tree (with the option to be hidden by default).
Advertising in general can be a no-win proposition. Posting ads for a 2-5 years of experience programming gig garners a similarly flood-like number of responses, and you get a near equal number of bad programmers. The key difference is now someone else has had to put up with them first.

There are worthwhile places to look though, anyway. Imagine yourself in the same position as a fresh college graduate, and imagine where they go looking. Past the obvious answer of asking friends, they visit career fairs and university career centers. Those or something analogous might work well for you, too.

As for garnering recommendations, I think they can be a very good source of leads. But, and I'm probably going to gain a lot of flak for saying this, I don't think they are a panacea. It'd be nice if people were impartial enough to only recommend colleagues they know are qualified and will work out well, and it would be equally nice if the people doing the recommending were clueful enough to know when someone isn't. Sadly, not everything is nice, and nepotism for social motives drives more of the recommending that I wish it did.

Thus, I and some of the people I know have developed a slightly thicker skin toward people recommended to us; a smile and thumbs up from someone the hiring manager knows isn't enough, and that not having that doesn't preclude your being considered. Who you know might help you get past human relations, but once you get to someone like me, what you know, and more importantly, what you can learn, really start to matter.

Oh, and mechanical_fish, I'm not trying to provoke you. Your two comments got me thinking the most of the one's I saw here, and so I decided to respond to them. :-)
fwiw, I built a facebook app on this exact premise (shame): http://apps.facebook.com/friendlybets
There is another way better way. Program to interfaces. Or write out all the methods you need, have empty bodies, and implement them one by one. From the lower level/helpers, to the higher level ones. If any method becomes too large, or if there is a lot of redundancy, break it in smaller units.

I think TDD hampers design, as it places a penalty on every time you want to reactor code while you are still implementing it and it keeps you vested on current code, which is against the "keep it simple, and easy to change" principle. In languages like java, it may force you to break encapsulation and good design, just to have your code tested. (how many times have you see this comment: "don't use this, just for testing purposes") in side of methods.

If you must do testing, a functional level testing is much better. Where you test only the higher level methods that have are acting on the functionality, but don't care about the lower level/helper methods.

Take the holistic approach, and don't sweat the details. If you do a good job on breaking the implementation in small/reasonable sized methods, then it is easy to spot errors when you are developing. Try the best to avoid methods with side effects (modifying shared resources), and keep the methods dumb: input in, input out, no side effects.. Just test the one method that is being called for that particular functionality, and if everything is working well, your overall test should come out as positive.

What I really hate is mandatory: "you must cover 90% of your code with unit tests" type of orders by CTO/VP engineering types.
but then I noticed that the article is dated April/May 2003

It's amazing how much has changed in the past 5 years. The web has definitely moved into a more social direction - message boards aren't a place where you post, they're a place you hang out. The 'net is morphing into a social environment, not completely unlike the one those envisioned in fiction [1] just 15 years ago.

1. http://en.wikipedia.org/wiki/Metaverse
Simple, been there before. I call it the "Four Step" career turn.
- First pick a language you like, that could land you the kind of job you want and STICK to it.
- Second, practice, write a few complete apps
- Try to get any type of "paid" work that involved coding in that particular language... I recommend consulting...freelance.
- Now you have a credible portfolio, finding a pretty serious Software engineering position in ur desired domain should no longer be a problem.

The whole process should take about year or less. And no you're not in a hole. If you know ur stuff u'll get noticed. Besides an addition to ur new knowledge u'll have 4 year of SAP ...nothing to sneeze at. For some companies that may just be the perfect mix. Personal bias (I recomend PHP)
I commented about this on the linked site and it was deleted.

Adding a table strikes me distinctly as ignoring the root of the problem, which probably has more to do with safety standards and training. There has to be a more robust way to prevent accidents than luring people away from them.

So, ironically, this seems to be an example of asking too many questions, and we're not even at 5 yet.
YC startups can point to whichever website PG + JL register. That kind of google karma will easily put George as the #1 George on any of the search engines.

Now, if the YC companies are really creative, George will be the 1st result returned even if someone types in "Eliezer Yudkowsky" ;-)
From an employer's point of view, they don't like to take risks where hiring is concerned. Your wages are a sizable cost. That's why most would require you to work in a similar environment before they would hire you. Not many would want to spend $$ to train or risk hiring a lemon.

So going by reverse psychology, the best way to convince your future employers is to build projects similar to what the position entails. If you're looking for Java jobs, build something(substantial) in Java. It tells them 'Hey, this guy has done it before. He probably can do it"
just launch it is just finishing it for a developer.