What Technical Skills other than C/SIDE can lead to a Dynamics NAV (Navision) career.

OK, this is not the first time this topic has been brought up, its been very hot for some time. But the reason I bring it up now, is that Three tier really is on the horizon now. There is a lot of public information about what is out there and where the future is. I have a number of questions, but decided to do just one thread to keep it all in one place.

Mainly where my question is heading, is : “How big is the future for Dynamics NAV Implementors that do not want to get into in depth C/SIDE programming”. (Note I am not saying NO C/SIDE skills, I am more talking of people working with a skilled C/SIDE developer and dividing the work into Classic Navision and the outside world).

So if someone asked “I know nothing about Navision, but have 10 years experience with XYZ, where is the market for my skill in Navision”, then what would XYZ be. Of course this topic can also be thought of as a “I am a C/SIDE developer, what other skills should I learn”, but I am more intereseted in opinions in the oterh way arround.

Of course if you strongly believe the other way, i.e., that you can not use outside skills unless you have a high understanding of Navision, then please post those opinions too.

Another core question here is “can Navision consultants work with classic developers from say C++ etc.?” its often hard to work with someone that does not want to work the Navision way, but is it impossible?

Obviously all these questions need to be taken in account with The Generation Three product, not the current 5.0.

so lets get the list going and please give you reasons why you think that is an important skill set:

SQL ; Web Services ; Reporting Services ; Share Point ; Visual Studio ; BI ; Commerce Portal ; Crystal Reports ; Mobil ;

NOTE: I started to write this as a Blog entry some time ago, but I really wanted your oppinions before I did that, so I will probably summarize this thread into a Blog at the end.

Well David, it’s actually not an easy question you put up here. If I was you I would have been splitting it up into a few questions, it’s soo long…

But I’ll try to answer at least some of what you ask.

My best advise to anyone who wants a career in the Dynamics NAV (or for that matter other highend ERP system) is that they need to know how a business works. And with the size of the application today, then the days are over when a consultant needs to be an expert in all areas of the system. So a background with good knowledge of accounting (CPA - auditor) or supply chain management is very good. You need to be able to talk the talk when you work with people.

As I see it then C/SIDE knowledge is not very important, neither are SQL or any of the skill sets you list.

Of cause these skill sets are important, but I just think knowledge of this is not what should be the basic of any career into Dynamics NAV. Skills like that could be the foundation of any IT career, not specific to Dynamics.

Not sure if I’m entirely on topic, but here goes:

I think it mainly depends on what stage of development you want to involve yourself in, and what role you wish to play.

At our company, we have a consulting/deployment firm helping to customize NAV for our use, and I would categorize their jobs into two fields, development and consultation.

In the development field, I would assume SQL training, UML design, and a good C/C++ programming background with specific training in C/SIDE. Having skills in ODBC, etc, and XML would be nice. Depending where you want to be on the chain of command, project management skills might also be nice.

In consultation, I see it more as Erik listed - management, business, and accounting knowledge. At least for our business, understanding warehousing, production, and item classification is HUGE. Again, I would also say UML knowledge is nice, allowing you to create business rules and use case documentation. Here, you don’t need to be as involved with the programmer background since you are modeling NAV, and can rely on the developer to make ‘dreams become reality’

The next role I see is what I do - I guess you would call it ‘post-deployment support’, although I have been involved with some deployment as well. Most of what I do involves end-user support, report generation, and security. With that, I’d say that you can pick and choose necessary skills, or have a surface-level knowledge of everything:

-Business knowledge is nice, but if you can listen to your users, you can learn as you go

-A seminar on relational databases helps with report generation skills and gives an idea as to what is happening ‘behind the scenes’

-Some sort of software IT background should be sought

-Some sort of security knowledge, either in SQL, Windows Group Policy Editing, UNIX, or even security in medium/large scale FTP site creation.

-You could also push for some MS Access/Visual Basic knowledge, as they help greatly with introducing someone to report generation.

Good points. But I will still say that almost all the best NAV developers I have meet in the last 16 years I’ve worked with Navision have a business background (either education or experience). But often this has been combined with a more formel education within IT (like myself [;)]).

Navision Software (the company that orginally developed Navision) used to have a “Navision Academy” (about 10+ years ago), where unemployed people with a higher educational background (engineers of many kind, economists and even people with strange university degrees as master in history etc.) got a 3 months intensive training in NAV combined with a practical period (without pay) with a solution center. It was a government supported program and many of the people who took this academy eduction are still found in the channel as some of the best both developers and consultants.

As to your suggestion regarding C/C++ programming background, then I would say that this of cause would never hurt, but personally I would never hire someone this (even if combined with SQL and UML design) background, if they don’t have any business background. C/SIDE and C/AL is (in my mind) is so easy to learn for most people (if just they want to learn it and uses some time doing that), even without any development background. If a developer don’t understand the business he’s working with, then he will have big difficulties in changing the analysis reports from the consultants into good solutions for the customers.

But on a different point, then I would love to hear why you think UML design knowledge is important? I ask this because I think I’m pretty good at designing NAV solutions, but I’ve been using UML. What would the advantages be (you’re welcome to answer in a new post)?

Navision consultants can work with developers of any programming language, but ofcourse after C/SIDE training. After some experience the developer would eventually learn the Navision way. (I started to work in this way actually:)) ).

Navision is an ERP application. One who is developing in any of ERP application , it always good that he/she have skills to develop enterprise-wide applications in technologies such as David has mentioned above. (SQL ; Web Services ; Reporting Services ; Share Point ; Visual Studio ; BI ; Commerce Portal ; Crystal Reports ; Mobil ).

I would say one must learn these to be complete developer.

Wow, I think that’s the statement of the year! If that would be case, then I really don’t think more than a few members in here could call themselves a “complete developer”. Personally I have always considered me a very good NAV developer, but I don’t any of the skill sets listed here (except a bit SQL and Reporting Services/BI). And nobody have actually expected this from me. So I do not agree with you that these skill set is important to master for a NAV developer. On the other hand, every Solution Centers should have at least one developer employed with the skill sets listed above (except Crystal Reports - why should this be important for NAV developers I simply don’t understand). Most of the successfull solution centers, usually have a number of all-round developers with mixed business backgrounds and one or two technical expert developers, who have all the technical skill sets and usually handle these special request for all their projects.

Erik and Chicken Munga,

thanks for the replies, though after re-reading my post, and the replies, I am wondering if maybe you clicked reply on a different thread [:D] So let me try to rephrase it, the important part of the post was this:

The key being here that I am not talking about Developers or consultants that want to learn Navision. I am talking about implementors (both developers and consultants) that have other skills, and would like to use them with Navision clients, but not have to learn Navision in depth. Instead they would work with a Navision consultant or developer that would handle the Navision side.

So say for instance a person that specializes in Crystal reports. Maybe they would like to specialize in writing Crystal reports for Navision. So they work closely with a Navision consultant that writes them up specs and they develop the reports. That is probably someone that has been using Crystal reports for 10 years, and can pump out high quality reports much faster than a Navision consultant that spends 3 months to learn Crystal.

Interfacing with Sharepoint is an obvious one. If the Share Point “Developer” can work with a Navision consultant to work out data structures and business models, then working with that person makes more sense that leaning Sharepoint from scratch.

So those are some examples, and basically I am asking what other Technology skill basses do people have out there that could closely tie in with Navision, or to put it more commercially. What skills EXCLUDING NAVISION could be sold to Existing Dynamics NAV clients, and be MORE economical for the client than “doing it in Navision”.

Basically the question came up with my MVP lead, when we were trying to see how we could cross share platforms. And if I can get these cross technology areas defined, I will give a presentation at one of our Local MVP sessions to show MVPs from other disciplines what Navision has to offer them. Now if that works, we would then expand that where say the SharePoint MVP would then present “Integrating Navision and SharePoint” at a SharePoint user group meeting.

Ultimately it means getting the best solution to the customer, so everyone wins here.

I see! Yes that’s a very different question.

But actually it’s a little of what I answered in my last reply. I think a good match is not that the NAV developers are learning these skill sets themselves, but that they work together with the technical experts.

And truely SharePoint would be one of the most important technical skills to work with Dynamics NAV in the future in my opinion. But also Reporting Services, as this is said to be the platform for report development going past version 5.1.

But I will also say that if these technical experts should really become succesful in the NAV world, then they need a more than basic understanding for the NAV data model. They need to learn that although NAV runs on SQL, then it’s not standard SQL, but that NAV has a lot of “stuff” you don’t find in other SQL databases (such as the flowfields, no unicode etc.). And still a good business background would never hurt them here! [;)]

All of the skills you have mentioned in above can be ofcourse sold to Navision clients. I would add here the skill of Biztalk server is really important, to be integrated with Navision. There is new great course for biztalk , check out microsoft learning website.

I didnt mean that who cant develop all in those skills are not good developers, what i meant is that the one who is working in NAV developing, would have good resume , if he/she have general knowlegde of all these. [:)]

OK, this is getting closer to my thread topic.

Basically the fact that We don’t need to be experts in every area, because we can work with those that are to complement the skill sets as needed.

