Hacker Newsnew | past | comments | ask | show | jobs | submit | mjohn's commentslogin

That's a bit unfair. The Baumol effect is well known to most people in the author's audience.

If you had clicked on the link to his book you would have found out that it's available for free: https://www.mercatus.org/students/research/books/why-are-pri...


I've never tried it, but in the age of AI why not ask candidates to interact with ChatGPT to solve a problem?

In my (limited) interviewing experience the good candidates were the ones who had a good mental model for solving novel problems, were inquisitive and asked good questions. I think these attributes are also a reasonable indicator of general intelligence.

The people who I hired that were less successful were the ones who solved the coding exercises but had a poor mental model of how to solve novel problems and did not ask good questions.

Trying to use ChatGPT could take the pressure off from regurgiating coding minutae. The interviewer would be able to observe how the candidate approaches the problem and whether they can spot where ChatGPT goes wrong. It might also help introverted candidates since it feels less confrontational and there is likely to be less anxiety about unimportant details (after all any syntax mistakes would be ChatGPT's mistakes).


Could candidates opt out of using ChatGPT? I don’t think I’d be comfortable using it in an interview.


Sure, why not, I'm just thinking out loud to be honest and am probably biased towards feeling quite comfortable using something like ChatGPT. I don't ask ChatGPT to write code for me but regularly use it to explore, a bit like a rubber duck that talks back.

Just curious - why would you not feel comfortable using it in an interview? Interesting to hear a different POV.


It’s a little overwhelming given the time constraints. I don’t know how I would fare trying to juggle a conversation with the interviewer, a conversation with ChatGPT, and typing into a code editor all at the same time, especially when ChatGPT usage involves vetting the output for hallucinations or misunderstandings. A search engine would be much quicker and easier for me to use.





No, because it's often very hard to estimate until you're actually working on something. It's common to get a consensus estimate that something is "easy" only for some poor developer to be left with something that is "hard" and takes much longer than estimated.

Also, something might genuinely be easy for someone who has worked on that part of the codebase before. But it could take someone new a long time to get up to speed, again making that developer look bad (this is not to advocate that only devs familiar with the code should work on it - you want to spread the knowledge around).


In the UK there are regulations that require casinos and other gambling venues to block access if a problem gambler doesn't show restraint. It's much like how we would expect a barkeeper to tell a alcoholic who has had too much that they won't be served more and shouldn't drive home.

Similar addictive behaviour occurs with these apps and the games are designed to be as addictive as possible. While users should take personal responsibility, it would be trivial for these app producers to provide users with some protections from themselves.


Having worked in that industry within the UK, these "requirements" are seldom carried out.


In economics we would call the latter a Pareto improvement - ie an efficiency improvement without any trade off



That's a bit of a simplification.

From £9.5k to £50k you pay 12% national insurance in addition to income tax, so it's really 32% not 20% tax.

Over £50k you pay 2% national insurance.

Your employer will also be paying 13.8% national insurance.

Once your income exceeds £100k you start losing your personal allowance at a rate of £1 for every £2 over £100k, so you have no personal allowance after earning over £125k. This means that your effective marginal tax rate between £100k & £125k is about 60%


I recently joined a company where my main task is to modernise a business critical application built and supported by Wipro over ten years ago. Everything is still on .Net 3.0 (first released in 2007), and despite hundreds of pages of documentation the developers seem to have little understanding of what the application actually does for the business.

The impression I have is that their business model is geared towards building one thing, learning one technology, and then exploiting it for as long as possible with minimal evolution. This is fine if you don't need the software to evolve, but most business applications do need to evolve even if slower than at a start-up or FAANG.

At least where I work there has been the recent realisation that outsourcing all your technology means you will struggle to iterate and improve that technology.


Adding to this. I've worked with people from Tech Mahindra. Some observations.

1. Very green staff that have little to no coding skills/ability.

2. Communication barriers, even when the people are local.

3. Jobs that any other organization would do with one person being split into 3 different roles with a net result of costing more than hiring the more expensive onshore devs.

4. Because of #3 software takes longer to deliver resulting in more money spent on people who are onshore.

Many of these efforts are akin to putting a bunch of monkeys in front of typewriters and expecting to get the next Shakespeare. The old "Mythical Man Month" book by Fred Brooks still holds true and it is truly astounding that organizations continue to make the same mistakes and not learn from history etc..


> Jobs that any other organization would do with one person being split into 3 different roles with a net result of costing more than hiring the more expensive onshore devs

When I first started working with an offshore team of Capgemini devs back around 2007, this really struck me too.

It was bizarre - you had "devs" who literally knew nothing beyond their very limited task space. Literally.nothing.

You'd have 3 people doing nothing but creating worthless unit tests that didn't test anything, 3 people writing HTML, 3 people writing CSS, 3 people coding an API, 3 people coding a backend, 3 people whose job it was to "manage the config files", 3 testers doing basically nothing... it was... so completely and utterly inefficient! It was a running joke that there would be someone to write the opening HTML tag, someone to write the name, and someone to close the tag - it wasn't far from the truth.

Of course, not all offshore teams are this insanely inept. To some degree it comes down to how much the client is willing to pay, but outsourcers also have different groups that target different segments. Their ODC (offshore development team) groups cater to the cheap-as-possible crowd, and are invariably atrocious, but their digital/consulting groups are comprised of "real" developers.

Disclaimer: I don't mean to make sweeping assumptions etc. This post is based on around 15 years experience working with outsourced devs in Indian, across multiple companies. Plainly a country the size of India has plenty of excellent developers.


>Disclaimer: I don't mean to make sweeping assumptions etc. This post is based on around 15 years experience working with outsourced devs in Indian, across multiple companies. Plainly a country the size of India has plenty of excellent developers.

You're by no means the only one. TCS and Infosys are 2 others that I've seen engage in exactly this kind of activity. "manage the config files" haha.. thanks for the laugh.


Yes, their job is to Bill Hours, so if they're working an inefficient process* or dealing with a bad architecture that needs all hands on deck to deploy anything or the developers environment takes ten minutes to go from edit->compile->debug, none of them are going to raise their hand and call out this bullshit, especially if they're new to the team or new to the business.

* a config flag needs to be changed for a new release. Configs are stored in a database. A dev needs to write a SQL update script to make the change. This needs to go through QA, and be signed off by a DBA.


I had to deal with people who couldn't grasp the concept of bitwise masking and shifts to pack/extract fields from an integer. This was for a wire protocol that needed to conserve space to minimize server costs. Their solution was to have all booleans in their own field which ended up burning five bytes each in our serialization format. I just gave up and let them do what they wanted since nobody on my side seemed to care.


I worked desktop support for a few years in a large US based corp. My worst day deploying a new machine was a laptop to a dev who came in and didn't understand what I meant when I asked him to unlock the machine so we could log him in. He wasn't even familiar with Ctrl-Alt-Del and the rest of the deployment went just as painfully.

I get task siloing and hiring green people and giving them a chance to ramp up but that just threw me for a loop.


> I get task siloing and hiring green people and giving them a chance to ramp up but that just threw me for a loop.

one thing i notice about a lot of companies is, they just dont invest into growing and improving the knowledge and skills of "green people" or they stop short at very basic stuff

i understand there are costs, but i think its eventually self-defeating.. maybe there is something i am missing...


I once dealt with offshore developers who decided to store some binary values ("feature on or off") as ASCII "1"s and "0"s. Yep — ASCII-encoded binary.

They could have at least used "Y" and "N".


> I don't mean to make sweeping assumptions etc. This post is based on around 15 years experience working with outsourced devs in Indian, across multiple companies. Plainly a country the size of India has plenty of excellent developers.

People are fine. India has produced some very great intellectuals (see Ramanujan).

But the culture is rather rigid and stratified, with narrowly defined "walks of life", and the boundaries are strict. Everyone knows their place in the system, and there are disincentives to change, or challenge authority. Truth and wisdom always flow from top to bottom, never the other way around. That's cultural. Of course all that stuff would reflect upon the organizations.

TLDR: Let go of the rigid rules, and India would experience a MAJOR renaissance.


I worked as well in Capgemini although in a nearshore team. The project was a customer portal to manage some of their contracted services.

We were about 60 people comprised of several teams doing nothing but attending to some specification documents who most of use would infer on the go. Beside the whole architecture was a mix of Java beans based on a XML schema and some transformations on them using Spring. Something which would be easily done using XSLT or XQuery in a fraction of the cost. Also we had some middleware interfacing a Tibco bus which was utter bullshit because they were unable to use JavaEE in a proper manner.


It sounds like a description of the Indian caste system. If I recall one person would wash dishes, and another dry then, because of caste imposed rules.

Except it’s now applied to programming languages.


This is contagious since many IT outsource firms actually "wag the dog". In the hands of idiots [usually 'little-Hitler' "delivery managers"], something like DEV/OPS has become a new operations career when all it has to be is automation. And version control is something they are still looking for a Rosetta Stone to figure out. It's enough to make older Software Engineers want to cry. The number of layers of ignorance [billable hours for pseudo-technicians who do a hair's width more than nothing] is astonishing.


