Let's be honest. Enterprise Resource Planning (ERP) is hard.
There are lots of business problems to solve, and the whole point of an ERP system is unification and integration. It’s easy to dismiss ERP as a legacy holdover of the 80s and 90s, but that would be a mistake. There are many ERP vendors in the world, including xTuple, and we are all trying to solve some of the same problems for our customers.
Techies — like me — tend to have strong opinions about what’s worth working on. Some of us think all of the hard problems are solved at the operating system and device driver level. Others think the OS is easy, because you don’t have to worry about those pesky users, and the real problems are in computer-human interaction — the user interface. Yet others think the world would be a better place if only we had better programming languages. I’m going out on a limb here and saying “humbug!”
Why? Because they’re all right:
- Operating systems are hard to write
- User interfaces are hard to design
- Programming languages are just another kind of user interface, and well-designed languages make for better programs which make life better for users
Back to ERP
For those who think “it’s just business software,” you’re right. Now think again — “just” implies it’s easy, but ERP is anything but easy. It’s more than tracking debits and credits. It’s more than buying and selling goods. It’s tying credit card swipers with point-of-sale terminals with centralized data with business intelligence. It’s receiving clerks signing for packages, and accountants closing the books for the year, and executives deciding how many people to hire next year. That is ERP.
At a technical level again “it’s just business software,” running the gamut from device drivers for those credit card swipers to parallel applications to database normalization to UI design. “Just” means traditional client/server desktop programs, native mobile apps, and eCommerce websites. It means multi-tiered architecture and APIs and coding in multiple programming languages for multiple operating systems. It means performance tuning on algorithms, networks, and databases. It means software engineering and HCI and computer science. That is ERP.
Does this sound interesting for your career? It should. And we're hiring!
There are a lot of hard problems to solve to build a good ERP application. Anyone can contribute to xTuple ERP; that’s part of the open source magic. If you see a bug, try to fix it and open a pull request. Consider it an audition or interview pre-screening.