4 ms·
I was an ABAP developer around 10 years ago, wrote a bunch of Planning & Scheduling apps/"screens" running in SAPGUI R/3 and APO for a (brand new) manufacturing
by npace12 7y ago
I was an ABAP developer around 10 years ago, wrote a bunch of Planning & Scheduling apps/"screens" running in SAPGUI R/3 and APO for a (brand new) manufacturing plant with a new SAP implementation.
I learned ABAP in a literally one weekend and was able to make stuff really quickly. For the most part, you could just "loop at <giant_table_name>" extract what you want and show it on a screen using one of their existing ui components. There was not much UI to worry about and you know the user is getting a proper input box (for example) with a working typeahead. Honestly, I thought it was a very decent developer experience. I could focus on what I needed to do and not worry about how pretty the thing looks or if I'm querying the database optimally. I ended up writing a very complex genetic algorithm implementation to calculate optimal schedules and it was a joy.
Yes, the table names were basically in german, and abbreviated, and most things were only 8 chars long for some legacy reasons, but it really wasn't that hard to learn that VBAK was sales_orders and VBAP was sales_order_items and move on.
For the most part, the users were totally fine with SAP. It was hyper-focused for the tasks they needed. It was consistent and easily documentable. It didn't crash, it loaded super fast, it didn't eat up gigs of memory. You just load up the gui application and you don't even need a mouse once you know the shortcuts.
Having spent the last 10 years building web and mobile apps, working with salesforce and others, I miss ABAP very often.
- TheHypnotist 7y agoMy biggest complains is running queries against tables in german. Most of my time is searching tables for fields i actually need. But i'm a complete SAP novice, i understand it gets easier with experience.
- npace12 7y agoOne thing I found helpful was to find a "native" transaction that does something similar to what I want then debug it. It was nice to be able to read and debug the existing "SAP" code. Also, that was the only way I remember to find the "user exits" where you can extend an existing transactions.
- tubbs 7y agoIt's funny - I spend years as an SAP ABAP developer and the very day I start my new position apart from SAP, it's on the front page of HN. ABAP will always hold a special, quirky little place in my heart. It's very powerful, but also totally frustrating. The language is a COBOL-like language made by Germans with a keyword graveyard as big as Berlin. The ABAP community (in my experience, online and offline) is totally unacademic: algorithmic complexity is a foreign concept, "code clarity" meant "hitting the Pretty Printer button every few years" (which was a nice feature), and there's no remote concept of best practices. On the bright side, it makes for a good income, and the debugger is a gem.
- npace12 7y agoCongrats on your new position. Get ready for some debugger withdrawal. I haven't found anything better since :)
- panabee 7y agoInteresting. Second comment about how awesome the debugger is. What could other debuggers learn from SAP's debugger?
- asc_jiji 7y agoNo, you got code clarity wrong. Code clarity in ABAP means using System Hungarian Notation and it baffles me that almost every ABAP programmer I talk to think it's not redudant to use a command such as READ TABLE on a variable called GT_VBAK(for non-abapers, G for global variable, T for table). The only advantage that I see is that for the most part, every program will look almost the same regarding standard SAP tables.
- Arwill 7y agoAt some clients you have to sign their development guidelines, and you have no choice but to use that notation. The rule at big enterprises is that new rules get added, but old, even archaic rules seldom get removed.
- 7y ago
- cptaj 7y agoFor someone with a web development freelancing background wanting to get into enterprise software, would you recommend going into SAP? Would Salesforce be a better path? Which one is better for a freelancer working from home (if any)? Feel free to share any other thoughts on the matter
- neves 7y agoI don't know about Salesforce, but SAP courses are really expensive. Just corporate users do them. It's almost impossible to self educate yourself without working in a SAP Consulting firm.
- chris_wot 7y agoThis is the reason I hate SAP. There are a small bunch of people who can know it, and they make huge money largely because of this artificial scarcity.
- bock 7y agoThere is https://open.sap.com/ https://open.sap.com/ Free courses directly from SAP without expensive consulting firms in-between. For parent maybe this would be interesting: https://open.sap.com/courses/cp7 https://open.sap.com/courses/cp7
- npace12 7y agoI think definitely Salesforce if you want to work remotely. It's easy to get into, much smaller system in both scope and complexity, and tons of free documentation. Get a couple of certifications, do the trailhead stuff, contact some consulting firms to tell them you're available for work and it should be easy to find work. Getting into SAP and finding work can be challenging. They have a lot of new things from what I see but the majority of the SAP work you'll find is old non-cloud stuff that you'll basically need to have worked with at a company before to learn. I went from SAP dev inhouse -> SAP dev consulting then jumped on the Salesforce wagon around 2011. SAP work was enjoyable to me, partly because I was working in the manufacturing space, which I found interesting. Software-wise, it felt like I was 20 years behind everything, working on a mainframe. Salesforce, I just immediately hated. It was just limits after limits and some crappy java-like language and html templating that took forever to deploy. It's gotten a bit better with lightning but you'll see the shit underneath pretty quickly. I also found the projects also extremely boring. Going from controlling machines and automated warehouses with SAP to projects about collecting email addresses and creating contacts felt like I made the wrong move. tldr -- avoid getting locked into proprietary-land if you can help it
- jandrese 7y ago> I could focus on what I needed to do and not worry about how pretty the thing looks or if I'm querying the database optimally. No offense, but this is probably a big reason for the perception that SAP is a giant slow resource hog. Developers are abstracted so far away from the hardware that they have no way of knowing that their simple little program is resulting in 1500 database queries per page load.
- npace12 7y agoYeah, of course, as with any higher-level framework/system, someone has to pay for the computing required. If you go try to get a developer instance of SAP to play around with, I believe the minimum requirements was like a 4xl ec2. That's before you even start writing crappy queries :)