skysight-inc/HackerNews huggingface dataset:
You can basically be assigned to any team you want but the leadership generally does not let you do work except in a few teams (CLR, Research, etc.).

There are a few reasons that struck me during my time there - all related to perverse incentives:

1. There are too many PMs. You could fire all the engineers and the PMs would keep holding meetings for a couple of years reshuffling priorities, co-ordinating interactions across teams and "making hard feature cuts". The last thing is especially comical: The dev team would be behind schedule and the PMs would be very proud that they are macho enough to drop certain features in order to ship. In spite of this, I saw some very good people become PMs instead of devs since that's the only way you get any say in the direction of the product. They all end up spending an insane amount of time with powerpoint decks for shallow reviews by upper management.

2. Secondly, the split between test and dev orgs leads to some perverse incentives. As a dev, you are looked upon slightly favorably (though not goaled on) for fixing bugs that you created.

3. The mid-level leadership is not hungry/driven enough. Virtually all the mid-level people running teams have little to prove after they make partner. Its the standard principal agent problem where the agents are too risk averse.

These factors make it hard for people (especially engineers) to feel like they are making a difference.
Very interesting dataset: Alexa top 1,000,000 sites
Ask HN: How do I move into software from hardware engineering
I recently completed my masters degree in VLSI from a top 15 school in the US. But in the last two years, I have become very interested in software. However, because of the course structure and time constraints, I never got time to learn any programming language. I can program in C and know basic HTML and CSS. I really want to move into software but since I have no projects/experience in software, companies refuse to even look at my resume. How do I move into software and get a job in that domain.
Forget improving your CV. Make sure it's good enough. Depending solely on your CV makes you average. Are you average? Of course not, you're on HN! Build practical shit. No seriously man, making your own language will invoke a yawn as another commenter said. Build a web app, build a piece of software that has practicality. Build anything, as long as it can be demoed.

I realize that you want a new job now. Well, that's going to take patience. Don't spam your resume! Trust me, I use to interview and this was very common... you could detect these types.

Start today. Just build something that can be demoed, something preferably practical.

Good luck man!
I've been where you are before. The best advice I can give you is to turn your depression into something positive. Let it drive you to get out of your current position.

Aside from that, don't get discouraged. Good tech companies get to where they are because they have high standards. Getting a job with them takes practice. Don't get discouraged. Ask the people who turn you down for feedback. Honest feedback is surprisingly rare, but the ones who give it to you are the ones you want to listen to. Other than that just give it time! You'll figure it out eventually.
If I search for x^2 I want to see results related to (x squared), not "X-2" or "X2", etc. The ^ is deliberate and should not be ignored.
I've been waiting for Solidworks on anything but Windows since approximately 1997. I've been considering switching to Autodesk Inventor recently, and this might push me over the edge. The last piece of software holding me to Windows then would be PCB layout software.

Also, I believe that Pro/E doesn't support Linux anymore. I believe the most recent release, Wildfire 5, only runs on Windows and, strangely, 64-bit Solaris.
I have one, at work and amongst friends, named after me :(

"Flakey Tom" - which basically is when someone (usually me) writes some code, tests/debugs it, runs compiler test, ensure it works etc.... and then adds "one extra quick line of code" (it will be fine guys!) before checking it into the main branch.

And subsequently everything breaks for about 3 hours.
Wow! I am definitely interested in discussing any possibilities (I have clearly been far too reticent on this front as is clear from discussion here), for obvious reasons I'd rather not post [all] those details here; have dropped you an email.

Roughly: based in London, mostly C# skillset (currently).
It's the end of oiL, not the end of oi, though I think the end of oi has a great ring to it!

SPOILER ALERT!
I didn't think that this was a brilliant ted talk for most of the way threw, and was avoiding hitting the close button, but the speaker finishes with a great quote.

Paraprhasing
"The stone age didn't end because we ran out of stones."
I'm ok for money, but not great (some debt) so can't really make that lovely lovely idea reality :) nice suggestion though!
My favorite: "Barack Obama - An account in Redmine that we assign our most aspirational tickets to, i.e. the stuff we'd really like to do with a project but will probably never get approval for."
I've been going through Rails Tutorial for the past few weeks. You definitely have a gift for communicating clearly and effectively. I would strongly recommend Rails Tutorial to anyone looking to get started with Rails.
Something along the lines of this, abstracted away a few layers, would be my guess.

def build_query()
"UPDATE prices SET price=4995 #{where_clause}"
end
def where_clause() # only set prices on products in our group of stuff to sell
return "oops, I'm accidentally an empty string"
end

