¿Cómo realizar una aplicación de gestión en una hora?

¿Te parece un titular exagerado, irreal o con truco?

Lo siento, pero esta es la única manera de llamar tu atención sobre la increíble velocidad de desarrollo, curva de aprendizaje,  la potencia del refactoring, y la potencia de su base de datos de una plataforma nacida para la metodología ágil de aplicaciones.

El ejemplo es sencillo: una aplicación con clientes, artículos, cabeceras y lineas de factura, totalmente operativa con sus ABM , acumulados, multi-usuario  y  100% multi-plataforma para implantar en local o en Cloud y más funcionalidades de las que puedas imaginar.

¿Truco?

Ninguno, en este desarrollo se parte de cero, realizando toda la programación en directo, el único truco es el conocimiento de Velneo por parte del programador que la realiza.

¿Dudas?

  • ¿Servirá para realizar grandes sistemas y grandes ERP, CRM, SGA, etc ?
  • ¿Encontraré limitaciones?
  • ¿Que pasará cuando tenga miles de millones de registros?
  • ¿Tengo que empezar ahora de cero a hacer mi catálogo de aplicaciones?
  • ¿En mi país hay muchos desarrolladores y productos utilizando esta tecnología?
  • ¿Encontraré limitaciones cuando tenga que hacer cosas especiales como robótica, integraciones, etc?

Si te interesa y deseas tener respuestas, solo tienes que asistir a nuestro seminario online que realizamos todos los meses o bien contacta y te atendemos personalmente.

¿Demasiado bonito para ser cierto?

Sí, lo sabemos. Es una constante en los pre-clientes que conocen Velneo por primera vez y recordado como anécdota por los que llevan ya muchos años con nosotros.

Velneo simplemente es productivo y rentable para la empresa de desarrollo, que es nuestro principal objetivo. ¡Ponlo a prueba!

Este artículo ¿Cómo realizar una aplicación de gestión en una hora? es original de Velneo.

Desarrollar y vender tu propio ERP no tiene por qué ser tan complicado

¿Tienes en mente desarrollar tu propio ERP? ¿No quieres vender y distribuir el ERP de un tercero? ¿Te da miedo no poder programar un ERP en tu empresa sin que se vaya de plazo? ¿Buscas crear un ERP sólido de forma rápida siendo eficiente en costes? ¿Quieres poder identificar si un cliente necesita un ERP? ¿Quieres tener éxito vendiendo tu propio ERPs? Si la respuesta a alguna de las preguntas en tu caso es SÍ, este artículo te interesa. Mucho. Vayamos por partes.

¿Quieres programar tu propio ERP?

¿No quieres vender ni distribuir el ERP de un fabricante? Vale. Eso se puede hacer. Puedes optar por elegir un lenguaje de programación adecuado para tal tarea y empezar desde cero, módulo a módulo, personalizándolo para cada proyecto que te vaya saliendo. Esto evidentemente te va a tomar una eternidad.

Por otro lado, puedes optar por un ERP ya programado que te permita cierto grado de personalización, como pueden ser Open Bravo, odoo ERP, Axapta y similares. En momento dado esta solución puede ser útil, pero si eres una empresa de desarrollo que quiere tener un nombre en el mercado de los ERP poco valor aportas.

La tercera vía es elegir una plataforma de desarrollo especializada para la programación de software para empresas que te permita desarrollar un ERP en un tiempo más que razonable partiendo de una plantilla ERP que tenga ya pre-programada aquellas funciones comunes a todo ERP y que no aportan valor al cliente por ser estándar. Ello te permite dedicarle más tiempo a desarrollar personalizaciones para el cliente, algo que sí aporta valor y te hace tener un nombre en el mercado de los ERP. Si optas por esta vía no te pierdas este artículo: Velneo vERP frente a otras soluciones ERP: dudas más comunes ni este otro post: ¿Cuál es el mejor programa para desarrollar un ERP para vender?

¿Cuándo sé que un cliente necesita un ERP?

¿Quieres identificar oportunidades de venta de tu ERP entre tus clientes? Como programador de software de gestión empresarial, es importante detectar las necesidades de tu cliente. Muchas veces tus clientes no saben qué software necesitan y es importante estar ahí para hacerles consultoría y aconsejarles.

Hay signos que te pueden ayudar a detectar las necesidades de tu cliente. Por ejemplo, si notas que le cuesta cuadrar las cuentas financieras a fin de mes, o si sus previsiones de ventas se basan más en intuición que en los números, o si tienen problemas a la hora de dar salida al volumen de pedidos y sus clientes se muestran insatisfechos por ello, o si no tienen una idea precisa de cuánto inventario les queda en el almacén y no disponen de una manera sencilla de averiguarlo…

Dado que cada empresa de cada cliente es diferente, no hay un indicador único y sencillo que diga: “!Tu cliente X necesita un ERP ya!” Sin embargo, las empresas que más provecho le sacarían a un software ERP normalmente se enfrentan a las mismas dificultades y frustraciones. ¿La empresa de tu cliente tiene estos problemas? Sigue leyendo abajo para saber si la empresa de tu cliente está preparada para tener un ERP.

Si tu cliente tiene estos problemas, o si estos asuntos suenan a cosas que pasan en la empresa de tu cliente, quizás ha llegado el momento de ofrecerles un software ERP. Te recomiendo que leas este artículo: Cinco señales que indican que tu cliente necesita un ERP.

¿Quieres tener éxito vendiendo tu propio ERP?

Para tener éxito vendiendo un ERP hecho por ti o tu empresa primero tienes que hacer una composición de lugar y situarte. ¿Qué necesito hacer para vender con éxito este ERP?

Quizás necesitas editar una plantilla pre-programada de ERP como vERP lo justo para personalizarla con el logo del cliente y poco más, quizás la aplicación ERP que necesitas requiere de funcionalidades extra que no contiene Velneo vERP, o quizás necesitas programar directamente el núcleo de Velneo vERP incluyendo las funcionalidades adicionales y personalizándolo acorde con tus necesidades.

