Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'm a programmer with 3 years of .NET experience under my belt, and am currently looking for a new job.
One of the options I'm considering is as an OO ABAP developer position with SAP.
However, I have several concerns about taking an ABAP job:

  1. as ABAP is used exclusively by SAP, any experience in ABAP that I have would be irrelevant in the outside world.

  2. I'm also worried that I wouldn't be exposed to new technologies while working in ABAP, and ultimately I would lose touch with what's going on in the world.
    This is a real sore point, since I really enjoy exploring and learning new & cool stuff.
    (*note: Yes, I could experiment with other technologies & trends on my own time, but this is much harder to do, and isn't really the same as working full-time with them)

  3. One of the nicest things about programming, for me, is finding a great OO architecture / design (I'm really into object-oriented :)). I know that ABAP is a procedural language, and I'm not certain how 'OO' it's OO version is.

This leads me to the conclusion that, unless I stay with SAP to the end of my career, any time spent there would be professionaly unbenificial.

Is there anyone who can shed some light on these opinions? are my concerns founded? Are there any advantages (career and technology-wise) to ABAP that I'm missing?

share|improve this question

closed as off topic by gnat, Dynamic, Glenn Nelson, BЈовић, thorsten müller Dec 17 '12 at 9:54

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

    
What's important to you? ABAP will probably make you a lot more money than .NET, but the job might not be as interesting as some .NET jobs, and I'd bet real money that developing .NET is less frustrating than ABAP. –  David Thornley Nov 11 '11 at 17:10
    
at the moment, job satisfaction is more important to me than money. can you elaborate on why you're so certain the ABAP would be more frustrating? –  sJhonny Nov 12 '11 at 19:45
    
If you want to know more about ABAP check this from stack overflow Helicopterview of ABAP –  Damodaran Dec 15 '12 at 12:17
add comment

2 Answers

Out of curiousity I searched for an ABAP tag in this forum and found this question. I think I'm in the position to comment on your three items.

  • i) this is not a correct view on things as they are. What is true is that ABAP is used exclusively for programming SAP systems, but this is not happening exclisively at SAP. SAP systems can be found in a rather large number of large and huge companies in almost any industry sector and there is a whole ecosystem of companies which offer SAP know how (including ABAP programming) to them in each of these sectors. That is, if 'outside world' means outside of SAP, your statement i) is simply incorrect.

    In addition, writing software has several aspects to it, out of which the programming language is probably not even the most important one. If it comes to writing software which is to be used by many large companies all over the world in a productive environment then questions like business know how, deployment, backward compatibility, maintainability, overall architecture, internationalization, ... (the list can be conitnued for quite a while) become much more important than the programming language you might be using. Depending on your job you will be able or even need to learn a lot of things not related to the programming language at SAP (or any other company creating software for that kind of customers)

  • ii) this depends on you and to some extent on the position you would be holding. I think there are (few) jobs at SAP where keeping contact with the non-ABAP world will be solely based on your own engagement. There are also jobs at SAP where you are programming in JAVA, C++, C#. The SAP kernel is written in C++, to my knowledge. And, of course, SAP is interested in keeping their own technology stack as well as their employess up to date. Every company of that size will, or will soon become irrelevant if they don't. As far as I'm concerned, ii) is a prejudice.

  • iii) ABAP OO is quite OO, if you ask me. The code base you will be working on may not be in ABAP OO, though, but plain old ABAP. In ABAP OO you will possibly miss some concepts you like and may find concepts which look strange, similarly you may find that there are interesting details to the language as well. The same happens if you are used to writing programs in Java and then start to write programs in C++.

As for the comments after one of the other replies: I do think you can 'go back to normal programming after it', assuming you are working consciously in each environment you are using and assuming you are open minded. I know some programmers who have learned to do things in a certain way and have a hard time to do them differntly after some years. In that case you would have a hard time to leave the ABAP world. This is not due to the programming language as such but to the infrastructure you may be getting used to.

Please note that I do not suggest that you apply for that job, neither do I advise against it. But the concerns you expressed are, from what I know, not adequate as a basis for a decision.

share|improve this answer
add comment

1) job security in a well paying job.
SAP jobs pay well, far better on average than .NET or Java jobs.
There's also a constant need for SAP consultants, and I don't expect that to stop any time soon
2) Keeping in touch with the world is always your responsibility, not that of your employer (though they can help). There's development in the SAP world as well, so you'd just be getting information about what's happening there rather than in the .NET world, information you now don't get.
3) different paradigms shouldn't be a reason to not use a toolset. Procedural programming works and works well, you'll just have to get used to a different way of thinking about the world (you'd need that anyway, as SAP is by nature extremely data centric rather than centered on functions/procedures/methods, like (strangely) most OO environments.
If I had 3 years of .NET or Java experience rather than 15 I'd probably take the plunge and move over to the SAP world given the chance.

share|improve this answer
2  
I would add that it's underestimating non technical skills you learn in any paradigm than focusing on the specific technical aspects. For instance, talking with customers is not technology specific. This is an essential developer skill. –  user2567 Nov 11 '11 at 12:31
    
thanks. I'd be interested to know if you think that ABAP might be so different from (and irrelevant to) other technologies, that it would be hard to 'go back' to 'normal' programming after it. –  sJhonny Nov 11 '11 at 13:01
    
@sJhonny I've no personal experience programming ABAP so can't tell, but in my experience with other languages I'd say there's not usually a problem (except some time you need to get back up to speed on a language/toolset you've not used in a few years) with going back to something you've used in the past. –  jwenting Nov 14 '11 at 7:08
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.