Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Microsoft Dynamics (Navision) vs C# .NET

I am an experienced C# / .NET developer and recently been offered an opportunity to become Microsoft Dynamics (Navision) developer (training, certification etc will all be paid for by employer). I've never been involved in anything to do with this Dynamics so I wanted to ask what is like to be a Dynamics developer in comparison to C#/.NET developer. I have compiled a list of things that I am interested to know before I make that decision. Please feel free to edit the list.

C# / .NET

  1. IDE: Visual Studio
  2. Language: C#
  3. Application domain: web based or desktop based
  4. Business domain: any industry
  5. Good career progression and easy to change job
  6. etc...

Microsoft Dynamics

  1. Relatively closed market (compared to .NET)
  2. Not as many jobs out there
  3. The IDE (or development environment) is terrible compared to Visual Studio, I might even prefer to work in notepad
  4. What benefits does Dynamics customers get in comparison with custom built application?

Thank you!

like image 427
Jeff Avatar asked Jul 02 '10 09:07

Jeff


People also ask

Is Microsoft Dynamics same as Navision?

Dynamics NAV (Navision), an on-premise solution that Microsoft acquired in 2002, was used to create Dynamics 365 Business Central. So while Business Central is new to the market, it isn't exactly a newfangled solution—it's a cloud-friendly upgrade of Dynamics NAV.

What is the difference between Dynamics NAV and Dynamics 365 Business Central?

The difference is in the platform that each solution uses. Dynamics NAV vs Dynamics 365 Business Central: NAV can be implemented and operated directly on site. It's installed on local servers. On the other hand, Dynamics 365 Business Central is hosted on the cloud.

Is Navision and Business Central the same?

Business Central is a newer version of Dynamics NAV, offering the same standard functionality in a much more user-friendly way. Crucially, it's also SaaS (Software as a Service) meaning it's accessible from anywhere, with the same security that drives Microsoft 365.

What is Navision called now?

Navision became a new division at Microsoft, named Microsoft Business Solutions, which also handled Microsoft CRM.


3 Answers

My own background is as a .NET developer using mostly C# and lately ASP.NET MVC. I've also been a Dynamics NAV developer/consultant/architect for about 3 years now.

The Dynamics NAV world is quite a small one and to be honest it's neither growing nor shrinking. I've heard of a few places recently moving from other ERPs to NAV and just as many moving away from NAV.

I attended a briefing at the Microsoft Executive Briefing Centre in Vedbæk (Denmark) earlier this year and met with the Dynamics NAV GM as well as some Dynamics NAV PMs and developers (i.e. the devs that write the actual NAV app) and the roadmap they have for the product is really exciting - there's going to be a huge focus on HCM and improving some of the financials over the next couple of versions.

In terms of day to day working with NAV it's a bit of a paradigm shift alright. As you mention, the IDE is absolutely terrible. They only added syntax highlighting recently and there's no real intellisense or any of the modern conveniences IDEs today offer. Having said that, you can do some tremendously powerful stuff by combining native NAV objects with add-ins, etc. and they've really improved some of the scaffolding tools to help with development.

Financially, NAV developers do pretty well because they are reasonably rare. NAV solutions architects and consultants do even better. You profile doesn't state where you are but I know in Dublin the starting salary for a NAV developer is around US$60k and in London it's about US$65k.

The job market is much smaller than that for C#/.NET devs but jobs tend to be a bit more secure and there is a growing market for customers hiring in-house NAV devs rather than only partners/providers hiring devs and consulting them out to customers.

I personally wouldn't see it as a binary choice between C# and NAV. Sure, your title may be NAV developer but if you're using some of the later versions of NAV then you may still do a lot of C# development writing add-ins, etc. It's also a fantastic opportunity to brush up on your SQL knowledge as writing/optimising well performing code in NAV requires a reasonably deep knowledge of SQL and how queries get executed handled right the way through the process.

Do you have any more specific questions?

like image 103
Rob Burke Avatar answered Oct 07 '22 12:10

Rob Burke


I would always recommend that if you have the opportunity to have an employer cover NAV development or NAV implementation training if your employer is offering to cover the cost of this. As already highlighted NAV is a niche market and Microsoft is aggressively pushing this globablly (I think at last count Microsoft marketing materials showed 70,000 customer sites and over 1 million users on NAV).