Sea cual sea la necesidad de tus clientes y la tuya, con Velneo vERP encontrarás una solución. Si te está convenciendo esta vía, te recomiendo el artículo: Quiero programar un ERP y ser rentable vendiéndolo.

Este artículo Desarrollar y vender tu propio ERP no tiene por qué ser tan complicado es original de Velneo.

4 razones para desarrollar una aplicación a medida para una empresa

aplicaciones, empresa, a medida

En el blog de Velneo hemos tratado en multitud de de ocasiones el dilema de si optar por hacer aplicaciones empresariales estándar o a medida. Evidentemente esta pregunta no se dirime con un sí o un no. No es tan simple la respuesta. De todos modos, desde Velneo recomendamos hacer aplicaciones a medida pero partiendo de un estándar personalizable.

Un software estándar global multi sector o incluso dentro de un mismo sector es una utopía una vez sobrepasado un determinado tamaño de empresa, normalmente la “pequeña empresa”.  Será difícil encontrar un software que pueda ser implantado en más de una empresa salvo que hagamos adaptaciones específicas que cubran las particularidades de nuestro cliente, sobre todo en cuanto tratamos de implantar áreas como producción, ventas o aprovisionamiento, sin embargo, existen módulos en los que está ampliamente extendido y asumido el uso de software estándar como son las aplicaciones financieras, contabilidad, nóminas y RRHH.

Independientemente de la respuesta a la pregunta de si estándar o a medida, en este artículo vamos a recoger 5 razones convincentes para crear una aplicación a la medida de una empresa.

4 razones para desarrollar una aplicación a medida para una empresa

Para los dueños de las empresas, a la hora de gestionar un negocio, tiene sentido tener software que pueda ayudar a optimizar sus procesos internos. Sin embargo, cuando se trata de una empresa pequeña, muchas veces no tiene sentido gastar los recursos ni en hojas de cálculo estáticas ni en la contratación de un desarrollador en plantilla para crear a solución que la empresa desea.

Afortunadamente, hay plataformas que permiten hacer aplicaciones a partir de una plantilla empresarial en la que se puede personalizar la interfaz de la aplicación de cada empresa con su logo y demás, personalizar los procesos críticos del cliente mediante la reprogramación de una plantilla editable, crear nuevos módulos a partir de otros ya existentes, y que también incorporan de serie la integración con una base de datos, una infraestructura de servidores en la nube, seguridad, que funcione en diferentes dispositivos, etc… para que los desarrolladores que están adaptando el software a las necesidades del cliente se centren exclusivamente en eso y se olviden del resto.

Aquí van 4 razones convincentes por las que una aplicación a medidaes lo que necesita la empresa de su cliente:

#1 Las soluciones estándar no se ajustan a todas las necesidades empresariales

Cada proceso de negocio es único, por lo tanto, el modelo de software estándar tradicional, ya no sirve. El cliente conoce su negocio mejor que cualquier otra persona y exactamente qué características necesita para gestionar su negocio con eficacia.

Por ejemplo, una empresa constructora puede necesitar una aplicación que permita que una parte cree informes de errores en la construcción, al mismo tiempo que se construye un flujo de trabajo para enviar notificaciones automáticas a quienquiera que sea responsable de corregir el error. De manera similar, un gran minorista con múltiples almacenes, puede crear una aplicación para administrar y realizar un seguimiento de los inventarios en todas las ubicaciones en las que se encuentren.

Con una aplicación creada a medida, tu cliente obtiene exactamente lo que su negocio necesita.

#2 En software los costes en infraestructura son un pozo sin fondo

Si tu cliente es una startup o una pequeña empresa, cada céntimo que ahorra cuenta. Por lo tanto, probablemente tu cliente esté buscando minimizar el gasto en infraestructura y en personal de TI – personal que sí resulta indispendable para mantener servidores en las empresas más grandes y que sí son capaces de pagar.

Al optar por crear una aplicación alojada en la nube y personalizada, tu cliente no sólo está ahorrando dinero en infraestructura y en la seguridad de datos, sino también en escalabilidad.

Muy a menudo, las plataformas de desarrollo que proporcionan una plantilla de software estándar personalizable de la que partir te cobran a ti como desarrollador según el con el conjunto de características que tú o tu cliente necesita, es decir, por el número de usuarios, el almacenamiento de datos, el volumen de datos que se mueven, etc… Luego tú ya le repercutes el coste a tu cliente buscando tu propio beneficio, pero es una tranquilidad para todas las partes. Por otro lado, no hay necesidad de una gran inversión inicial para empezar, ya que sólo se paga por lo que se necesita y utilizar.

# 3 Las soluciones estándar no son escalables

Las aplicaciones de base de datos personalizadas si lo hacen. Una solución a medida se adapta al tamaño de la empresa de tu cliente  y escala según las necesidades del negocio.

Lo ideal es arrancar con pequeñas funcionalidades limitadas y pocos usuarios, para luego ir progresivamente añadiendo de forma rápida mayor funcionalidad y más usuarios sin necesidad de migrar a un nuevo sistema.

La mayoría de los ciclos de desarrollo para aplicaciones a medida son realmente cortos para que pueda escalar la aplicación con facilidad a medida que crecen las empresas.

#4 Visualizar datos en aplicaciones estándar suele ser difícil

Hoy en día el proceso de toma decisiones se tiene que poder hacer de forma rápida para ser competitivos.

Un software estándar no puede presentar todos los informes críticos para cada empresa, lo que conlleva que los usuarios tengan que realizar exportaciones a excel y luego analizar la información manualmente o con suerte importándola a otra aplicación que sí presente los informes que necesitamos.

En todo caso acceder a la información clave para cada tipo de negocio usando un software paquetizado es farragoso casi siempre…

Una aplicación personalizada, y ya no digamos si está alojada en la nube, puede ofrecer varias herramientas y paquetes de informes, ayudando a las empresas a llevar un registro de los datos esenciales del negocio. Por ejemplo, pueden realizar un seguimiento del número de productos vendidos, pedidos recibidos o tickets de soporte recaudados en un período determinado.