Unfortunate bug causes method to fail silently, program does not crash, instead performs unfortunately incorrect query.
Togetherville
Agreed. But my girlfriend just gave me a 10 minute lecture on "How You Have No Taste" :) so what do we know.
O'Reilly $9.99 Sale - Has Anyone Been Able to Download Their Book Yet?
Perhaps you could work on an open source C/Python/Ruby. This way you could add something of relevance to your resume.
Was when Agnostic Front signed with Epitaph. (sorry...)
be interested to see what they do about the .NET API... I guess no add-ins will be supported on mac version?
Ironically I sent you an email about this very subject asking for advice (though more on the Micro ISV side of things) earlier :-)

Yeah. I know. I am being an idiot. I guess it's just easy to be too afraid of being rejected, which I definitely am. I need to get over myself I think.
My account's 'Electronic Media' page still says that I don't have any books available.
Better yet, if working for a large employer see if you can get them to help pay for it. Obviously I don't know what sort of company you works for, but being depressed about working at a non-software company may be a reaction to internal rather than external factors.

It's worth asking for a meeting or lunch the supervisor, and explaining the worries about where you can go with this firm and why that lack of hardcore software prospects is worrying you a bit. It sounds very much as if you've ended up working as a mechanic when what you really wanted to do was design engines or gearboxes. If your employers aren't jerks and you've been doing a good job up to now, they may well offer some career-building assistance or advice that you might not have thought of yourself. Tread carefully, to ensure you aren't the obvious choice if the economy requires them to lay off a few people in every department ('Oh, let's get rid of yacoder, he's not that happy here anyway so he won't make a fuss'), but keep an open mind. For all you know the lack of core software openings at your company is due to management's inability to build a better programming team, and they might see your ambition to delve deeper as a valuable future asset.
I did something like this for iPhone a while back.

http://www.jumpingurl.com

Its currently unavailable though, however.
The unbook talk
PAC-MAN rules
The key word being "apparently".
Thank you. The positive encouragement of HNers means a lot to me.

I think a consensus is emerging that putting the language project aside for a while to focus on OSS would be a good idea.
To summarize an interesting bit from the video; here are a few transcribed slides about: The Three "Google Editions" Revenue Models

1) Direct Sales from gBooks

Users access eBooks online via Google Account ("the download disappears").

2) Distributor & Technology Partner

Retail partnerships; merchandising partnerships; support for online retailers & ebook device manufacturers.

3) Distributor & Technology Partner to Publisher websites

Facilitate ebook sales direct from publisher websites (i.e. turning publishers into retailers).
Steam, AutoCAD, possibly Rhino. Why are all these companies doing their ports now, when Apple is so focused on mobile computing?

Are they just slow to react? Making a bet on the halo effect from iPhone/iPad?
What are your skills ? (programming languages and so on ?)
I worked at Microsoft for five years in the 90s. I dropped out of college prior to joining, so I was on the same trajectory as you are.

I always say that Microsoft is a great place to have worked. It's great for learning how to ship real software (large and small) with all of the attendant processes and politics that go with it. You will learn what you think is important to take with you and what is important to leave behind. Both types of learning are important, because as you move to startups, you will have a hand in determining the equivalents in your new microcosm of that world.

One interesting quality I see from many people who have worked there is that there is a perception that life after (i.e., outside of) Microsoft is scary. That's partly because you can change jobs there endlessly and never actually leave. You can go from working on operating systems to large binary (client) applications to Internet apps to video games, etc. I've had to assure several of my friends that were contemplating leaving that the water outside is safe and warm. Every one of them has thanked me afterwards.

Another poster made a good point about some companies' HR departments not taking a second look at you. That's true. However, I generally wouldn't want to work at those companies anyway. I've never had a problem finding work at great places. In fact, I've never had to apply for a job since I left. If you're good, and your network is sound, people will reach out to you--degree or not. Microsoft is a great foundation on which to build your resume.
That concept is introduced in later levels.
I certainly believe that the kind of stuff you learn on a CS degree is incredibly important, esp. algorithms, hardware architecture, etc.

I agree with you that I think the academic approach wouldn't be as efficient as taking a more practical approach to what I need to know.
5 years was a personal goal that my wife and I worked out when I started, we had just gotten married and she really likes consistency while I really enjoy ambiguity. It doesn't really have anything to do with being fully vested or not... I joke with some of my hacker friends that I'm sticking around for the glass statue that you get at 5 years. Really I'm spending my time (another 6 months) trying to push Bing to exercise the benefits of structured data and data semantics on the web. I'm also trying to convince SQL as a product to spend more energy focusing on this area.

If I'm hedging my bets at all it's related to being able to come back to work at a life-sucking anonymous job at a mega software corporation :)

