ERP VS .NET Development

Rami Kazbary
7 min readJul 9, 2019

--

well, I am not sure How much the title is accurate as the ERP is a software build with a programming language at the end, But What I want to highlight in this article the difference between working as ERP developer/Technical consultant and a (.net / JAVA / C++) Developer

This started when I went for a job hunt couple of months ago, I have worked as a software developer within C++ & the .net framework for more than 6 years, followed by almost the same period as MS Dynamics NAV developer. During my job hunt, I was open to all options, and I did couple of interviews for both positions: Senior .net lead\developer and Senior ERP developer, I realized that the two paths are much different, the variation even start from the job interview, Why? How? let us see!

Daily Tasks:

In .Net development: as our case study, you start your task from a business logic case, in which you need to address the needed changes, putting the proper design, the unit test and so on following the design pattern, so you start pretty close to the development process itself, by talking to other developers / team lead / project manager and so on, even though it does not really look close to the development process for many, but coming to the ERP development it will look so

Get your hands dirty

As in MS Dynamics ERP, when you got the business logic case, you need to pass it through many phases before going to the design like:

  • Do we have something similar within the ERP
  • Is this something should go inside the ERP? Or outside in a 3rd party tool\system
  • Will the requested flow violates the ERP flow.
  • Is there any impact on other ERP modules which we should consider

This is why there is a profession called “Functional ERP consultant”, his\her role is figuring out those answers with the help of the techis

I would address it as this, after receiving a problem or case to solve:

.net developer will ask: What to do now?

ERP developer will ask: Where we should do it!, before the developer goes to the question what to do now

Diving in work

“I am busy right now”!

I remember when one of my colleague came to me for a question while I was a .net developer and I asked him to postpone it because I was busy, at that point, I had a complicated case, in which I need to fetch the previous cargo for a certain truck, I was seeking:

  • A stored procedure with a good performance
  • A web service with solid and reusable classes\structure
  • A proper way to present the result
  • A proper test

Which I will call it as depth diving, starts from the UI and ends deep in the DB, or vice versa

In that case, not much knowledge of the business domain were needed, once I knew what I have to fetch, then I had to load my development skills\experience to achieve it

Where is the abstract class?

On the other hand, I was looking to the email I received regarding “Implementing an sms notification functionality” within the MS Dynamics NAV, I had to:

  • Parse over all the active modules in order to define the targeted ones
  • Find a way to enable\disable the notification for each module
  • Check the impact on the 3rd party tools and APPs, as they should trigger this notifications as well
  • Check the most common way for that client to create and customize templates to use it for the sms template
  • Considering the logs as they are the most important part of any implemented feature

For me, the presentation for example did not count at all, as the ERP has a standard presentation theme and ux

Also the ERP had already determined a configuration form and a logs form, which in a way or another drew a part of the needed structure, but I had to do lots of work away from the development environment, it is not a secret that the ERP itself force most of the design, the sad news is it may differ a lot from a client to another, from an implementation to another and so on

I will call it as breadth diving, or breadth traversing

Heading to the correct ERP module

Learning curve

If we consider two areas Analysis and design, the .net development will increase your design skills much more than your analysis skills, unless you are involved in the requirement gathering phases, even if this happened, in .net the limitations of the scope is far lower compared to the ERP’s, you have much fewer parameters to process and to consider comparing to the ERP

Technologies wise, each company defines set of used technologies to work with, and usually you will stuck with them for long, companies can switch from react to Angular JS for the UI for example, but you are still within the same range of technologies! You will master them for sure; remember Bruse Lee one kick rule :)

For the ERP it is already said, you will gain lots of business domain experience and lots of analysis skills, in addition to the design skills, the whole ERP tables\modules structure should be loaded in your brain during the analysis and the design, that is too much to process for each single change.

Technologies wise, we ran to a client with Biztalk integration needed, other was using an in-house developed accounting system, which we had to study in order to implement the data migration

We had to implement a C++ middleware application to process fingerprints machines logs before importing them to the ERP, and we had to implement a web portal for another client using Angular JS

I can say without hesitation that the challenge here is bigger, it does not matter how much you master something, any implementation project can throw you back easily to the starting point!

Recently, Microsoft presented the new Business central, which came with a new development environment and programming language as well!, I am not saying it is a restart from scratch, but it is a close call

Plus once you put your hands on an implementation project, the data integrity and consistency becomes your problem, we ended up cleaning other people mess many times!

New Technology! Not again!

Job interview

Actually, that is an interesting area to discuss, the recruiter will receive tens of CVs claiming that they are senior .net developers, and during the interviews, the recruiter can see lots of variations in skills level, because the .net applications have lots of variety in complexity at the first place

A .net developer with 5 years’ experience working in hospital management systems, is more experienced than the one working for the same time with hotel management systems for sure, and the interviewer should wait till the interview to figure out how much different they are

And for the surprise, it may come that the one working with the hotel management systems is more skilled than the other, what I am saying here the boundaries are wide opened, and the interviewer may expect any result!

The question for the interviewer will be: are you really senior? How far can you go?

Do you prefer using ODBC or Linq?

On the other hand, the ERP forces a minimum level of skills and qualifications for any developer to survive, the question will jump directly to the part: How far can you go?

This is the walk through?

Stacked experience

Switching companies as a .net developer, you will need to adapt to the business domain that the new company use, plus the design pattern, the project management model and the new structure

Do not forget the used technologies as well, additional libraries and frameworks can differ cross companies, this also should be considered

While in ERP, most of the previous factors do not exist, or at least their impact is lower, especially that each ERP demands its own team structure, which will make the adaptation faster

Ability to change path

Well! As .net developer, you can switch the domain easily, moving from hospitals management systems to bank systems, flight reservation systems, fleet tracking systems, fire alarm systems, online marketing frameworks, should I go further? I think no :)

In ERP, guess what? You are stuck with us! End of story

I hope this article will help any developer in a “choose career path” phase between ERP Development and other Deveopment

and for me, yes, I am stuck with ERP for now :)

--

--