Cuando todos estos datos se almacenan en su aplicación personalizada, se pueden organizar, analizar y presentar los datos de la manera más eficiente para cada tipo de empresa, lo que le ahorrará tener que entrar en un excel y procesar los datos manualmente.

Más allá de ahorrar más de un dolor de cabeza a tus clientes y a sus empleados, las aplicaciones empresariales a medida son una forma rentable de gestionar el funcionamiento interno de cada tipo de empresa y eso es lo que una buena empresa de desarrollo a medida debe transmitirle a sus clientes.

Este artículo 4 razones para desarrollar una aplicación a medida para una empresa es original de Velneo.

5 consejos técnicos para desarrollar aplicaciones empresariales

En este artículo hacemos una recopilación de consejos técnicos para desarrollar aplicaciones empresariales de la mano de Jesús Arboleya, evangelista y consultor de Velneo en el departamento de éxito de clientes. Es el autor del curso Mi primera aplicación con Velneo, que puedes hacer gratis. Todos los conceptos que se comentan a continuación están explicados en la documentación de Velneo

#1 Pensar en listas es más natural

Hoy en día la gran mayoría de personas usamos a diario algún tipo de aplicación. Casi todas las aplicaciones gestionan información y disponen de interfaces adecuados para conseguir la mejor experiencia de usuario posible.

A nivel de interfaz como usuario solemos navegar por la información igual que lo hacemos en un mapa, que no deja de ser un tipo de información que nos hemos acostumbrado a visualizar de forma gráfica, es decir solemos comenzar con un mapa general sobre el que vamos haciendo zoom para acercarnos y ver con detalle solo aquello que realmente nos interesa.

Seguir leyendo

#2 Ficha y lista de registro

Este es un concepto que debemos tener claro al programar con Velneo ya que algunos de los comandos de instrucción de acceso a la base de datos están orientados a listas y no a fichas. Por este motivo podemos llegar a buscar un registro concreto usando un comando como cargar lista o un objeto como la búsqueda que devuelven listas.

Cuando resolvemos de forma precisa todas las partes de un índice de clave única de una tabla, Velneo nos devolverá ese registro, si estamos usando cargar lista o una búsqueda, por ejemplo, nos encontraremos que lo que obtenemos es una lista de un registro.

Seguir leyendo

#3 Formularios de alta, baja y modificación

Uno de los aspectos más cómodos de Velneo para los programadores es la sencillez con la que declaramos en un objeto de lista como una rejilla o grid cuáles serán los formularios de alta, baja y modificación.

Podemos no declarar ninguno, declararlos todos o declarar solo algunos según nuestras necesidades funcionales. Por ejemplo, no poner el formulario de alta si no queremos que el usuario pueda añadir registros, o no declarar el de baja si no queremos permitir al usuario eliminarlos.

La cuestión que en algunos casos nos podemos plantear es ¿Uso el mismo formulario para las tres operaciones o creo formularios diferentes? ¿Qué ventajas o inconvenientes tiene hacerlo de una u otra forma?

Seguir leyendo

# 4 Funciones y procesos

Funciones y procesos. Cada objeto tiene sus virtudes y también sus limitaciones. Conocerlas nos ayuda a decidir cuando usar uno u otro.

Seguir leyendo

# 5 Índice de los campos punteros a maestros

Algo que es habitual cuando diseñamos la estructura de la base de datos de nuestra aplicación es la creación de las relaciones entre tablas. Al crear dichas relaciones en las tablas se añaden campos de tipo de enlace maestro. Si este campo lo añadimos usando las herramientas del esquema, el asiente de creación de tablas o la opción de la toolbar del editor de tabla, además de crearse el campo puntero a maestro se crea su correspondiente índice de tipo acepta repetidas.

Sin embargo, en ocasiones creamos estos campos de forma manual o duplicando otro campo puntero a maestro. En estos caso no se crea el índice. Y ya te adelanto que no es conveniente eliminar estos índices que se crean automáticamente.

Seguir leyendo

Este artículo 5 consejos técnicos para desarrollar aplicaciones empresariales es original de Velneo.

¿Cómo aprender a programar en Microsoft .NET?

programar en microsoft .net

Quizás estés valorando migrar de plataforma de desarrollo porque tu tecnología actual se ha quedado desfasada o el fabricante ha decidido descontinuarla, como es el caso de Visual Basic 6 o Visual FoxPro, o otros tantos entornos de desarrollo que poco a poco se van quedando obsoletos.

Las alternativas son varias pero en el post de hoy nos vamos a centrar en .NET. Te pueden venir muchas dudas o preguntas a la mente, del tipo:

  • ¿Es muy caro Microsoft .NET?
  • ¿Tengo que tener una máquina en Windows para programar en .NET?
  • ¿Puedo desarrollar páginas web?
  • ¿Puedo desarrollar software profesional de gestión?

Bueno, para averiguar las respuestas a todas esta preguntas y si quieres empezar a aprender a programar en serio con .NET, tengo unas sugerencias para ti.

1. Elige tu lenguaje de programación

No existe un lenguaje de programación “. NET”. ya que .NET es un framework, un entorno de programación que puede ejecutar varios lenguajes de programación, incluyendo C#, Visual Basic.NET, Python, Ruby y LISP.

Si .NET es un framework ¿qué lenguaje de programación debería utilizar? La mayoría opta por C# ya que es de largo el lenguaje más popular en el que se programa en el ecosistema .NET. Casi todo el software de código abierto en el entorno .NET está hecho en C# (se pronuncia C Sharp). Los proyectos más serios y de más enjundia se hacen en C# ya que es un lenguaje derivado de C++ y es un lenguaje orientado a objetos muy potente. Los desarrolladores con experiencia en JAVA deberían encontrar el proceso de transición a C# relativamente sencillo.

