c# .net erp navision dynamics-nav

Microsoft Dynamics(Navision) vs C#.NET



erp dynamics-nav (3)

Mi propio fondo es como desarrollador .NET que utiliza principalmente C # y últimamente ASP.NET MVC. También he sido un desarrollador / consultor / arquitecto de Dynamics NAV durante aproximadamente 3 años.

El mundo de Dynamics NAV es bastante pequeño y, para ser honesto, no está creciendo ni disminuyendo. He oído hablar de algunos lugares que recientemente se mudaron de otros ERP a NAV y al igual que muchos se alejaron de NAV.

Asistí a una sesión informativa en el Microsoft Executive Briefing Center en Vedbæk (Dinamarca) a principios de este año y me reuní con Dynamics NAV GM, así como con algunos PM y desarrolladores de Dynamics NAV (es decir, los desarrolladores que escriben la aplicación NAV real) y la hoja de ruta que tienen. El producto es realmente emocionante: va a haber un gran enfoque en HCM y en mejorar algunos de los aspectos financieros en las próximas versiones.

En términos del día a día trabajando con NAV es un cambio de paradigma, está bien. Como mencionas, el IDE es absolutamente terrible. Solo agregaron resaltado de sintaxis recientemente y no hay una inteligencia real ni ninguna de las conveniencias modernas que los IDE ofrecen hoy. Dicho esto, puedes hacer algunas cosas tremendamente poderosas combinando objetos nativos de NAV con complementos, etc. y realmente han mejorado algunas de las herramientas de andamiaje para ayudar con el desarrollo.

Financieramente, los desarrolladores de NAV lo hacen bastante bien porque son razonablemente raros. Los arquitectos y consultores de soluciones NAV lo hacen aún mejor. Su perfil no indica dónde se encuentra, pero sé que en Dublín el salario inicial para un desarrollador de NAV es de alrededor de US $ 60k y en Londres es de US $ 65k.

El mercado laboral es mucho más pequeño que el de los desarrolladores de C # / .NET, pero los empleos tienden a ser un poco más seguros y existe un mercado creciente para los clientes que contratan desarrolladores internos de NAV en lugar de socios / proveedores que solo contratan y consultan con ellos. clientes.

Personalmente, no lo vería como una opción binaria entre C # y NAV. Claro, su título puede ser desarrollador de NAV, pero si está utilizando algunas de las versiones posteriores de NAV, es posible que aún tenga muchos complementos de escritura de desarrollo de C #, etc. También es una oportunidad fantástica para mejorar sus conocimientos de SQL como escribir / optimizar código de buen rendimiento en NAV requiere un conocimiento razonablemente profundo de SQL y cómo las consultas se ejecutan de forma correcta a lo largo del proceso.

¿Tienes alguna pregunta más específica?

Soy un desarrollador con experiencia en C # / .NET y recientemente se me ofreció la oportunidad de convertirse en desarrollador de Microsoft Dynamics (Navision) (el empleador pagará la capacitación, certificación, etc.). Nunca he estado involucrado en nada que ver con esta dinámica, por lo que quería preguntar cómo es ser un desarrollador de dinámica en comparación con el desarrollador de C # / .NET. He recopilado una lista de cosas que me interesa saber antes de tomar esa decisión. Por favor, siéntase libre de editar la lista.

C # / .NET

  1. IDE: Visual Studio
  2. Idioma: C #
  3. Dominio de la aplicación: basado en web o escritorio
  4. Dominio de negocios: cualquier industria
  5. Buena progresión profesional y trabajo fácil de cambiar.
  6. etc ...

Microsoft Dynamics

  1. Mercado relativamente cerrado (comparado con .NET)
  2. No hay tantos trabajos por ahí
  3. El IDE (o entorno de desarrollo) es terrible en comparación con Visual Studio, incluso podría preferir trabajar en el bloc de notas
  4. ¿Qué beneficios obtienen los clientes de Dynamics en comparación con la aplicación personalizada?

¡Gracias!


Respecto a tus puntos:

  1. Si bien .NET es una forma de desarrollo genérico, NAV es un software propietario para propósitos específicos (ERP). Por lo tanto, el mercado está bastante cerrado, de hecho, necesita su licencia de desarrollo para hacer cualquier cosa, lo que a su vez requiere involucrarse con Microsoft o estar empleado con un socio de MS. Mientras está cerrado, el mercado es un tanto, por así decirlo, uno de élite ...? Al menos así es como la gente tiende a sentirse allí.

  2. Empleos: tal vez no tantos como números absolutos, pero las personas con NAV tienen una gran demanda y la demanda ha superado constantemente la oferta durante el tiempo que recuerdo (10 años). Aquí en Europa puede ser contratado fácilmente en una semana, con la reubicación pagada. Los trabajos son todos razonablemente pagados. También debe tener en cuenta que NAV es un éxito de ventas en Europa, no tanto en EE. UU., Donde domina Dynamics GP.

  3. IDE no importa. La falta de un sentido inteligente puede ser una sorpresa para un novato, pero lo superas en aproximadamente un mes. Desarrollar en NAV es tan fácil técnicamente que no necesita un buen IDE. Lo que necesita en su lugar es una buena comprensión de cómo funciona NAV conceptualmente, qué patrones y flujos de datos se utilizan, y construir sus cosas en consecuencia. Cuanto más cerca estés, mejor estarás.

  4. Beneficios para el cliente: la funcionalidad de "mejor práctica" está disponible el día 1, la velocidad de hacer el resto de las cosas, el uso constante de patrones, es decir, "las cosas deberían funcionar de esta manera" (a menos que los desarrolladores creen problemas al romperlos), evitando el bloqueo de los proveedores. En cierta medida, dado que hay muchos socios de NAV, y si las cosas van mal, hay una opción para cambiar de socio mientras se mantiene con NAV.

En general, no espere hacer mucha codificación con NAV o crecer como desarrollador tecnológico. Técnicamente, NAV es algo entre MS Access y un gran LEGO de funcionalidad estándar y patrones de hacer cosas. Lo que todas las compañías buscan en realidad no son los desarrolladores técnicos, sino los consultores en desarrollo, ya que la mayoría del trabajo suele estar relacionado con personalizaciones únicas (grandes y pequeñas) en lugar de con el desarrollo de aplicaciones / módulos estándar y las versiones de lanzamiento. Por lo tanto, será muy valioso para su empleador una vez que no solo aprenda a codificar (lo cual se hace fácilmente en 3 a 6 meses), sino que también comprende cómo funciona la aplicación, las formas adecuadas de personalización y, lo más importante, lo que debe y no debe hacer. y cómo abordar problemas / solicitudes de cambio. Una vez que puede hacerlo por su cuenta con confianza, usted es un experto en NAV exigido y puede sentirse uy, elite, sin embargo, el viaje puede durar de 5 a 10 años, durante los cuales aprende principalmente los detalles de NAV, un sistema patentado. .

Así que la elección es tuya. Opte por NAV si siente la ambición de convertirse en un valioso consultor / desarrollador de TI comercial que ofrezca un valor empresarial visible. No opte por NAV si su corazón está en el desempeño, el código limpio, el control de versiones, los algoritmos y la tecnología de primer nivel.


Siempre recomendaría que si tiene la oportunidad de que un empleador cubra el desarrollo de NAV o la capacitación de implementación de NAV, si su empleador está ofreciendo cubrir el costo de esto. Como ya se destacó, NAV es un nicho de mercado y Microsoft está impulsando esto globalmente (creo que en el último recuento de materiales de marketing de Microsoft se mostraron 70,000 sitios de clientes y más de 1 millón de usuarios en NAV).

No creo que el desarrollo de NAV y .NET sean exclusivos de ninguna manera, en realidad si algo que tenga conocimiento tanto de lenguajes de desarrollo como de entornos de desarrollo lo hace mucho más valioso. A partir de la versión NAV 2009 R2 Release, ahora hay muchas más formas en que las aplicaciones externas, API y .NET pueden integrarse con cualquier proceso NAV utilizando cualquier combinación de: servicios web, controles .NET en el Role Tailored Client y finalmente accediendo a .NET nativo tipos y clases a través de .NET Interop. Básicamente, si conoce C # o .NET, puede usar eso de forma nativa en el entorno NAV ahora. Por lo tanto, si entiende el marco .NET y NAV, puede utilizar lo mejor de ambos mundos al crear cualquier solución para sus clientes.

Dos puntos que destacaría para cualquier desarrollador de NAV futuro / actual (imho):

  • El conocimiento de NET será crítico en los próximos lanzamientos a medida que NAV se mueva más hacia la integración de tipo .NET / Visual Studio. Como lo demuestran los cambios recientes en la versión R2, están brindando a los desarrolladores herramientas mucho mejores y si conoce tanto la programación .NET como la NAV (C / AL), está muy bien situado para architecht y crea las mejores soluciones.

  • Es crucial que pueda comprender el flujo de trabajo de la aplicación y la lógica empresarial. P.ej. Un desarrollador que entiende cómo funciona un Pedido de venta a través de las distintas etapas de los pasos no publicados y publicados es mucho más útil que un desarrollador que necesita que los analistas de negocios le digan exactamente qué debe construir. Si bien esto lleva tiempo si es nuevo en NAV, asegúrese de tomarse el tiempo de comprender y conocer las estructuras de documentos y el flujo de trabajo de las transacciones mientras escribe su código o crea informes.

Sé que esto se está prolongando, pero para responder a sus preguntas específicamente:

  1. El mercado se está abriendo a medida que las versiones actuales (y con suerte en el futuro) tienen más integración y opciones de conexión .NET. Microsoft está impulsando la integración de NAV con CRM, procesadores de pago en línea y servicios web.

  2. Puede que no haya tantos empleos, pero son globales: hay muchos en la UE, Australia, Nueva Zelanda (viví allí durante 2 años y mi empleador pagó la mudanza). Norteamérica tiene una penetración de NAV mucho menor, por lo que no hay tantos trabajos aquí (pero está creciendo). Por lo tanto, si desea trabajar y viajar, esto puede ser excelente, ya que existe una reserva de talento más pequeña de recursos de NAV especializados, las leyes de la oferta y la demanda dictan que su tasa de participación es mayor que la de un desarrollador de .NET. Aquí, en Canadá, los recursos de alto nivel de NAV pueden pagarse por encima de $ 100K CAD (que al tipo de cambio actual es de $ 102K USD).

  3. Si el IDE apesta! - Pero está mejorando con cada lanzamiento. (Odio esto sobre NAV)

  4. Un beneficio clave (desde una perspectiva de back-end) es poder desarrollar e implementar rápidamente la lógica y la funcionalidad del negocio. La plataforma NAV tiene seguridad integrada lista para usar y proporciona una estructura suficiente para que pueda desarrollar aplicaciones ricas muy, muy rápidamente. (Me encanta esto sobre NAV).