I do not think that NAV and .NET development are exclusive in any way - actually if anything having knowledge of both development languages and development environments makes you much more valuable. As of the NAV 2009 R2 Release there are now many more ways that external applications, APIs and .NET can be integrated with any NAV process using any combination of: web services, .NET Controls in the Role Tailored Client and finally accessing native .NET types and classes via .NET Interop. Basically if you know C# or .NET you can use that natively in the NAV environment now. So if you understand the .NET framework and NAV you can utilize the best of both worlds when building any solution for your customers/clients.

Two points I would highlight for any future/current NAV developer (imho):

  • NET knowledge will be critical in the coming releases as NAV moves more toward .NET/Visual Studio type integration. As the recent changes in the R2 release demonstrate they are giving developers much better tools and if you know both .NET and NAV (C/AL) programming than you are very well situated to architecht and build best of breed solutions.

  • It is crucial that you be able to understand the application workflow and business logic. Eg. A developer who understands how a Sales Order works through the various stages of unposted and posted steps is much more useful than a developer who needs to be told exactly what to build by a business analysts. While this does take time if you're new to NAV, make sure that you take the time to understand and get to know the document structures and transaction workflow while you are writing your code or building reports.

I know this is getting long winded - but to answer your questions specifically:

  1. The market is opening up as current (and hopefully future) releases have more integration and .NET connection options. Microsoft is pushing NAV integration with CRM, online payment processors and web services.

  2. There may not be as many jobs, but they're global - there are many in the EU, Australia, New Zealand (I lived there for 2 years and my employeer paid for the move). North America has much lower NAV penetration so there are not as many jobs here (but its growing). So if you want to work and travel this can be great, also as there is smaller talent pool of specialized NAV resources the laws of supply and demand dictate that your going rate is higher than a .NET developer. Here in Canada senior NAV resources can be paid in excess of $100K CAD (which at todays exchange rate is actully $102K USD).

  3. Yes the IDE sucks! - but it is getting better with each release. (I HATE this about NAV)

  4. A key benefit (from a back end perspective) is being able to rapidly develop and deploy business logic and functionality. The NAV platform has integrated security out of the box and provides enough structure such that you can develop rich applications very, very quickly. (I LOVE this about NAV).

like image 13
Jeff Landeen Avatar answered Oct 07 '22 14:10

Jeff Landeen


Regarding your points:

  1. While .NET is a way of generic development, NAV is a proprietary software for particular purpose (ERP). Hence, the market is pretty closed indeed, you need your development licence to do anything, which in turn requires involvement with Microsoft or being employed with a MS partner. While closed, the market is somewhat, so to say, an elite one..? At least that's how people tend to feel there.

  2. Jobs - maybe not as many in absolute numbers, but NAV people are heavily demanded, and the demand has constantly exceeded the supply for as long as I remember (10 years). Here in Europe you can easily get hired in a week, relocation paid. The jobs are all reasonably paid. Should also note that NAV is a best-seller in Europe, not so much in US, where Dynamics GP dominates.

  3. IDE does not matter. Lacking an intellisense of sorts might be a shock to a newbie, but you get over it in a month or so. Developing in NAV is so easy technically that you don't need a good IDE. What you need instead is a good understanding of how NAV works conceptually, what patterns and data flows are used, and build your things accordingly. The closer you are, the better off you are.

  4. Customer benefits - "best practice" functionality is there on day 1, speed of getting the rest of things done, consistent use of patterns, i.e. "things should work THIS way" (unless the developers create mess by breaking them), avoiding vendor lock-in to some extent, since there are many NAV partners around, and should things go wrong, there is an option to change partners while staying with NAV.

All in all, don't expect either to do much coding with NAV or growing yourself as a tech-developer. Technically, NAV is something between MS Access and a big LEGO of standard functionality and patterns of doing things. What all companies are actually looking for is not technical developers, but developing consultants, as most of the work is typically related to one-off customizations (big and small) as opposed to standard application/module development and releasing versions. So you will be most valuable to your employer once you not only learn to code (which is easily done in 3-6 months), but also understand how the application works, the proper ways of customizing, and most importantly - the do's and dont's and how to go around issues/change requests. Once you can do it on your own with confidence, you're a demanded NAV expert, and may feel, ugh, elite, yet the journey may take 5-10 years, during which you mostly learn the specifics of NAV, a proprietary system.

So the choice is yours. Go for NAV if you feel an ambition to become a valued business IT dev/consultant delivering visible business value. Don't go for NAV if your heart is at things like performance, neat code, version control, algorithms, and top-notch technology.

like image 5
Ivka Avatar answered Oct 07 '22 12:10

Ivka