I hope that I will not need to but if my wife or family needed the benefits and comforts associated with this type of employment and I could not work out how to get it done another way. I wouldn't hesitate to come back.
currently, mostly C#, SQL, F# and some scheme. Most of my experience (and entirely professionally) is on the MS stack, though I run linux at home.
Same here. I find Twitter as 'internet weather' much more interesting than the individual tweets.
Don't forget to SEO your own name / product
Agreed re: the UAV comment. Imagine a world where big brother is watching everything you do, and can kill you from the other side of the world with the press of a button, with absolutely no warning, with no way for you to defend yourself, and no way to attempt to explain your actions to someone.

A walking robot is much less terrifying.

The first thing I thought was that countries such as Cambodia could one day exist without landmines.
I have been in your situation many times before and always struggled with it. Until I figured something out...

working in an internal IT department at a non-software company can be a HUGE advantage. Why? Because your "customers" are right there.

Please do not underestimate this as part of your career planning. Sure, we all want to create cool technology, but AFAIC, the single biggest shortcoming for developers that I've ever seen is what I'll call "detachment from users".

You don't have that problem. You have end users right there at your fingertips. Take advantage of it! Learn from them. Practice your systems analysis skills. Find out how to make that missing link, the connection between technology and people, work properly.

I have written significant pieces of technology for software houses, but was actually more frustrated. Why? It took months, sometimes even years before anyone actually used it. And then, they were communicating with someone other than me. The technology was cool, but by not closing that loop with my customers, I always felt that my work (and learning) was incomplete.

By all means, continue your dreams and career plans. But don't waste your current situation by being depressed about it. I can't tell you all the times in my career when I stood head and shoulders above my peers because I had suffered in the trenches like you are now. Except you don't have to suffer. Because now you know to look for opportunities to get a lot better in other ways. They're all around you if you just look.
Have to agree with you, what I don't get from a UI perspective is the plus sign on the bottom bar of your homescreen. It's there to add icons/apps to your homescreens but how often is that going to happen that you need a button for the purpose all of the time. Long-touching an app or blank space gives you the same options. It's just a waste of space.

Alternate UI's should be optional,if only for faster OS upgrades.
Ditto. Similar to tptacek's processbound argument, I'd be very concerned that you'd be dumped into an environment with very little supervision and flounder. My experience at four startups has been that they really mean it when they say they need selfstarters and you tend to get very little direction as compared to bigger companies. Instead, you're expected to jump in and find work yourself.

Also, if you are interested in startups, remember that virtually none of us use MS tech anywhere in our stack. It's not a huge problem, but I generally prefer engineers that have put in a couple years somewhere else and aren't new to the LAMP/postgres/mysql/linux/java/ruby/rails environment. All the way from the different dev tools to the ethos of source distribution and the skills you pick up around installing and configuring software from source. As far as I remember, the MS stack generally seems to ship as binaries and have very little of the admittedly sometimes annoying issues that come with distributing software as source. That's a problem for you because I expect engineers to be able to install software from yum / rpms and deal with more common link / library / configuration issues that come up. Finally, it seems to me that MS typically has a blessed method of doing everything -- there is a preferred method to connect to MS SQL server, a preferred method of parsing xml, a preferred method of sending mail, etc. The open source / linux tech stack is nothing like that -- there are always multiple ways of doing anything and it's often an unwritten part of the job description to help sort that out.

Finally, again specific to startups, I think you'll be shocked how different a 15 person company, or even a 100 person company, is to a 30K person company. For instance, there will often be no review process, etc etc.

Depending on what exactly you've been doing at MSFT you should have some valuable experience, so don't be too pessimistic. Good luck.
This was not in the early 80s. It was the beginning of 2006.
All I can say is...COOL!
Ah...I was doing the puzzles depth first, and did the top branch first. Just got my first writing one.
The most effective thing to get me off my ass and studying is to see something I should conceivably be able to create, but have no idea where I'd begin.

Can someone link to a good introduction to how the control systems for something like this work?
Quit.

Having a choice (in this case a job) is sometimes bad. If your back is against the wall, you'll be more driven to go after what you want.

I was working for a bank in the early part of my career. I was doing mainframe applications and I have always wanted to do web apps. So I quit my job and learned a web programming language (.Net). I learned it pretty fast and I built a small site to showcase my work. In two months since quitting, I found a consulting job that does web apps.

A few years ago, I was working for a big company in San Diego. I wanted to be in a startup environment. I tried my best to create one in my company but I failed.

So I quit my job and moved to the Bay Area. When I moved here, I realized that most startups use open source and I cannot find startups that use .Net. Actually I found a startup that uses .Net but they rescinded their offer when their investor told them to freeze hiring.

I was unemployed for months in the Bay Area so I said to myself I need to learn an open-source language. I ended up learning Python/Django.

I accepted a short-term web development using .Net and when that ended I continued learning Python/Django. Via networking, I ended up working for a YC startup and eventually moved to another startup in SF.

I'm really happy (but not satisfied) with where I am right now. If I didn't quit my job, I don't think I would have had the motivation to go after what I really wanted.
Ok. I see ErrantX has already made you an offer, nice to see HN'ers help out other HN'ers!

I'll be running a pretty weird experiment in a few weeks, I'm not yet ready to explain it in public because I'm still tweaking the idea and I don't want to limit myself by nailing it down, if you are interested drop me an email (email in my profile).
It actually took me a few months to get my site to rank #1 for its own brand name. It was extremely frustrating, but I worked at it and it has paid off. Now my brand name and other related terms are by far my top search terms, and this is on a site that gets 75% of its traffic organically from search engines.
Reminds me of what humans are doing with this planet.
It doesn't hurt that Bing is highly regarded. You've managed to work on one of the best technical successes that Microsoft has pulled off in the last few years.
Seriously? Working at MSFT can be a huge negative for us, for three specific reasons:
* an entirely different software stack from the operating system to the web servers to the databases to the programming languages to the dev tools;

* I've interviewed 3 different people from MSFT that were experts in eg a tiny area of DCOM; as startup needs generalists;

* a 30 person company is nothing like a 30K or 60K or whatever they're up to these days and it seems that people comfortable in one are often not comfortable in the other.
Murray Gell-Mann (Nobel prize winning physicist) - On Getting Creative Ideas
"taste" goes in circles anyway. You're just ahead of the curve to such a degree, you appear to be behind it.

Maybe you've lapped Good Taste, and are catching up to it again.
Hey Delano, there were some guys playing at http://hacklab.to/ a year or so back, possibly might still be.
ps -- MSFT has no clue how to ship software.

At Scribd, we often shipped software ten times a week. That's slow compared to lots of web startups that deploy continuously -- see the advocates at IMVU for example. Nonetheless, most web startups deploy more than daily to production. I've worked on classic desktop software with a 6 month release cycle and it's very different.

pps -- deployment process? hah.

rake specs

rake deploy production
Those of you looking at this and commenting are missing the number one question: Are you in business to just make money or to have customers? There is a very big difference there. How many of you have been "loyal" customers only to get screwed? And how really small and mean was that screwing compared to the future business you would have given that company -- and compared to the business you once did with that company?
Somehow I don't think XKCD t-shirts will ever come [back] into fashion :)
I wish this archived done items.
Interesting, but seems hardly surprising - also not restricted to San Francisco. Where I live (Europe) the trendier and younger companies are in warehouse-style offices in the inner city and the more established ones have moved into bigger, more purpose-built places in the suburbs because they need the space and their workforce wants to live there.
Toyota’s Robot Violinist Wows Crowd At Shanghai Expo 2010 (Video)
I've been using Android phones since December 2008 and I also hate HTC's Sense UI. Let me tell you that the standard Android UI is much much better. I'm also looking for a way to completely kill the existing os and do a clean install of vanila Android, but I haven't found anything yet.
Ouch. I've been known to do that... and my name is Tom :(
> MSFT has no clue how to ship software.

Come again ? Microsoft has shipped more software than any other company on the planet.

> At Scribd, we often shipped software ten times a week.

I'm not even aware of a single piece of scribd software that has been released, aren't you confusing server side deployment with shipping software ?
I am unable to download any of the books I bought. Makes me not want to buy ebook from them again.
It does annoy me that the WHERE clause has to go at the end. I usually end up typing the WHERE clause first when working live on something important.

Same with rm -Rf /foo/bar. There's a moment when pressing enter will do the wrong thing. I usually use relative paths to avoid this, but I have had to repair the damage for someone who actually managed to rm -Rf / by accident due to this.
I suppose ultimately it models any organism at its simplest level.
That's funny, I checked that term just 2 days ago. Are you building some website monitoring tool?
I also suggest to just apply to more companies, for example try 10 at first and see what they told you. C# is pretty much in demand, so it should not be a problem to get a junior programmer job.

But maybe don't be too romantic about a job in software company...you could very well find that it also isn't a ideal job...you will perhaps fight with bureaucracy, being forced to do dull work, etc. etc.

So before quiting your job, try to think really deep why exactly you don't like your current job. Maybe it is something more fundamental, and ordinary software company might also not fix it. Anyway, good luck, finding a software programmer job is certainly achievable.
BP prepares complex 'top kill' bid to plug well
I come from a business background so for me, the first step is to have an idea. Then I start a very basic and simple business plan to go with it.

The business plan outlines how users will interact with the site and here is where I set milestones and dates on when things should be complete.

By making a business plan it helps me see what I need to do and about how long things will take.

Next I start with coding and database, since everything has been put into my business plan it is very straight forward.

One thing to note is the plan can change, and it does often. Stay focused and always set goals and milestones to keep yourself on track.

"If you fail to plan, you plan to fail."