La otra opción más popular a la hora de elegir un lenguaje de programación para el entorno .NET es Visual Basic.NET. Normalmente se recomienda aprender este lenguaje si tu prioridad es programar macros y scripts para aplicaciones de Microsoft Office. Si este es tu caso, puede que te encaje bien Visual Basic.NET. El gran inconveniente para los veteranos en Visual Basic 6 es que  lenguaje VB.NET no es retro-compatible con Visual Basic

Y luego está F# (pronunciado F sharp), que es un lenguaje de programación multi-paradigma de código abierto, para la plataforma .NET, que conjunta la programación funcional con las disciplinas imperativa y orientada a objetos. Es una variante del lenguaje de programación ML y es compatible con la implementación Objective Caml. Facilita enormemente la creación de código asincrónico y paralelo, cosa que en otros lenguajes de .NET nos tomaría mucho más tiempo.

2. Elige tu entorno de ejecución o el runtime 

Hay tres entornos de ejecución principales:

Está el entorno .NET Framework que se usa principalmente para crear aplicaciones para móviles, web y de escritorio para ejecutar en servidores, PCs y dispositivos Windows.

Luego tenemos el entorno .NET Core que es una plataforma modular para crear aplicaciones en el lado servidor para ejecutar en Windows, Linux y Mac.

Y por último está Mono, que es una implementación libre de la plataforma de desarrollo .NET para dispositivos Android, iOS y GNU/Linux y que permite reutilizar código y da acceso a APIs nativas.

desarrollo multiplataforma

3. Elige para qué plataforma vas a programar

Aquí se trata de elegir/saber para qué plataforma tienes que hacer el software: Linux, Windows, Mac, iOS, Android que son las más populares.

4. Elige el framework de .NET

El ecosistema .NET tiene el concepto de frameworks. Dichos frameworks definen el API que puedes usar para enfocarte en una plataforma en concreto. 

Tenemos el framework .NET Standard que busca solucionar el problema de compartición del código entre plataformas para los desarrolladores de .NET al aportar todas las APIs que necesitas en todos los entornos: aplicaciones de escritorio, apps móviles, juegos y servicios cloud.

Por otro lado está .NET Core Application que es un framework más pequeño para aplicaciones de servidor, de consola, aplicaciones web y como entorno en tiempo de ejecución principal del cual crear otros sistemas. 

Y luego esta el “clásico” .NET Framework para aplicaciones y sistemas Windows.

5. Aprender a programar en el entorno .NET

Antes de descargar nada puedes aprender trabajando en el navegador sobre .NET y C# online en https://dot.net y F# en http://www.tryfsharp.org. Cuando estés listo, puedes conseguir .NET Core y Visual Studio Code en https://dot.net. Puedes ver toda la documentación https://docs.microsoft.com y puedes obtener mucho código abierto en https://github.com/dotnet.

En este sentido Microsoft pone muchos recursos a disposición de las personas para facilitar el aprendizaje del framework .NET. Además de los enlaces citados, la página para desarrolladores de Microsoft, MSDN, tiene muchos recursos para desarrolladores, incluyendo documentación detallada y código de ejemplo en diferentes lenguajes de programación que está a disposición de cualquiera. Si quieres aprender a hacer una aplicación web, puedes dirigirte a la pestaña “Learn” de la página ASP.NET de Microsoft.

Para aprender el lenguaje de programación C# mencionado anteriormente puedes ir a esta página que tiene un curso de C# para principiantes.

Si eres una persona que aprende mejor de forma visual, te recomiendo los vídeos que tienes tanto en YouTube cómo en páginas de formación de pago con cursos de programación de Microsoft. En inglés los más conocidos son Pluralsight y en español, campusMVP.

Para aquellos programadores que prefieran leer libros, uno muy recomendado es C# Yellow Book. Tiene fama por ser un gran recurso para cualquiera que busque tener una formación de base muy sólida en programación, además de en C#. Un libro que es un poco más antiguo, pero que también puede resultar muy útil es Programmers Heaven C# School eBook, que da una visión general sobre los fundamentos de C# y de los principios básicos de la programación en general.

La mejor forma de empezar es elegir una idea para un proyecto y empezar a programarlo. Cuando tengas dudas siempre es buena idea estar por los foros y buscar dudas. Normalmente están ahí resuletas sin que tengas que preguntar. Un foro fenomenal es StackOverflow, no solo para la resolución de dudas de tecnología .NET, sino también para otras tecnologías y lenguajes de programación y dudas sobre el desarrollo de software en general.

Este artículo ¿Cómo aprender a programar en Microsoft .NET? es original de Velneo.

8 barreras que debes superar cuando aprendes a programar

saltar barreras programación

Muchas personas de mi entorno viven de la programación de alguna u otra manera. Algunos son programadores de software de gestión empresarial, otros desarrolladores web, otros hacen consultoría, otros son analistas-programadores, y otros se dedican a formar a programadores novatos. Cada uno me habla sobre los motivos de éxito y de fracaso de un programa, o de una web, o de un curso de formación.

El otro día un formador de programadores de un centro de formación, que además tiene su propia empresa de software, me comentaba que muchos alumnos empiezan el curso con muchas ganas y luego enseguida se desmotivan al darse de bruces con la realidad. Me contaba que la mayoría de los alumnos se frustraban por las mismas barreras, y que era muy importante enseñarles a superar dichos obstáculos. Me venía a decir que si un alumno de programación no superaba esas barreras jamás podría:

  • disfrutar del proceso de aprendizaje plenamente
  • avanzar de forma rápida
  • mostrarse más perseverante al quedarse atascado y no rendirse a las primeras de cambio
  • ser totalmente autónomos e independientes a la hora de programar

Pero, ¿cuales son esas barreras que debes sortear cuando estás aprendiendo a programar? ¿Cómo las superas? Aquí van 8 barreras que debes superar cuando aprendes a programar.

#1 No estás aprendiendo a programar por las razones correctas

Antes de entrar en las barreras, es importante destacar lo importante que es la motivación a la hora de aprender. No debes aprender a programar por aprender, o porque te han dicho que tiene muchas salidas y está bien remunerado.

Hazlo porque buscas resolver problemas. Automatiza y mejora la calidad de vida. Haz software que ayude a las personas.

Si lo haces simplemente porque te agrada programar y lo que quieres es vivir de la programación, quizás tengas ganas de abandonarla por el camino. Esto es lo que suele suceder cuando las cosas se ponen difíciles y el proceso de aprendizaje se vuelve arduo. En ese momento te convencerás a ti mismo de que ya no te gusta la programación, o que no naciste para ser programador.

Por eso es importante que te fijes una meta en torno a cumplir un objetivo. Si tienes un proyecto en mente, o un problema en concreto que quieras solucionar, te podrás convencer a ti mismo de que aunque la experiencia en estos momentos no sea tan grata, lo que busco es solventar un problema mayor, así que me voy a superar a mí mismo para sortear este obstáculo.

#2 No sabes con qué tecnología empezar

Muchas personas se preguntan: ¿qué lenguaje de programación debería aprender primero? Este problema se da porque no saben por qué quieren programar en primer lugar.

Una vez que fijas tu mente en proyecto concreto, es muy fácil identificar qué lenguaje de programación quieres aprender primero:

  • Si quieres hacer una app nativa para iOS, empieza con Objective C o Swift.
  • Si lo que quieres es programar una app nativa para Android, aprende Java.
  • Si quieres programar software empresarial y de gestión, aprende Velneo.
  • Si quieres programar una aplicación web, apuesta por JavaScript

Hoy en día JavaScript en realidad sirve para hacer cualquier tipo de proyecto, desde simples páginas web y apps móviles hasta proyectos avanzados con hardware. Se usa en muchas industrias diferentes: música, medicina, juegos, moda. La verdad es que JavaScript da mucho juego y es casi una obligación tenerla entre tus competencias como programador. Por otro lado hay tecnologías más especializadas, como Velneo, que te ayuda a programar software de gestión para empresas en tiempos muy cortos.

Si estás aprendiendo a programar y aún no sabes qué lenguaje escoger, puedes pedirle consejo a un programador más avanzado. Una vez que sabes qué tipo de programa quieres programar, es más fácil para otro programador aconsejarte por qué tecnología apostar.

Ten en cuenta también que muchas veces lo que los conocimientos que aprendes sobre un lenguaje de programación son transferibles a otros lenguajes, así que piensa en todo ello como un trabajo acumulativo.

#3 No puedes aplicar la teoría que aprendes a la práctica y te culpas a ti mismo por ello

culpa

Una vez que ya has elegido qué tecnología quieres  usar, es fácil empezar y aprender la teoría. A poco que uno busque por Internet se encuentra con muchos cursos gratuitos y de pago. Si quieres aprender a programar aplicaciones de gestión, Velneo también ofrece estos seminarios gratuitos (para acceder tienes que estar registrado primero).

Mi amigo, el formador, siempre me dice los alumnos se suelen saber la teoría y saben explicar cómo funciona el código, ya que en un plano teórico los conceptos se aprenden y son finitos. ¿Entonces dónde está el problema?

La mayor dificultad a la que se enfrentan los alumnos es a la hora de aplicar la teoría para solucionar problemas y crear código nuevo. La brecha es de destreza, no de conocimientos.

Una analogía perfecta sería la de nadar. Puedes leer mucho sobre la técnica perfecta y puedes explicarle a alguien con palabras al igual que lo haría un entrenador profesional de natación. Pero aplicar dicha teoría toma mucha práctica, mucha lucha y muchos errores. Se traga mucha agua :)

Pero lo que no puede hacer uno es culparse a sí mismo ni pensar que no es lo suficientemente inteligente, o que no tienes talento. No se trata de eso, se trata de tener disciplina y un proceso exhaustivo que seguir. ¿Cómo mejorar tus destrezas como programador?

1. Elige un proyecto complejo para trabajar en él. Lo ideal es elegir algo que realmente te emocione.

2. Divídelo en pequeñas partes, en tareas aisladas.Por ejemplo, una tarea del tipo “implementar la página de login” es demasiado grande. Cada tarea no debe superar las 20 líneas de código para quedar resuelta. He aquí algunos consejos que te ayudarán a hacer esto con éxito:

  • Si aún no eres capaz de resolver la tarea, pues piensa en como dividirla en partes aún más pequeñas.
  • Cada una de estas tareas no debe implicar el uso de muchos conceptos teóricos a la vez.

3. Focaliza tu energía en una tarea a la vez, en vez intentar solucionar múltiples tareas en paralelo. No pases a la siguiente tarea hasta que hayas probado en profundidad la que tienes entre manos y te asegures te que no da problemas.

Si no lo haces y tu programa empieza a fallar, va a ser mucho más difícil identificar el problema si estás haciendo varias tareas en paralelo.

4. Asegúrate de que tienes los mínimos conocimientos teóricos antes de ponerte con cada tarea. A veces lo normal es no saber si sabes lo suficiente, o no saber que teoría debes estudiar. Lo mejor en estos casos es tener un mentor: un amigo programador,  un usuario de un foro dispuesto a ayudar, etc…

5. En último lugar, soluciona la tarea. A la hora de solucionar la tarea, hay muchas barreras a las que te vas a tener que enfrentar. Las repasaremos a continuación.

#4 Apuras al máximo haciendo cada tarea sin pararte a reflexionar sobre las consecuencias de tu código

En el mejor de los casos, solucionas la tarea y el código funciona. Y luego ya te pasas a la siguiente tarea. Si haces esto, no estás sacando el máximo provecho del proceso de aprendizaje.

Te animo a que te retes a ti mismo con las siguientes preguntas:

  • ¿Hay algún caso extremo en el que mi código pueda fallar?
  • Incluso si ahora no falla, ¿hay algún estado de la aplicación que pueda causar que rompa?
  • ¿Mi código es lo suficientemente limpio y claro?
  • ¿Es fácil de entender? ¿Seré yo u otros capaz de modificarlo para arreglar errores o adaptarlo a nuevos requisitos de producto?
  • ¿Qué otras alternativas podría haber usado?
  • ¿Merece la pena solucionar la tarea de forma disitinta?
  • ¿Cómo interactua este módulo con otros?
  • ¿Puede afectarles negativamente?¿Puede ser usado fácilmente por otros módulos?

De todo modos, muy a menudo te quedas atascado:

#5 No sabes cómo enfocar una tarea

Foco

¿No sabes por dónde empezar? Puede que te sientas tentado a hacer cosas aleatoriamente, o a copiar código que no entiendes de otros sitios. Pero eso no sirve de nada, aunque copies código que sí funciona. ¿Por qué? Porque cuando tengas que hacer una tarea similar en el futuro tampoco serás capaz de resolverla.

Si quieres solucionar bien la tarea, primero tienes que identificar dónde y por qué estás atascado. Aquí unas posibles causas:

  1. No te sabes bien la teoría:
  • la sintaxis del lenguaje de programación
  • cómo funciona una librería o una API, o cómo funciona un método o una clase específica
  • paradigmas de programación (por ejemplo: programación asíncrona)
  • cómo funciona el sistema (por ejemplo: peticiones HTTP –HTTP requests- son algo crucial que hay que entender en desarrollo web).

Si este es el caso, repásate la teoría otra vez, o encuentra a alguien que te la explique si aún no le ves el sentido.

  1. La tarea es demasiado grande y necesita dividirse en tareas más pequeñas.
  1. No entiendes lo que se te pide en la tarea porque la has leído sin adentrarte en los conceptos pensando que ya los sabías pero que en verdad no tienes ni idea.

#6 Sabes como solucionar una tarea de programación, pero tu solución no funciona

Este es el problema más común en el mundo profesional de la programación. Incluso para programadores que cuentan con muchos años de experiencia. La razón por la cual tu solución no funciona es muy probablemente porque hay un bug o un error en tu código.

¿Cómo lo arreglas? Depurando el código. Esta es una de las destrezas más importante que debes aprender como programador. No es algo que puedas hacer aleatoriamente, o jugando a las adivinanzas. Hay pasos específicos que puedes tomar de cara a encontrar errores en tu código. Existen libros enteros dedicados a la enseñanza de esta habilidad.

Por desgracia, aquí es donde muchos de los nuevos programadores pierden la motivación y se rinden. Muy pocos cursos explican la importancia de la depuración del código. Si no sabes hacerlo bien, puede resultar abrumador.

Muchos programadores se preocupan porque piensan que les toma demasiado tiempo depurar código. Lo normal es que tome mucho tiempo y tienes que estar preparado para esto en tus primeros años de programación.

Incluso mejor, tienes que aprender a “amar” la depuración de errores, el afamado debugging. Piensa en ello como una oportunidad de mejora, de aclarar conceptos y mejorar tus destrezas de programador. Cada vez que soluciones un bug, hazte la siguiente pregunta: ¿Por qué cometí este error? ¿Cómo puedo evitar cometerlo en el futuro?

Es una buena idea tener un diario de programación donde anotar todos los bugs que encuentras. Rápidamente identificarás patrones y aprenderás de ellos.

#7 No sabes como recibir ayuda

mentor

Mientras aprendes a programar y a depurar tu código, consultarás muchos recursos: libros, cursos, manuales, mentores,  comunidades de desarrolladores, etc…

El problema más común que aprenderás de todos estos recursos es que no te obligas a entender completamente lo que está pasando detrás de las escenas y cómo el concepto encaja en la película completa.

Por ejemplo: tras pasarte 10 horas resolviendo un problema, y de repente un tercero te da la solución, pues aceptas dicha solución, lo celebras, y hala, a la siguiente tarea. No hagas eso. Tienes que hacer un ejercicio de meta-cognición:

  • piensa en tu linea de pensamiento del proceso anterior: pregúntate a ti mismo qué has hecho mal y qué podías haber mejorado para llegar a esa solución en concreto.
  • pregúntale a la persona que te ofreció la solución que te explique su proceso mental. ¿Cómo logró llegar a la solución? Aprende de eso y aplícatelo a ti mismo la próxima vez.

Este es el gran inconveniente de StackOverflow, o de leer respuestas en Google: no puedes averiguar cómo las personas llegaron a esas conclusiones. Solo puedes tomar las soluciones y con suerte comprenderlas. Pero nunca conocerás el proceso mental detrás de esas soluciones.

#8 No puedes aplicar la teoría que aprendes

¿Este punto otra vez? (ver punto 3)

Solo quiero subrayar que este artículo es pura teoría y que no sirve de nada a no ser que apliques esta teoría, no una vez, sino varias hasta que se convierta en hábito.

La programación, como casi todo, versa sobre desarrollar buenos hábitos para ayudarte a saltar obstáculos y sortear los problemas.

práctica

Nota: este artículo está basado en este post.

Este artículo 8 barreras que debes superar cuando aprendes a programar es original de Velneo.

Seminario: gana más dinero con tu ERP

Seminario ERP de Velneo

Regístrate ahora: plazas limitadas

¿Para quién es este seminario?

¿Haces software para empresas usando Visual Basic, .NET, o FoxPro u otra plataforma para profesionales? ¿Quieres programar tu propio ERP para vender a tus clientes? Te invitamos a que conozcas Velneo vERP en este seminario gratuito.

¿Para qué sirve este seminario?

A partir de una plantilla empresarial con gestión de compras, ventas, almacenes, TPV, contabilidad.. te mostraremos de qué forma podrás personalizar y adaptarla a tus necesidades o las de tus clientes en un tiempo récord, y así, disponer de tu propio ERP.

¿Cuándo se celebra?

El seminario es online y tiene una duración de 90 minutos. Se celebra el jueves, 6 de octubre de 2016, 16:00 – 18:00 CEST. Si tienes cualquier pregunta o duda, ponte en contacto.

 

¿Qué puedes desarrollar con Velneo?

Este artículo Seminario: gana más dinero con tu ERP es original de Velneo.

El secreto para programar rápido: deja de pensar inutilmente

El secreto para programar rápido: deja de pensar inutilmente

Programar más rápido

Cuando hablo con otros desarrolladores sobre la complejidad el código o de un código, a menudo me dicen que quieren escribir un código más sencillo pero que los plazos o otros asuntos no les permiten tener el tiempo o el conocimiento necesario para completar la tarea y muchísimo menos refinar hacia un código más simple.

La verdad es que poner más presión sobre los programadores tiende a que escriban códigos más complejos. Sin embargo, los plazos no deberían llevarnos a escribir un código más complejo. En vez de decir que un plazo no te permite escribir código sencillo, podríamos enfocarlo de la siguiente manera: no soy un programador lo suficientemente rápido para hacer esto sencillo. Es decir, cuanto más rápido seas como programador, menos afectado quedará  la calidad de tu código por los plazos.

Sobre el papel lo que acabo de escribir es muy fácil pero… ¿Cómo se convierte uno en un programador rápido? ¿Es un don mágico con el que nace en algunas personas? ¿Seremos más  rápidos siendo más listos o inteligentes que otras personas?

No, no se trata de magia o de ningún don innato. De hecho, solo hay que seguir una simple norma, y si la sigues a rajatabla serás capaz de solucionar el problema del todo:

Cada vez que pares y empieces a pensar , es que algo va mal.

Quizás esto que estoy escribiendo suena increíble, pero funciona realmente bien. Piénsalo un segundo, ¿cuando estás sentado enfrente de tu editor pero no estás introduciendo código de forma ágil es porque eres lento tecleando? Lo dudo, tener mucho que teclear rara vez es un problema de productividad para el desarrollador. Sin embargo, las pausas cuando no estás picando son las que te hacen ir lento y ¿qué es lo que están haciendo los desarrolladores durante esos parones? Se paran a pensar quizás sobre el problema, quizás sobre otras herramientas, quizás sobre los emails lo que sea pero cada vez que esto pasa indica que hay un problema.

Pensar por si mismo no es lo que está mal, pero si es señal de que puede haber algún otro problema y puede ser por varias razones:

Comprensión

La razón principal por la que un desarrollador se para a pensar mientras está programando es porque no entiende del todo una palabra o un símbolo.

Esto me pasó a mí el otro día. Me estaba tomando 1000 horas escribir un servicio que era muy sencillo y me había parado a pensar sobre ello intentando dirimir como el código se tenía que comportar. Al final me di cuenta que no entendía una de las variables input de la función primaria conoce a nombre de su tipo pero jamás había ido a leer y entender la definición del tipo no entendí en realidad lo que significaba esa variable. Tan pronto como lo investigué, todo se volvió más comprensible y escribí ese servicio como un demonio (el juego de palabras es intencional).

Este ejemplo que acabo de dar te puede suceder de mil formas distintas , muchas personas se meten a programar en un lenguaje sin pararse a leer lo que(, ), [, ], {, }, +, *, y % son en realidad en ese lenguaje. Algunos desarrolladores no entiende cómo funciona un ordenador en realidad. Cuando entiendes algo en profundidad no tienes que pararte a pensar, y también es una motivación enorme de cara aprender ya que conociendo las reglas fundamentales del diseño de software eliminas muchos de esos momentos de pararse a pensar.

Así que si te das cuenta de que te paras a pensar, no intentes solucionar el problema en tu cabeza. Busca fuera de ti para ver qué es lo que no entendiste y luego vete a buscar información que te ayuda a entenderlo. Esto también es aplicable a cuestiones como del tipo: ¿este usuario leerá este texto alguna vez? Quizás no tengas un departamento de investigación de experiencia de usuario para entender o responder a esa cuestión, pero por lo menos puedes hacer un dibujo y enseñárselo a alguien y pedirle su opinión. Lo último que debes hacer es quedarte ahí parado pensando. Solo la acción lleva a pleno entendimiento de las cosas.

Dibuja

En otras ocasiones los programadores se paran a pensar porque no pueden albergar tantos conceptos en sus mentes a la vez. Muchas cosas están relacionadas entre sí de forma compleja y hay que pararse  a pensarlo y repensarlo. En este caso es casi siempre más efectivo escribir o dibujar algo que pararse a pensarlo tanto. El objetivo es poder tener algo a lo que mirar desde fuera de tu cabeza. Esto es una forma de entendimiento pero es tan importante y especial que quería abrir este párrafo con este título: dibuja.

¿Cómo empezar?

Muchas veces el problema es “No tengo ni idea con qué código empezar a escribir”. La solución más simple es empezar por el código que sabes a ciencia cierta que puedes escribir en ese momento. Empieza por la parte de problema que comprendes al 100% y escribe una solución para ello, -incluso si es solo una función o una clase poco importante-.

A menudo, la parte más sencilla por la que empezar el código es el “core” de la aplicación. Por ejemplo, si fuese a escribir una app para YouTube, empezaría con el reproductor de vídeo. Hay que tomárselo como una actividad continua -escribe el código que realmente crea un producto primero, no importa lo pequeño o lo estúpido que te parezca el producto. Un reproductor de vídeo sin ningún otro interfaz de usuario es un producto que hace algo útil (reproducir vídeo), aunque no sea un producto terminado.

Si no tienes claro como escribir ese código “core” aún, pues entonces empieza por el código del que estás completamente seguro. Normalmente me doy cuenta que cuando una parte del problema se soluciona, , es mucho más fácil solucionar el resto. A veces el problema se soluciona yendo paso a paso: solucionas una parte, que hace que la solución del siguiente sea más obvia, y así hasta completar el programa. Si tienes entre manos una parte del programa que no te requiere pensar mucho, empieza por ese.

Saltarse un paso

