Live data from Hacker News

Why Is Payroll Hard - Ron Jeffries

c2.com

11–20 of 54 posts

Re: Why Is Payroll Hard - Ron Jeffries

#11
post #6

Sounds like the kind of business logic where Prolog would really shine.

It was written in Smalltalk.

C3 was indeed, but payroll systems have been written in pretty much every language under the sun, I'm guessing chollida1 was talking generalities (and the mess described in the article is the kind of stuff you find in every payroll system)

Re: Why Is Payroll Hard - Ron Jeffries

#12
I love stuff like this!

Instead of complaining about the structure or motivation of business rules, excellent developers ask different questions:

- How can I design my architecture to accommodate just about anything my customer throws at me?

- How can I use all the tools in my tool box (including CS and math concepts) to clarify the apparently nebulous?

- How can I use things like Boolean algebra, parameter driven program logic, and data base normalization to provide structure to that which appears to be unstructured?

- How can I use the customer's seemingly unreasonable demands to differentiate myself from mortal programmers?

- What do I need to become in order to say "Yes" to my customer whenever I want?

- How can I use all of the above to actually encourage my customer to attempt the "undoable" in order to differentiate himself from his competitors?

Re: Why Is Payroll Hard - Ron Jeffries

#13
Pretty much all "enterprise software" is fundamentally the art of taking totally irrational, human-defined, fuzzy, incompletely-specified pre-existing processes that have been built up over decades or centuries, and turning them into an automated system that functions more or less identically. It's fundamentally different than doing something like writing a word processor or e-mail client which, while it has its own complications, doesn't suffer from having to exactly model some pre-existing, half-specified, inconsistent process that was developed by humans long before the advent of software.

Re: Why Is Payroll Hard - Ron Jeffries

#14
Actually, Payroll systems can be structured. In the end, there are only 3 things that you need to provide: - compensation (money employee makes) - deduction (money employee gives for some service) - taxes (employee owes the government)

Everything that you do is toward satisfying those requirements. It is hard because each of these pieces are influenced by human interaction. But, that does not mean there are no rules of engagement. e.g. If you have union dues to be deducted, it is a formula to compute it against the total wage you make (or it is a flat deduction amount). If you are paying towards 401k, it is a percentage that you put in towards that.

If you imagine the problem as something to solve in a general sense, you can narrow the problems to fit into models. But, if you treat every requirement as a modification to an excel macro (:-D), then you are in trouble.

Re: Why Is Payroll Hard - Ron Jeffries

#15
Another one I saw recently: "Oh, you've worked from that alternate location for too many days this year, so your travel expenses are no longer a business expense. The company will still pay them, but now they are taxable benefits. So the company will actually pay you extra in payroll to offset the taxes you will now have to pay."

Oy.

Re: Why Is Payroll Hard - Ron Jeffries

#16
post #13

Pretty much all "enterprise software" is fundamentally the art of taking totally irrational, human-defined, fuzzy, incompletely-specified pre-existing processes that have been built up over decades or centuries, and turning them into an automated system that functions more or less identically. It's fundamentally different than doing something like writing a word processor or e-mail client which, while it has its own…

... and this is probably why some tools or some methodologies work in Enterprise but might not work in commercial software.

Re: Why Is Payroll Hard - Ron Jeffries

#17
post #8

Healthcare software has the same kinds of problems. New regulations, rules, and ways that each party in the system attempts to skirt the rules bleed into the code bases of every system. Thats why a lot of the technology in healthcare is so far behind. One place I worked at still makes $38 mil/year on a system written in C++ and ASP. Replacing it with a modern stack has been on going process for more than 3 years with…

For national companies, state level reporting requirements are a huge burden. For instance, payment made to doctors by healthcare companies. You just hope that they pick fairly common requirements, instead of each state reinventing the wheel.

Re: Why Is Payroll Hard - Ron Jeffries

#18
post #6

Earlier quoted context omitted.

It was written in Smalltalk.

C3 was indeed, but payroll systems have been written in pretty much every language under the sun, I'm guessing chollida1 was talking generalities (and the mess described in the article is the kind of stuff you find in every payroll system)

> I'm guessing chollida1 was talking generalities

I was yes.

Re: Why Is Payroll Hard - Ron Jeffries

#19
post #14

Actually, Payroll systems can be structured. In the end, there are only 3 things that you need to provide: - compensation (money employee makes) - deduction (money employee gives for some service) - taxes (employee owes the government) Everything that you do is toward satisfying those requirements. It is hard because each of these pieces are influenced by human interaction. But, that does not mean there are no rules…

If you imagine the problem as something to solve in a general sense, you can narrow the problems to fit into models. But, if you treat every requirement as a modification to an excel macro (:-D), then you are in trouble.

Wow, a new person's first comment hits the bulletin board!

You're batting 1.000, gbvb. Welcome aboard.

Re: Why Is Payroll Hard - Ron Jeffries

#20
post #19
post #14

Actually, Payroll systems can be structured. In the end, there are only 3 things that you need to provide: - compensation (money employee makes) - deduction (money employee gives for some service) - taxes (employee owes the government) Everything that you do is toward satisfying those requirements. It is hard because each of these pieces are influenced by human interaction. But, that does not mean there are no rules…

If you imagine the problem as something to solve in a general sense, you can narrow the problems to fit into models. But, if you treat every requirement as a modification to an excel macro (:-D), then you are in trouble. Wow, a new person's first comment hits the bulletin board! You're batting 1.000, gbvb. Welcome aboard.

:)
Post reply on HN