Hacker News new | ask | show | jobs
by rockarage 5252 days ago
ios is a lot of work, programming in general is a lot of work. It is 2012 not 1992, business people in all fields should know programming is not cheap. Business people who do not do the research, don't bother with them. Avoid them at all cost. I've learn the best clients are the ones who value your work and are willing to pay for it. Their is a shortage of great programmers.
3 comments

> It is 2012 not 1992

On the other hand, think of what you could accomplish with a weekend of work in 1992 and compare that to 2012. Our abilities as developers/designers/etc are vastly improved due to improved infrastructure, tools, communications, resources, etc.

You could build a distributed photo hosting and viewing application back in 1992. But you'd probably be writing it in C++ and it might take you a long time to get something that even works, much less looks reasonably okay and attracts an audience.

Now in 2012, you could hack that together in a weekend. To make it a real project may take a few weeks or months, of course, but the pace at which we can build things is indeed speeding up.

The problem is that once we make 80% of the process vastly more efficient, all it does is throw a spotlight on the remaining 20%. (This is the unheralded dark side of the Pareto principle. ;) Not everything about building an app gets more efficient with time.

You can now throw together a photo-hosting and viewing application in a couple of days. But that doesn't necessarily yield a site that runs itself. Teaching the customer to use the code still takes about the same amount of time. Editing the theme over and over again, iterating a design cycle that incorporates emails and meetings between you and the customer and the designer, still takes about the same amount of time. The process of moderating the uploaded photos to screen out the spam and porn still takes about the same amount of time. Usability testing still takes the same amount of time.

(And even in the enlightened year of 2012 there are still standard things that all sites could use, like proper reverse-proxy caching and solid backups, that over half the Wordpress blogs on earth seem to be lacking. Apparently we're not even done automating the things that could be automated.)

The other problem is that if the customer steps off the well-worn path they will fall into a very deep pit lined with invoices. If Wordpress does it out of the box, it's cheap. If Wordpress almost does it out of the box but it requires even the smallest amount of custom coding, it's expensive. And knowing what things are expensive and what are standard requires skills that customers don't have, so they have to pay a programmer to advise them, and that is itself inefficient and expensive...

> The problem is that once we make 80% of the process vastly more efficient, all it does is throw a spotlight on the remaining 20%. (This is the unheralded dark side of the Pareto principle.

I think this might be better referred to as the well-known outcome of Amdahl's Law: http://en.wikipedia.org/wiki/Amdahls_law

Agreed, but if I'm going to jokingly but inaccurately name-check a principle involving the number "80%" I might as well pick on poor Pareto. He's used to it by now. ;)
These days we can certainly build more, faster. But I get the impression that customer expectations are rising at a much faster pace.
nntp://alt.pics.pets

There is 1992's distributed photo sharing app, built in ~5 minutes without any c++ and you had the whole rest of the weekend to get into flame wars about how ugly someone's cat was.

Sure you can get a lot more done now with advanced tools and infrastructure, but really expectations and requirements have grown much faster. You could definitely launch a median web or win32 app in '94 faster than you can now.

Time to prototype has definitely gotten cheaper.

C is still necessary for a lot of people at scale.

I doubt that -- there aren't that many programmers writing lowlevel OS or database code and most everybody else use something more productive.
think of what you could accomplish with a weekend of work in 1992 and compare that to 2012

In 1992 I could bang out some really effective CUI applications in no time at all. People really hadn't transitioned to Windows at that point. Now, I have to write a web app, or a mobile app, and it takes hours upon hours to learn the ins and outs of each new API, weeks to figure out how to customize the flashy UI to what the client wants, etc. So, yeah, programmer tools have gotten vastly better, but expectations and complexity have risen faster.

> So, yeah, programmer tools have gotten vastly better, but expectations and complexity have risen faster.

I am going to roll this into my conversations with non-tech friends. It is like the magic time saving appliances of the fifties...

Don't hate me, I'm going by experience:

I think this is backwards. Programming is cheaper than ever. As outsourcing tools because better (vWorker is what I have experience with) this is only going to get better. Programmers have to realize that there are hungry, capable people around the world who can do much of what you can for far cheaper. I'm not taking anything away from anyone, but that's the reality of globalization. I've been able to get projects (mostly simple web development) done at less than half the price through outsourcing.

I have to respectfully disagree, while outsourcing provided momentary relief for the enterprising all we did was utilize the capacity that these nations had. Technical people represent about 10% of the population, of that only a small fraction of them choose software development as a profession. Until that number changes no amount of outsourcing will improve the situation, because outsourcing causes innovation in the market that is outsourced to, consuming those resources. Therefore the equilibrium is only momentary disturbed.
Good for you. Most outsourcing projects don't go nearly that well.

Which is a shame, but understandable. Why should the good Indian programmers work on the kind of projects people are willing to sell?

>"Most outsourcing projects don't go nearly that well."

Do you have a source for this? I'm a "business guy", but I read the hell out of Hacker News. I hear this a lot, but it hasn't been my experience, whatsoever.

Seriously, how is an outsider supposed to read these arguments as anything more than people on the inside trying to justify what they do and the prices they charge? Read that article again. It's written for other hackers, not for business people. He says, "making an app is hard, here is why" and lists a bunch of things that, to be frank, I don't care about. I need the product to meet my specifications for a good price. Nothing more, nothing less. And generally in my experience (which, again, is mostly small projects) that is fulfilled through outsourced work.

The fact that any mention of outsourcing draws the ire and down votes of this crowd is disappointing. At the end of the day, like it or not, people like me are also an essential part of this ecosystem.

Edit: after reading through many of the comments, it looks like there are varying degrees of this problem. I'm not talking about trying to get someone to build an app for my "big idea" for $200.

As a developer who's been on all sides of this equation (developer, contractor, and someone who has outsourced dev work), I have to say I agree with the poster above who said "Most outsourcing projects don't go nearly that well."

Here's my advice to any prospective outsourcer:

-You still need to do your job as a both a product manager AND a project manager. Failure at either one of these duties on your end cannot be rescued by developer skill.

-You need to be able to identify whether or not a contractor or firm is actually capable of doing the work you're asking them to perform. Have they completed similar projects in similar time frames? Do they have repeat customers? How experienced are their developers? Do they have experience in the platform you're developing in? Are they full stack or are they just building the mobile portion?

-Always understand that contracted labor will be less opinionated, and will be far more likely to take a "Garbage in, garbage out" approach to any requirements you feed them. A salaried engineer may provide some push-back on features that will cause the project costs or timing to slip, contractors (foreign or native) have a tendency to happily plug along and let time and budget slip and then just apologize after the fact. Remember: Every mistake YOU make will likely result in more billable hours for them, so they have a financial interest in not telling you when you've stepped in it.

-Requirements should be very detailed. If you hand them a PowerPoint slide deck with some notes your project is doomed.

You call yourself a business guy but you aren't thinking with a business head in your posts.

First off, freelance developers are also "business guys" because they are running their own businesses. Any "business guy" knows that prices are largely set by supply and demand. A developer charging a high rate is doing so because the market can bear that rate. There is no need for justification here, the demand takes care of that nicely.

Just because a developer in India can do work for cheap doesn't mean he should. If he has world class development skills then he should be charging world class rates. Charging less because of location is a stupid business model and it's not reality. The reality is that there is less demand for their services (especially from the type of clients who are able to pay those higher prices) and they are charging accordingly. These guys are mediocre developers competing in a sea of mediocre developers.

Also, I believe the idea that globalization is driving down prices isn't reality. I'm a U.S. citizen living in the Philippines and I have seen that people are able to charge low rates because they are living in poverty.

You can live for a lot cheaper in the Philippines relative to most of the U.S. but you get what you pay for. Most expats who move here are able to live cheaper simply because they are simplifying their lifestyle. Once you start ratcheting up your lifestyle to get anywhere near the lifestyle you would have in the West, then you get back to the same Western level of spending.

I believe cheap developers abroad is going to be a short lived phenomenon. As developers get a taste of the money they can make, then they are going to want to improve their lifestyle and their rates are going to go up. Cities like Shanghai and Moscow (two countries with a reputation for cheap developers) are as expensive to live in as New York City. Also, as the economies of poor countries heat up, then a lot of their development pools are going to be eaten up by domestic demand.

The reason that developers here on hacker news claim that outsourcers do low quality work is because we see it all the time. That doesn't mean all projects are total crap, but a large number of them are. Sure, the project may result in something that works, but anything can be painted up to look like a success. However, that house of cards may come crashing down when a strong breeze comes along. When that happens you lose money and you look bad. Clients who have a real budget know this and they know that even $150 / hr developers are a small price to pay to get things done right.

Yep, but I guess if you have an "hardcore" project you won't find cheap devs (who deliver clean and reusable code on time) easily.
There is also shortage of so called "entrepreneurs" which are able to fairly judge the value of a service.