Holy shit, this sums it up so well...


> 1. Very green staff that have little to no coding skills/ability.

This is mostly due to high attrition rates, these companies hire students fresh out of universities who have little to no experience. So most projects are in a state of constant flux where people who have worked on the code left after an year or two, only to be replaced by someone who knows very little about the codebase.

The attrition is due to the very low pay and shitty work culture. Earlier people in India didn't really have a choice on where they could work in IT, it was mostly just these sweatshops, but this has changed in the past decade. There are product based companies and even higher tier consultancies who pay way better and treat their employees relatively better.

Also remember, this gap in the payscale isn't minuscule, it could literally be 5x-10x if you posses the technical chops.

> Because of #3 software takes longer to deliver resulting in more money spent on people who are onshore.

I am stressing on the low pay in my comment because I tend to see a lot of anger online directed on the actual engineers (while making the point #3 in your comment) under the assumption that these people are making fat stacks of cash while living in a country with low cost of living. But this isn't usually the case, these people are paid peanuts, which is barely enough to cover the cost of living in the IT centered cities.


I've been to It oriented cites in India. Normal people sleep on the sidewalk because they have nothing else (we don't share a language, so it is hard to be sure, but this isn't like homeless in the US where sleeping on a sidewalk implies a drug or mental problem, these seem like my neighbors here who have a typical family). You would fit right in on low pay if you wanted that life.

Now I'll grant most people want a better life and I'm not sure the low end supports much better, but in context it isn't uncommon.


The ultimate take-away from "Mythical Man Month" is that the limit of adding people is not zero extra-work-per-additional-person, but unbounded negative extra-work-per-additional-person.


wrt Tech Mahindra a very senior engineer who used to work there told me that there have been so many layoffs there that, in some projects the Team Leads report straight to the VP. Newbies receive little to no training or guidance.


What you describe is clearly bad for the organization on the whole, is there some way this decision is being made to benefit the decision maker over the organization? Either for political reasons or maybe even illegal reasons?


The truest saying in software is that the highest value output of a project is an engineering team that understands your business. Past a certain point of size/complexity you can't buy one of those for any price, you have to make it.

Outsourcing turns an investment opportunity into an expense.


This rings true for my experience as well. And it also highlights the waste that occurs when a successful team finishes delivering and is immediately dispersed to the four winds, something that happens all too often.


I can’t remember where I read it, but I was reading an article about a company’s experience with outsourcing. One quote stood out.

“We outsourced all the profit, but none of the risk”


Out-sourced profits – The cornerstone of successful subcontracting

https://pdfs.semanticscholar.org/e9da/f5cc1c94c6e34e29095ca1...


That's why companies end up requiring "extensions" over and over for consultants. I know people working for consultant firms that have been with the same client for more than 3 years.


Where to outsource is the right question. I could write a word processor, but my company just buys me Microsoft office. My company could buy the software I wrote from an outsourcer, but we consider it a competitive advantage to do it in house.


Buying a product is different than paying someone to make a product for you. Since your company is the only customer for that product there is no benefit in outsourcing it other than the ability to rent a developer (contracting might be a better option). Nobody else is going to buy that product.


I don't think this is a fair assumption. The work is going to be defined by the client... so if the client wants .Net 3.0 experts to maintain a legacy system, then that's what they are going to get. I have worked for and with Indian IT firms (I'm not Indian myself) and in most cases the directive is to use latest standards and best practices. In my case it has to do with cloud architectures. Outsourcing is something that still needs onsite experts that can help guide the project and critique/review what is being developed. Clients that are mostly hands off during the development are inevitably going to have significant struggles.


I pretty much agree with you, if the client doesn't have any in-house expertise and stays hands-off then you get the scenario I described but outsourcing can work if it's in addition to in-house expertise.

In this case the client didn't want .Net 3.0 experts to support a legacy app, that's what the consultants built it in and then let it turn into legacy by not performing regular maintenance.

The client didn't know that it was becoming legacy until it was too late because they never developed the in-house expertise to understand what was necessary and the consultants have no incentive to do it by themselves. In fact they can charge more by letting it rot and requiring development of a whole new project to replace the legacy.


Here’s the thing, I honestly think these consultancies are going to be feasting for decades to come with all these enterprise companies shifting to the cloud.

That is the very definition of ‘their business model is geared towards building one thing, learning one technology, and then exploiting it for as long as possible with minimal evolution.’.

This kind of lock-in at the enterprise level is a dream come true for them. They can marshal armies of AWS certified architects, and tie themselves to every corporation in the world, forever.


I dunno, it could go either way.

AWS is not cheap, unless you really understand the business domain, or someone else has done the hard work of understanding the business and re-architecting the design to leverage AWS' value propositions. It is painful to watch a team that doesn't understand what is really going on blindly rip and replace on-prem VM's with EC2's that only need to for example, run a script once a day to perform an extract and load operation in a few minutes. Even when you run pico instances, applying the same design culture across the enterprise adds up in a big hurry.

This isn't Indian or non-Indian, this is "whether they deeply care about the customer enough to look for innovation on your own". You can't agile your way to nor bottle up and sell by the caseload innovation. I wish like hell we could, I'd buy a Panamax-load of that and mainline it into the fusion and AGI problems. What jrumbut said in this thread has some validity in certain scenarios, "Outsourcing turns an investment opportunity into an expense." And like the-dude said, the initial innovation is the automation behind aaS. It is up to those who build on top of aaS to carry that innovation momentum forward by adding their own innovation, the innovation isn't transitive nor inheritable by just using *aaS, which seems to be happening a lot currently though that is changing at an accelerating pace.


Absolutely. And don‘t underestimate the mountain range of legacy these baby boomers coded.


These firms specialized in digital transformation. But the digital transformation is over, now its the digital cleanup. The companies that understood the benefits of digital technology moved to it, and the majority of the others went out of business. In this new phase, your digital infrastructure allows you to move quickly, or you lose business to those that can move quickly. A lot of these old legacy applications, as useful as they are weren't made to be easily updated.

I'd bet Corona virus is probably going to accelerate this. The amount of change going on in is so great that those that adapt the quickest will weather the storm the best.


> But the digital transformation is over

"Digitalisation" has merely been replaced with "Industry 4.0". And after that hype train ends, they'll come up with some other nonsense.


Maybe in supply-chain, logistics and industrial manufacturing, but it is "Digital Therapeutics" in healthcare (in the US) in the age of Corona. Regardless, marketers have eternal unbounded opportunities to come up with new nonsense that sells, but doesn't deliver on those promises. "Somewhere, over the rainbow... a pot of gold!"


>The impression I have is that their business model is geared towards building one thing, learning one technology, and then exploiting it for as long as possible with minimal evolution. This is fine if you don't need the software to evolve, but most business applications do need to evolve even if slower than at a start-up or FAANG.

This, I think, is why companies like Wipro and TCS dominate in traditional financial companies like big banks where stability and security are emphasized more than innovation and feature development. I've seen Java apps running on RHEL5 as recently as 2 years ago.


> outsourcing all your technology means you will struggle to iterate and improve that technology.

Internally, we consider outsourcing the same as pausing all forward momentum on the outsourced components.

It's just a reduction in current cost with an understanding that there will no new features and very little maintenance.


Yup. Very often. In fact every system I ever saw being outsourced was being done so in the knowledge that it was going to die. It's a face saving gesture that allows executives to sidestep the sunk cost write-off.

In a couple of large retail examples it was obvious that they knew their entire bricks and mortar business model only had a decade or so of life left in it and they figured their godawful legacy ERP solution would stumble on until then.


Can relate to that. I used to work for tech mahindra and they were using vb6 and .NET 2.0 for a major client even as late as 2014 when I quit from there. Its most likely that they are still using that old stack because its typically difficult to justify migration costs to a newer stack.


> The impression I have is that their business model is geared towards building one thing, learning one technology, and then exploiting it for as long as possible with minimal evolution.

Like 99% of business is run like this. So... It's hardly surprising.


Of course. Most manager types assume all code monkeys are the same. They just turn a crank all day. In the end one of the other key factors is just monthly expense. Business types like locking in engineering costs at $XX,000 per month. They have no ability to see that they will be paying twice as long until feature Y is ready and even then it won't be what they really want. But they did cut $30K from the monthly engineering expenses so here is a 10% raise and a bonus. Great Job!!!


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

Search: