I am about to go for a job interview for a junior Navision developer position, i am wondering if anyone can contribute some tips and advice as to what kind of technical questions will be asked in the interview? Should i review materials in Application Designer Guide?
Thanks,
Tasha
0
Comments
Sorry about that.
Tasha.
Of course, if you go to all the trouble to get the guide and read it to prepare for your job interview, that will make a very good impression. I would never advise against that, and it gives you an idea about what to expect as well.
RIS Plus, LLC
The most important thing a person might ask you is your skills in logic. If you have good logic in place, you will pickup any programming language easily.
A programmer without logic is like a computer without a CPU.
Probably getting a little off topic... :whistle:
AP Commerce, Inc. = where I work
Getting Started with Dynamics NAV 2013 Application Development = my book
Implementing Microsoft Dynamics NAV - 3rd Edition = my 2nd book
Tasha
No problem. For reporting, you can use the red :!: at the right side to report something about a post.
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
I found some differences in way of thinking between some languages.
The most fall into 1 category (Navision, Progress, C, Cobol, RPG, Pascal, Modula2, Basic, VB, DOS command-files, unix-scripts, Fortran, even Assembler, ...).
But for some you need to completely change your way of thinking. Like Prolog or Lisp.
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
If you are not interested in how businesses work you will probably not find Navision very interesting as it is not very technicaly chalenging.
RIS Plus, LLC
Yes.... Always the exceptions to the rule.
Just like learning foriegn languages... Most languages are alphabet based, then you run into Chinese, which is character based...
Again... off the topic... :whistle:
AP Commerce, Inc. = where I work
Getting Started with Dynamics NAV 2013 Application Development = my book
Implementing Microsoft Dynamics NAV - 3rd Edition = my 2nd book
RIS Plus, LLC
Do It Yourself is they key. Standard code might work - your code surely works.
It is true that a certain programming language doesn't help, but it is important to know how to program. And a good C-programmer will also be a good Navision-programmer, once he knows the standard features in Navision. But a bad C-programmer will also be a bad Navision-programmer even if he knows the standard features.
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
I'm sure that C++ programmers would disagree passionately with me, but just as memory allocations and other things don't make sense to me, applying an invoice discount to a drop shipment doesn't make sense to an average C++ programmer.
RIS Plus, LLC
I'd test for "constructive pessimism" which I think is the most important ability - to be able to sniff potential trouble.
For example: in Navision, you cannot ship more than the quantity on the Sales Order. A customer asks you to change that. What questions you ask?
The good answer is something like this: and will you invoice that extra quantity? If yes, then you need to talk to your customer whether they are willing to pay more. If they agree, then it means they are changing their order, so you should change the qty. on the order, no development needed. If it won't be invoiced, then will it live forever in the Shipments To Invoice reports? Maybe we should put it on the Shipment Note but still post a neg. adjustment, not a shipment? etc. etc
Or another question: what are the most important tasks in migrating data from one database software to another?
One good answer could be checking data quality, checking data required in the destination database but missing from the source, handling the differences between the two schema/model, handling the differences of data formats (date format etc.), handling the differences of the medium (plain text files? XML? etc.), handling performance issues (posting an Item Journal of one million lines takes quite a time and if it's an error then you have to start again, so maybe one should write a program that imports and posts in chunks of 10 000), making a test migration etc.
Or another question: a customer asks for a new functionality, say, a new field on a Customer form. When it is considered ready and finished?
A good answer might be: it's ready when it's developed, users are trained how to use it, included in the user docs, included in the developer docs, there are starting data migrated into that field, and there is at least a basic way to get entered information back, say, a simple list-style report that can be elaborated later.
That's what I would ask.
Do It Yourself is they key. Standard code might work - your code surely works.
Without declaring objects, functions, and variables in code, subclassing, pointers, importing libraries, lambda functions, blocks, directly accessing devices, closures etc. etc. etc. what similarities does it have to other programming languages? IF-THEN and REPEAT - UNTIL? Every cookbook has them, you need these concepts even to understand a recipe on how to roast turkey , so it's far away from programming.
If you want to have a new type of Item Ledger Entry Type and you want to post associated VE's to a different account to the G/L, that's configuration in SAP and programming in Navision. Therefore, Navision programming = algorythmical configuration. Quod erat demonstrandum
Do It Yourself is they key. Standard code might work - your code surely works.
Of course, this would be for a developer with some experience.
Umm... based on what you've just said, then all programming language is algorythmical configuration. The only true programming then, would be with 0s and 1s.
AP Commerce, Inc. = where I work
Getting Started with Dynamics NAV 2013 Application Development = my book
Implementing Microsoft Dynamics NAV - 3rd Edition = my 2nd book
Can we agree in the term "scripting" ?
Do It Yourself is they key. Standard code might work - your code surely works.
RIS Plus, LLC
Independent Consultant/Developer
blog: https://dynamicsuser.net/nav/b/ara3n
AP Commerce, Inc. = where I work
Getting Started with Dynamics NAV 2013 Application Development = my book
Implementing Microsoft Dynamics NAV - 3rd Edition = my 2nd book
But, that is why I like it so much, I can concentrate on the business problem at hand without having to spend days around technical issues.
RIS Plus, LLC
Independent Consultant/Developer
blog: https://dynamicsuser.net/nav/b/ara3n
And from 3.60 we also have recordreference,fieldreference,indexreference. And these really is pointer-programming!
And we can also program recursively.
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
Let me first say that I like C/AL and I think it does what it was designed to do very well. I fall into the camp of "please quit complaining" about C/AL.
I also don't have much a problem with its IDE. That being said, I would take issue with some of the other points raised here:
1)
Frankly, those of you that think C\AL has "real" memory access have never done any hard-core C programming.
You can use variant pointers to do the most wonderful overruns of memory. In principle (and depending on your system, frequently in practice) you can use a pointer to overwrite the operating system if you'd like. The main idea of pointers is that you just look at some binary data, and you can interpret it any way you want. Nothing in C/AL comes close to that (Variant is similar but still not quite it).
Let me just add, that these days, doing stuff like this would be really horrible. But this kind of coding is more or less neccesary if you were say, writing an OS or other low level system code (very very useful for implementing TCP/IP). But none of us are doing that, are we?
2)
C/AL does suffer from not being object oriented, and it has nothing to do with memory managment.
First of all, its not that bad, because you can use codeunits like classes.
The way it suffers from not being object oriented is error handling. With moden OO Languages, error handling and OO go hand in hand. Navision error handling is possible, but really awkward. If you just search mibuso, it seems to be the number one problem beginning Navision programmers have. Much of my systems design is dictated by dealing with Navision error handling. Now, its not that bad, because you do a great deal, but its awkward, and that tends to encourage less than fail-safe code.
It also suffers from not being object oriented by not using design patterns.
Design Patterns (as in what they talk about in the Gang of Four book) are what OO programming is all about. Without them, OO programming is just really verbose C. And you can't have design patterns without Inheritence, which Navision does not have.
RIS Plus, LLC
AP Commerce, Inc. = where I work
Getting Started with Dynamics NAV 2013 Application Development = my book
Implementing Microsoft Dynamics NAV - 3rd Edition = my 2nd book