Otra forma errónea de abordar los problemas es saltarse un paso en la secuencia de desarrollo normal. Por ejemplo, digamos que nuestro objeto Bicicleta depende de los objetos Ruedas, Pedales y el objeto Marco de la bicicleta. Si intentas escribir todo el objeto Bicicleta sin escribir los objetos Ruedas, Pedales o Marco vas a tener que pensar mucho sobre esas clases que no existen. Por otro lado, si escribes la clase Ruedas cuando no hay una clase Bicicleta, tendrás que pensar mucho sobre como la clase Bicicleta va a utilizar la clase Ruedas.

La solución perfecta es implementar lo suficiente de la clase Bicicleta hasta llegar al punto en el que necesitas Ruedas. A continuación, escribir lo suficiente de la clase Ruedas hasta satisfacer la necesidad más inmediata de la clase Bicicleta. Luego volver a la clase Bicicleta y trabajar en ella hasta que necesites una de las piezas subyacentes. Igual que en el consejo anterior sobre ¿Cómo empezar?, encuentra la parte del problema que puedes solucionar sin pensar, y soluciona eso primero.

No te saltes pasos en el desarrollo de tu software y esperes ser productivo…

Problemas físicos

Si no he comido lo suficiente, tiendo a distraerme y empiezo a darle vueltas a todo porque estoy hambriento. No necesariamente son sobre mi estómago, pero no estaría en ese modo si estuviese bien. Estaría más centrado. Esto también puede pasar con el sueño, enfermedad, o cualquier tipo de problema corporal.

Distracciones

Cuando un desarrollador se distrae por causas externas, como el ruido, se puede perder en medio de su proceso mental de programación. Aquí la solución es relativamente sencilla. Antes de que empieces a programar asegúrate de que estás en un entorno que no te va a distraer, o que no puedan surgir interrupciones. Algunas personas se encierran en la oficina, otros se ponen auriculares y algunos cuelgan un cartel de no molestar… Haz lo que quieras. Este tema es lo suficientemente importante como para ser consensuado con los compañeros y los jefes.

A veces un desarrollador para a pensar porque se siente inseguro sobre sí mismos o sus decisiones. La solución a esto es similar a la de la sección Comprensión citada arriba. Si no estás seguro de algo, detente para aprender más hasta que estés listo para programarlo. Si te sientes inseguro en general como programador, igual es que tienes aún muchas cosas que aprender sobre los fundamentos de programación. Repasa tus lagunas y escríbelas en una lista y analiza una a una como mejorar. El proceso de aprendizaje va unido a la programación de forma intrínseca. Pero a medida que aprendas más y más, te volverás más rápido y perderás menos tiempo pensando en cosas improductivas.

Ideas falsas preconcebidas

A muchas personas se les ha enseñado que pensar es lo que hacen las personas inteligentes, es decir, que las personas inteligentes se paran a pensar a la hora de tomar una decisión inteligente. Sin embargo esta idea no es del todo cierta. Si solo pensando te conviertes en un genio, todos seríamos Einstein. Las personas realmente inteligentes lo que hacen es aprender, observar, decidir y actuar. Adquieren conocimientos y luego usan ese conocimiento para intentar resolver los problemas que tienen enfrente. Si quieres ser inteligente de verdad, piensa con el fin de causar un impacto en el mundo real, no para llenarte de ti mismo.

Este artículo El secreto para programar rápido: deja de pensar inutilmente es original de Velneo.

Quiero programar en español ¿Puedo?

Programar en español

Programar en español

Muchos programadores que se acercan a la plataforma completa de aplicaciones empresariales Velneo lo hacen inicialmente porque les llama la atención que sea todo en español: videos, ejemplos, documentación, el soporte técnico, los seminarios gratuitos, la propia herramienta de programación, la consultoría comercial…Todo. Absolutamente todo está en español.

Lo ven y dicen: “Yo también quiero programar en español ¿Puedo?” Con Velneo la respuesta es Sí. Claro que puedes programar en español.

La siguiente pregunta que suelen plantearse los desarrolladores y programadores que prueban Velneo por primera vez es, “Muy bien, está en español, pero qué puedo programar como desarrollador de Velneo“.

Una buena forma de saberlo es yendo a la página de clientes, los casos de éxito de con la herramienta de programación. En esta sección puedes ver como todos los programadores hablan español, tienen clientes que también hablan español y que son latinos y españoles. Además podrás ver de forma detallada qué tipo de empresas son las que programan con Velneo y con qué herramientas trabajaban y de qué plataformas provienen (Visual FoxPro, Visual Basic, .Net, Java…), sus problemas y la forma en que Velneo da salida a sus necesidades.

Otra buena forma de saberlo es sentándote tres minutos a ver este vídeo: ¿Qué puedo desarrollar con Velneo?

Como se puede ver en el vídeo, la plataforma y el código fuente está al 100% en español. Velneo es mucho más de lo que te puedes imaginar...

Este artículo Quiero programar en español ¿Puedo? es original de Velneo.

Seminario gratis: Gana más dinero con tu ERP

No trabajes el doble: Velneo vERP te ahorra meses de trabajo

 

Software ERP programar seminario

Si eres un programador práctico y necesitas un ERP para distribuir o para tu propia empresa, tenemos lo que estás buscando.

Ven el próximo jueves día 26 al seminario online “Gana más dinero con tu propio ERP” donde te enseñaremos con todo detalle cómo a partir de una plantilla empresarial de código abierto, re-utilizable y personalizable, podrás obtener tu propio ERP. Está creada por programadores para programadores.

El seminario es gratuito, el jueves 26 de noviembre a las 16:00 – 17:30 pm CEST (averigua la hora local de tu país ) y todos los registrados recibirán una grabación del webinar.

Regístrate Gratis Ahora

Te enseñaremos las funcionalidades que ya tienes incluidas (compras, ventas, almacén, contabilidad, tvp…) para que no trabajes doble y lo sencillo que es personalizarlo para que comiences a ganar dinero desde el primer momento poniéndolo en producción.

Si tienes cualquier tipo de pregunta, responde a este correo o si lo prefieres llámanos al (+34) 986 93 21 63 sin ningún tipo de compromiso.

¡Te esperamos!

Este artículo Seminario gratis: Gana más dinero con tu ERP es original de Velneo.