As more technologies are integrated, there is a need for people with skills and experience with those technologies. The most important thing to me personally is that these people MUST be team players. This is required for all implementations, but is specially important for for NAV implementations. I have absolutely no patience for a ‘SQL guy’ that doesn’t want to listen or learn about NAV specifics, that just goes in and only looks at the issues from a SQL Server perspactive. I also have no patience for a C# developer that wants to hack their way directly into the system and starts complaining about not having certain programming features.

What we need is people who are open to “the other guy’s technology”, and who are willing to WORK AT MAKING IT WORK. For me, a willingness to work together is essential. Recognizing that for certain things it might actually be beneficial for your customer to get an outside expert and WORK TOGETHER on solving the customer’s issues, that to me is what is going to set things apart. It’s going to be a risk for some, as I know from personal experience, but in the end there will be HAPPY CUSTOMERS. Not just happy customers, but I also know from personal experience that successful collaborations are the most fullfilling projects that I can remember.

I can see a big divide coming with the 5.1 release between groups of people/solution centers working together and being successful, and a group of people/solution centers who are going to be too protective, refuse to invest in these technologies or to involve outside experts, and being unsuccessful.

It is simply impossible to be proficient in all technologies. I am planning to invest time into learning many of the ‘new technologies’, but realize that I will not be very good at any of them. Hopefully, by the time it becomes current, I will have enough knowledge to know when to get outside help and search for those people.

It’s an attitude more than technical skill that will be the deciding factor who is going to be successful, in my humble opinion [H]

Yes that was an answer to exactly the question I was asking. [Y]

Anyone else?

Hi, As mentioned by others SQL, Crystal report, biz-talk, and other technologies can lead to career in navision. I was just wondering if SOA (Service oriented architecture) and similar things can also play role in it…

What do you mean by service Oriented Architecture in this sense?

SOA is rather a concept/idea than something that you need to be skilled for. In this moment I do not see SOA as an base concept of NAV. Maybe with 5.1 it will be more SOA oriented but developers will still work with C/AL and with that, they will not be able (or they will need not) to directly use services provided by server. Mostly, ofcourse.

On the other hand, some nice stuff could be made out of the box of NAV (and through services I hope).

I think this is key. From my experience working with .NET/SQL people. They prefer to go through the backend. Or in other words just making it work (without taking into consideration of the Application). Thats not totally wrong all the time but in my opinion not the best solution. On the other hand. I have worked with NAV people that don’t see anything but NAV.

I dont think technical skill alone make the person. If the person is willing to accept the application he/she is working with. Life will be easier.

Another good point. I also think there will be a big divide. Those that adopt it quickly and have the complete team. And those solution centres that don’t or struggle to.

On a more specif note. If people with SQL Reporting Services, WebServices, Sharepoint, Analytics (Performance Point/SSAS) can work together and both be accepting of each others skills sets. That will have the best outcome.

NAV 5.1 will be the BIG test.

Finally coming back to this, let me see if I can time up loose ends I left:

This first response is a bit off track now, but I still want to answer.

Erik, you mentioned that you placed heavy emphasis on business knowledge, but didn’t consider C/C++/C# to be as big of as an importance. I think that we are talking two different jobs. You are looking at the business consultant, and I am thinking more of the programming consultant - maybe both aren’t needed (I have been working with NAV not that long, after all). I see the business guy being able to draw up forms, reports, and deparmentalization. Meanwhile, the programming consultant dives under the hood, and takes care of the c/side issues. Admittedly, either profession could handle it all, but the project would suffer from a lack of expertise. A programmer will know the best way to make the code work for the program. The businessperson will know the best way to make the program work for the people. To generalize, without both experts you either get a highly technical product that no one wants to work with, or you get a easy to use product that never works.

Back on track, I still see this as a viable skill that can be used to great success in the NAV world.

As a kid, I loved reading fantasy novels; which had elves, gnomes, humans, and so on. They had their own racial languages, but were able to interact via a common dialect that all the races knew so the different characters could interact and go about business in the town markets, etc. I see UML acting in the same way. It provides both a highly technical and nontechnical language that different backgrounds can use to equal success.

Bear with me, as I’ve only had a little UML myself, but this is the sequence of events I hope UML could put in practice:

I’ve seen people use business requirement procedures, but use case diagrams would work beautifully to enhance communication between the consultant and the client. From there, the consultant can provide the tech department with the use cases and business rules to create class diagrams and sequence diagrams. The tech department brings the sequence diagrams back to the business consultant, where they can review to see if the clients needs will be met. From there, your tech staff are ready to hammer out all the forms, backend code, reports, and so on.

In this way, communication between departments (and the client) no longer becomes a barrier - we have a common communication platform to work from.