Senior Software Engineer - Midrand Verfied

R 50k-60k per month Midrand, Gauteng Midrand, Gauteng more than 14 days ago 29-01-2018 3:20:55 PM
26-03-2018 3:20:55 PM
Excellent opportunity exists for a Senior Software Engineer, based in Midrand
Salary = R 56 000 p/m

Overview of the System
Integration between Microsoft Dynamics AX 2012 R2 and Salesforce require conceptual knowledge of Web Services, in particular SOAP protocol, as well as basic network and security infrastructure.
Microsoft Dynamics AX 2012 R2 is a proprietary product requiring partner agreements with Microsoft for documentation, as a result there is very little documentation on the web regarding working with its API, being a Microsoft product, all code I have seen has been in C#. AX uses its own language that compiles to .net CIL objects, its integration API simply wraps its objects with Web Services to allow access from external systems, this means that there is no API except for the 'built-in’ AX services, Crimson Wings or Immix objects.
Salesforce is a SaaS solution which is available to the public, its api is well documented using C# as well as Java code samples. There is a lot of custom objects and fields within the company’s Salesforce system that require knowledge of Mix Processes, to make things even more complicated Mix has different processes depending on the various Mix businesses in question, as a result, even an experienced Salesforce developer would require some training to become productive. Salesforce API is simply a web service api that allows CRUD operations into its Database schema, Salesforce does not use traditional SQL but a more proprietary SOQL language to query its database, this is due to its cloud based approach to hosting as well as its strict multi-user access requirements.

Since c# is the one common language that both these systems have documentation on, it is the preferred choice over any other language or platform.
Here are the list of skills and why.
Technical Skills
1. C# Programming Language skill, Senior to understand the structure of the code and the business logic contained may be.
2. C# windows credentials, invoking a web service with a particular windows domain ID, this is required due to AX being a Windows OS hosted solution.
3. IIS administration skills, AX auto-generates .net IIS web service applications as a front for its objects, that is its API for request response access. Any changes in AX that alter methods or prevent its CIL compile would result in faulty or nonexistent IIS web apps, knowledge of IIS would allow a person to debug web services for AX
4. Microsoft SQL Server - Good SQL skills - AX is an ERP system with many thousands of tables and views, its schema is heavily normalized with its focus on history tracking, as a result even trying to get something as basic as a customer account address would require over 6 tables to access, due the history tracking being a factor, much of the info in AX has From or To dates or other type of multi - record setups due to this requirement e.g. a single Account could have changed addresses multiple times over its lifetime , this would need to be archived so you know what address a particular invoice went to at a certain date.
5. SOQL skills - Basic SOQL - Salesforce simplifies the sql language by making declarative joins in its schema, this means there are no Joins in SOQL, an integration person would only need to understand the Mix Salesforce schema at a simple level and rely on a Salesforce developer to show him how to get to the data he needs.
6. Salesforce - Need to know how to pull the latest Salesforce API schema and how to run a query tool to test your soql statements.
7.AX Understanding.
8. Basic Git source control and cloud source storage.

Business Knowledge
1. Conceptual understanding of Mix Processes and entities – This is the most challenging due to the details within these processes, particularly the sequence of sub processes as they span the two systems.
2. Salesforce Mix Schema understanding, this makes it possible to find and alter data in SFDC depending on the business process.
3. Intermediate AX Crimson Wings Schema understanding, Crimson Wings handles service based business concepts using a custom schema add-on, this schema is designed for generic service based businesses with some heavy Mix customizations, understanding of this is critical for MSA or Service Contract sync development as well as case to activity development
4. AX inventory location schema understanding. Inventory is moved using the built in AX inventory features, Immix has created an inventory query that we use to determine the location of an asset.
5. Understanding of AX Activities i.e. schema in AX and SFDC
3.Understanding of SFDC Cases i.e. schema in AX and SFDC

Non-Technical Skills
1. To clearly communicate issues and errors in processes both technical and business level details.
2. Ability to decisively facilitate dialogue, formal or informal, to ensure that salesforce or AX does not develop incompatible processes in isolation.
3. Negotiation skills, people in either AX or SFDC design their systems mostly in isolation, in cases where incompatible object models exist certain concessions may need to be made to meet timelines
4. Documentation skills, most of the issues encountered are due to rapid design changes, we need to balance the urgency for delivery with the clarity and traceability of our standards.
5. Strong business and technical analysis skills are required, this is due to the non-technical design specifications that are used i.e general stories that describe real world activities with little or no reference to schema or formal process diagrams.

Recruiter: iQ Logistica