Taller de programación de aplicaciones empresariales

Desarrollo de software de gestión empresarial

¿Programas aplicaciones para empresas o software de gestión? ¿Tienes una empresa de desarrollo o un departamento de informática y buscas una tecnología específica para hacer software de este tipo?

Si la respuesta en tu caso a cualquiera de las preguntas de arriba es sí, te propongo que asistas a nuestro próximo Taller de programación de aplicaciones empresariales que se celebrará a la vuelta del verano, el próximo 13 de septiembre.

Analizaremos detalladamente aspectos técnicos de programación en Velneo orientados a la rentabilidad:

– ​ Base de datos NoSQL: descubre el por que de las ventajas de estas y en especial de Velneo, enfocada al software de gestión y empresarial.
– ​Descubre por qué con Velneo consigues tiempos infinitamente menores.
– ​ Descubre cómo conseguir que el mantenimiento de tus clientes no sea tu cuello de botella , sino un gran negocio.
​- Cloud, Local, Cliente-Servidor,​ Web, Movilidad, iOS, Linux, Windows, Mac, Android, haz software realmente multi-plataforma e interoperable.
– ​¿Distribuir software de terceros y parametrizable , usar un ERP en código abierto​ , programar tú todo? Descubre que hay una alternativa con todas las ventajas de las anteriores y sin sus inconvenientes.

Solo necesitas 60 minutos para tener unos nuevos horizontes en tu negocio.

Recuerda que celebramos seminarios online gratuitos y que te puedes inscribir en ellos siempre desde nuestra página de formación. ¡No te los puedes perder!

Este artículo Taller de programación de aplicaciones empresariales es original de Velneo.

5 formas de mejorar tu lógica de programación

lógica en programación
La lógica en la programación es una clave fundamental para ser un buen desarrollador. Quizás necesites afinar tu lógica de programación, dependiendo de si vas a usar más o menos algoritmos en tu puesto de trabajo. Si eres un diseñador/desarrollador web probablemente no vas a tener que trabajar algortimos muy complejos como norma, pero si eres desarrollador front-end tal vez un poco más, y si eres un desarrollador de back-end ya mucho más. Si eres desarrollador full-stack ya ni digamos.

Aquí te presentamos una lista de 5 puntos que pueden ayudarnos a mejorar nuestra lógica de programación.

Este artículo es para todos los programadores y desarrolladores de software. Si logramos desarrollar una buena lógica podremos movernos a través de los diferentes lenguajes de programación de una manera flexible, y tendremos más independencia a la hora de elegir un lenguaje en concreto para programar aplicaciones.

1. Piensa cómo ser resolutivo

La programación se basa principalmente en resolver problemas, y una buena técnica es dividir el “gran” problema en muchos problemas “pequeños” para poder focalizarse en cada problema de manera más detallada. Una buena forma de practicar esto es trabajar con pseudocódigo.

2. Practica

El punto más importante es el siguiente: practica. Un algoritmo no es nada más que un conjunto de operaciones ordenadas y finitas que llevamos a cabo con el único propósito de encontrarle una solución a un problema. Así que intenta practicar con problemas lo más simples posibles para obtener una lógica mejor. 

3. Estructuras de datos y algoritmos

Aprender sobre estructuras te aportará un mejor enfoque para centrarte en los problemas que quieres resolver y tener un software más eficiente. Puedes jugar al Aljedrez o practicar Matemáticas en tu tiempo de ocio.

4. Aprende paradigmas de programación

Otra cosa que puede resultar de gran ayuda para mejorar la lógica como programador es el paradigma orientado a objetos (OOP). Un paradigma de programación es una especie de modelo o plano que se puede seguir para crear un proyecto propio. Puedes aprender programación funcional para aprender cómo desarrollar programas de software y solucionar problemas de una forma distinta.

5. Estudia el código de otros

En programación tenemos muchas formas de resolver problemas, y quizás otra persona ya ha resuelto un problema que tienes de forma óptima y sencilla. Ver y analizar la forma de pensar de otros es esencial a la hora de avanzar como programador. En Github se pueden ver proyectos muy buenos.

Y recuerda, es completamente normal que un momento dado no puedas resolver un problema, pero recuerda que en las comunidades de programadores puedes encontrar muchísima ayuda.

Artículos relacionados: ¿Eres desarrollador? No te pagan por escribir código8 características importantes de un buen analista programador10 consejos para mejorar destrezas de programación y ser mejor programador¿Por qué a la mayoría de los programadores solo nos gusta nuestro código?,

Este artículo 5 formas de mejorar tu lógica de programación es original de Velneo.

¿Cómo ser un programador muy productivo?

ser programador más productivo

Ser mejor o peor desarrollador de software no depende de la herramienta de software que utilices. Depende más de qué herramienta eliges según qué proyecto de software tengas enfrente. Lo mejor es tener una buena caja de herramientas y saber qué debo utilizar para según que cosa, y especializarse en un nicho de mercado que te permita sacarle la máxima rentabilidad a las herramientas de desarrollo por la que has optado.

Una vez que ya sabes qué plataforma de desarrollo tienes que usar para afrontar un proyecto de software y el nicho al que te vas a dirigir, hay una serie de consejos prácticos que te pueden ayudar a ser un programador más productivo.

5 claves para mejorar programando

¿Acabas de empezar a programar? ¿Llevas 10 años programando? Da igual, este artículo es para ti, siempre y cuando busques mejorar, ser buen programador y crecer profesionalmente. Vamos a explicar 5 claves para mejorar programando y poder optar a mejores puestos y evolucionar desarrollando software. Aquí van las reflexiones de un programador senior sobre este tema.

8 consejos para ser un programador más productivo

Tus horas de trabajo como programador suponen un coste para ti si eres trabajador autónomo o una inversión importante para tu empresa si trabajas por cuenta ajena. Todo consiste en usar el sentido común y retirar los obstáculos que te impiden trabajar al 100% de tus capacidades.

Los programadores en términos generales tenemos ingresos superiores a la media si nos comparamos con otros puestos de la oficina con igual experiencia y nivel de formación y en muchos lugares escasean los buenos programadores. No hace falta señalar que debido al coste por hora de un programador, tiene sentido que hagamos un esfuerzo por mejorar nuestra productividad. En cualquier caso, en este artículo vamos a compartir 8 consejos para ser un programador más productivo.

Deja de pensar inútilmente

Cuando hablo con otros desarrolladores sobre la complejidad 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. El secreto para programar rápido es dejar de pensar inútilmente.

Barreras que debes superar cuando estás aprendiendo a programar

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.

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

Artículos relacionados: 10 consejos para mejorar destrezas de programación y ser mejor desarrollador, Consejos para programadores de software, Consejos prácticos para programadores,

Este artículo ¿Cómo ser un programador muy productivo? es original de Velneo.

Vuestras dudas + comunes: Tipos de Licencias, desarrollo y ejecución.

 

¿Tienes claro cómo funcionan los Niveles y las licencias o aún no del todo?

Velneo es una plataforma hecha para programadores y por programadores. La herramienta está diseñada para que aprendas rápido y llegues a dominarla en poco tiempo y también para que desarrolles de manera visual e intuitiva y puedas agilizar así al máximo tus proyectos.

Y es que no sólo la herramienta está programada pensando en ti, también lo están los tipos de licencias,  para que se adapten perfectamente a ti como programador, a las necesidades de ejecución que requieren tus clientes y al tipo de aplicación (tamaño, sistema operativo…). Y, por su puesto, para que solicitarlas y activarlas sea lo más sencillo y rápido posible.

En este post, os hablaré del catálogo de licencias y de las características básicas de cada una, y os dejo además los enlaces para que conozcáis todas las características.

Para empezar os quiero recordar que Velneo tiene 3 Niveles de Suscripción.

¿Qué son los Niveles?

Pues, todo el conjunto de productos y servicios necesarios para el desarrollo, implantación y mantenimiento de las aplicaciones que desarrolles en Velneo y con cada Nivel se entregan una serie de Licencias para el desarrollo en local o en el cloud de tu aplicación.

¿Cuál es el nivel que necesitas?

  • El Nivel 1 es para estudiantes, o para aquellos que deseen conocer y evaluar Velneo. Solo permite el desarrollo en el Cloud en una versión de prueba de 30 días (Se puede solicitar ampliar el plazo de evaluación). En este nivel no existe la posibilidad de desarrollo en sistemas propietarios, es decir, en local.
  • El Nivel 2 está especialmente diseñado para desarrolladores que quieran iniciarse profesionalmente en Velneo. Este nivel y superiores incluyen licencias para desarrollo propietario.
  • El Nivel 3 es para ti si eres profesional y/o tienes una empresa de desarrollo.
  • El  Nivel 4 es el máximo nivel e incluye todos los productos y servicios de Velneo.

¿Cómo funcionan las licencias de desarrollo?

Te proveemos de todo lo necesario para que tú y tu equipo podáis programar, editar y ejecutar para probar en real vuestros proyectos antes de implantarlos.

Para desarrollar en Local o Propietario
  • El Nivel 1, como ya te dije, no permite el desarrollo en local, sólo en el cloud.
  • El Nivel 2, incluye: 1 licencia de vServer con 1 puesto de edición y 1 de ejecución.
  • El Nivel 3,  incluye: 1 licencia de vServer corporativa con 3 puestos de edición y 10 de ejecución. Destinado a instalar en una maquina de la oficina y ser compartido su uso en labores de programación. Tiene puestos suficientes para probar en real las primeras aplicaciones. Y 2 licencias de vServer para uso de cada programador, cada una con 2 puestos de edición y 2 de ejecución. Estas licencias de vServer están destinadas a cada uno de los programadores para su instalación en su portátil o su domicilio.
  • El Nivel 4, incluye: 1 licencia de vServer corporativa con 4 puestos de edición y 20 de ejecución. Destinado a instalar en una maquina de la oficina y ser compartido su uso en labores de programación. Tiene puestos suficientes para probar en real las primeras aplicaciones. Y 3 licencias de vServer para uso de cada programador, cada una con 2 puestos de edición y 2 de ejecución. Estas licencias de vServer están destinadas a cada uno de los programadores para su instalación en su portátil o su domicilio
Para desarrollar en el Cloud
  • El Nivel 1, incluye: 1 licencia de vServer con 1 puesto de edición y 1 de ejecución durante 30 días.
  • El Nivel 2, incluye: 1 licencia de vServer con 1 puesto de edición y 3 de ejecución.
  • El Nivel 3, incluye: 2 licencias de vServer, cada una de ellas con 2 puestos de edición y 10 puestos de ejecución, más que suficiente tanto para programar como para poner pruebas piloto a clientes o comparar rendimientos con Local.
  • El Nivel 4, incluye: 3 licencias de vServer, cada una de ellas con 3 puestos de edición y 20 puestos de ejecución, más que suficiente tanto para programar como para poner pruebas piloto a clientes o comparar rendimientos con Local.

* El número de licencias puede variar según la política organizacional de Velneo S.A.

¿Cómo funcionan las licencias de despliegue/ejecución

Una vez desarrollada tu aplicación, para desplegarla e implantarla en tus clientes tienes diferentes licencias de ejecución para que puedas escoger la ideal según tus necesidades o según las necesidades de tus clientes.

Para implantar en Local o Propietario

Simplemente descargas un vServer, el servidor de aplicaciones de Velneo y lo instalas en el hardware elegido, independientemente del tamaño (portátil, tablet, servidor corporativo, hosting…) o sistema operativo. Desarrollas tu aplicación una sola vez y la ejecutas en cualquier plataforma (Windows, Linux, Mac, iOS o Android) o modalidad de despliegue (Monopuesto, Multipuesto, SaaS, Web o Movilidad).

¿Qué licencias puedes escoger?

  • Licencia Velneo vServer Express: es gratuita, para usuarios ilimitados y pensada para pequeñas instalaciones.
  • Licencia Velneo vServer Standar: sin límite de memoria, disco o instancias. Tiene un coste por puestos de ejecución o usuarios concurrentes y es ampliable a más usuarios.
  • Licencia Velneo vServer Standar 50: para instalaciones medianas, por encima de 15 usuarios, con una tarifa más ajustada que la Standard.
  • Licencia vServer Enterprise: sin límite de puestos o usuarios concurrentes, tamaño de bases de datos e instancias. Incluye servicios añadidos (SSL, soporte técnico sobre la instalación, detección de errores…). Su coste es mensual.
Para implantar en el Cloud

Para ejecutar en el cloud, te lo ponemos aún más sencillo. Nos ocupamos de todo. Te proveemos de un servicio integral para que instales tus aplicaciones en clientes que no requiere la compra de licencias ni la instalación de vServers​ por parte del desarrollado​r. Simplemente te limitas a gestionar las aplicaciones, instancias, bases de datos y usuarios para cada uno de tus clientes. 

Incluye el vServer, el alojamiento, SLA del 99%, ingeniería de sistemas, mantenimiento, servicio de alertas, optimización continua, copias de seguridad y un largo etcétera. Consulta el detalle del servicio Velneo Cloud.

Tienes 2 opciones:

  • Por puesto: tendrás toda la flexibilidad de poder incrementar o reducir el número de puestos y el pago es mensual.
  • Puestos ilimitados: ya sabes, sin límite de puestos o usuarios concurrentes y con un pago mensual.

¡Ah! Se me olvidaba una cosa, si no eres suscriptor no podrás adquirir licencias.

 

Si quieres saber más, tienes alguna duda o necesitas ayuda, escríbeme.

Este artículo Vuestras dudas + comunes: Tipos de Licencias, desarrollo y ejecución. es original de Velneo.

5 consejos para ser buen programador y crecer profesionalmente

mejorar programando software
¿Acabas de empezar a programar? ¿Llevas 10 años programando? Da igual, este artículo es para ti, siempre y cuando busques mejorar, ser buen programador y crecer profesionalmente. Vamos a explicar 5 claves para mejorar programando y poder optar a mejores puestos y evolucionar desarrollando software. Aquí van las reflexiones de un programador senior sobre este tema.

Acumula entre 7 y 14 años de experiencia.

Sí, va a tomar tiempo, no te impacientes. Tienes que tirarte años escribiendo código, leyendo código, trastear con nuevas tecnologías, sufrir en propia carne varios fracasos a nivel de arquitectura de software y también experimentar algún que otro éxito arquitectónico. Si tienes conocimientos técnicos y empiezas a programar quizás te tome unos tres o cuatro meses para coger una soltura básica en el código pegándole, por ejemplo, a JavaScript. Como con toda curva de aprendizaje -ya sea en el lenguaje de programación que sea-, progresarás a un ritmo más rápido al principio y luego te dará la sensación de que de has quedado atascado, y luego tras unos meses más llegando al año de experiencia notarás que has dado un salto de calidad si te metes de lleno y no cejas en el empeño. A partir de ahí, cada año de experiencia en una tecnología determinada te dará un plus, pero la evolución ya no será tan exponencial.

La mayoría de los puestos de trabajo en los que estés en esta etapa profesional exigirán de ti un esfuerzo ligeramente por debajo del umbral de tu habilidad, por lo que es importante hacer los proyectos sin dilación y dedicarle algunas horas en la oficina a leer y probar cosas nuevas. No tienes porque decirle nada al jefe si no lo va a entender, simplemente haz tu trabajo en tiempo y forma y dedícate un tiempo a aprender: es siempre mejor pedir perdón que pedir permiso 😉

Estudia con hambre.

La programación e ingeniera informática es un campo muy denso y profundo, y para ser bueno en ello tienes que entender cómo funcionan las cosas, todas las cosas, aunque no las sepas hacer. Si te asusta o piensas que el código ensamblador, álgebra lineal o los lenguajes fuertemente tipados son demasiado complejos, quizás debes optar por desarrollar software con herramientas más prácticas, más centradas en la rentabilidad. Si no te asustan, te puedes plantear programar a un nivel ya más profundo. Esto tampoco quiere decir que tienes que saber de todo, porque es imposible.

No te puedes imponer lineas rojas, no debes limitarte. Por ejemplo, no es idóneo estar picando código ensamblador muy a menudo, pero si asumes una actitud hacia ello como si fuera “magia negra”,  o trabajo de “pico y pala” te estarás limitando y mermando tu capacidad de aprendizaje.

He tenido compañeros, especialmente programadores en JAVA -no sé por qué extraña razón-, que solían tener esta actitud hacia lenguajes de picar mucho código a mano como C. Normalmente usaba Haskell (un lenguaje de programación estandarizado multi-propósito puramente funcional con semánticas no estrictas y fuerte tipificación estática) si partiese de cero; pero también me he expuesto a Clojure, C, e incluso Python, porque cubren asuntos claves de programación. No debes tener una mentalidad tipo “¿caerá esto en el examen?”. Tienes que afrontar todo con mucha más curiosidad, especialmente todo lo relacionado con la programación (la curiosidad matemática también ayuda). También es fundamental que aprendas cosas sobre la industria del software… ¿Por qué fracasan tantos proyectos de software? ¿Qué errores (técnicos y no técnicos) llevaron a ello y cómo se pudieron haber evitado? ¿Qué cualidades tiene un buen CTO o jefe de producto? ¿Qué software merece la pena programar y cuales no? ¿Cómo puedo validar mi proyecto de software antes de empezar a programar?

fracasar es bueno como programador

Al principio, programa software aunque no sepas si vas a tener éxito.

¿Cómo te conviertes en un programador competente? ¿O un arquitecto? ¿O un hacker del kernel de Linux? Practica. Si sabes que puedes hacer algo, entonces el proceso de aprendizaje será peor. Aprendes mucho más cuando tienes probabilidades de fracasar. Los empleadores te quieren en un nivel de dificultad en el que acertarás el 950% de las veces. Pero aprendes más cuando las probabilidades de éxito son menores, entre un 65-75% diría yo… Es decir, cuando normalmente tienes resultados positivos, pero fracasas de vez en cuando. Progresas, pero no es tan suave ni cómodo y te fuerzas a trabajar.

Relaciónate,  haz networking, pero no para conseguir un nuevo puesto sino nuevas ideas.

No pienses en hacer “networking” como algo que hacer cuando te despiden. Somos animales sociales y los programadores no somos diferentes. Lo mejor para ser buen programador y crecer en el trabajo es hablar y relacionarse con otros grandes programadores, para entender qué tipo de problemas han solucionado y cómo.  Además de los foros, tienes los eventos presenciales que son e gran utilidad para este tipo de cosas. Es buena idea salir de la oficina y verse.

Plantéate cambiar de puesto de trabajo si ves que no aprendes cosas nuevas.

Muchas veces para progresar como desarrolladores necesitamos un poco de presión exterior, de hacer trabajos exigentes que nos pongan al límite. Y no estoy hablando de un código que has heredado y que no entiende nadie… Me refiero a desafíos propios de programar y solucionar problemas nuevos. A ver, a veces es bueno ver mal código de terceros para aprender de sus errores, pero no siempre ni toda la vida. A fin de cuentas, querrás trabajar en proyectos de éxito, y querrás rodearte de gente buena. Si dejas de crecer, es tiempo de pasar página. ¿Sabes por qué las personas se quedan estancadas? Pues poco a poco, día a día. Pero así también es como te conviertes en un buen programador. Un día tras otro, durante unos 4.000 días 🙂

Artículos relacionados: 10 consejos para mejorar destrezas de programación y ser mejor desarrollador, 7 cualidades de un buen programador, Hace falta aprender inglés para ser buen programador, 8 consejos para ser un programador más productivo

Este artículo 5 consejos para ser buen programador y crecer profesionalmente es original de Velneo.

6 cosas que todo buen código de programación tiene

Buen código

Buen código

No todo código fuente nace en igualdad. Aquí se presenta una lista de las cosas que los desarrolladores piensan que marcan la diferencia entre un buen código y uno malo: 6 cosas que todo buen código de programación tiene.

Hay un montón de software hoy en día por el mundo, solo Google tiene más de 2 mil millones de líneas de código en su repositorio. Pero no todo el código fuente es creado igual. Los desarrolladores de software normalmente tienen unas preferencias muy marcadas en relación con lo que hace que un código fuente  sea etiquetado como decente y bueno.

Para averiguar qué es lo que hace que el código detrás del software sea mejor o peor, he consultado varias páginas webs y foros de desarrollo de software sobre el tema. El objetivo no es otro que intentar determinar qué expectativas tienen los programadores a la hora concebir un buen código fuente y con qué tipo de código les gusta trabajar.

#1 Es fácil de leer

Todos los desarrolladores parecen estar de acuerdo con que una de las más importantes cualidades de un buen código es que sea legible.  El código que está escrito de forma que sea fácil de leer por otros desarrolladores y que puedan entenderlo con poco tiempo y esfuerzo es considerado un buen código-

Si no puedo entender la intención de un programador en 5 minutos o menos creo que el código es claramente mejorable. Al ordenador no importan los nombres de las variables o el Inter espaciado entre líneas pero las personas sí. El código se escribe una vez, pero se lee cientos de veces a lo largo de su vida útil. Usar variables con sentido y insertar espacios para que la legibilidad del código hará que ese código sea mejor

Una vez un desarrollador senior de aplicaciones web con más de 10 años de experiencia programando aplicaciones profesionales me recomendó seguir un estilo consistente, siempre el mismo, con espaciados, sangrías y un flujo general que siempre sea igual. Además me insistió en la importancia de elegir nombres de variables que tengan sentido. 

También me dijo que si la función tenía dos argumentos, que las pusiera en dos líneas distintas o que si una expresión aritmética tenía varios términos, darle a cada uno de sus términos y su propia línea.

Resumiendo, un código más legible implica que sea más fácil de entender y le facilita la vida a todo el mundo.

#2 Está bien comentado

Además de estar bien formateado nombrado, los comentarios también hacen que el código sea más fácil de entender. Pero no cualquier tipo de comentarios, yo no necesito comentarios que me digan lo que hace un “for loop”. Necesito comentarios que me digan por qué el código está haciendo lo que está haciendo. Un buen código tiene comentarios que explican qué es lo que está en el autor de la cabeza del programador mientras se escribe el código.

Los buenos comentarios pueden ayudar no solo a otros programadores que ha leído tu código, pero también a ti mismo. Sé bueno contigo mismo en el futuro y no hagas que todo dependa de tu memoria. Incluso si eres la única persona que va a inspeccionar o modificar o revisar el código del futuro, te puede facilitar mucho la vida al elegir nombres con sentido y añadir comentarios informativos.

#3 Es sencillo

Puede que parte del código haga cosas muy complejas pero el mejor código, según muchos desarrolladores, normalmente es muy sencillo. Los buenos programadores sabrán cómo hacer una tarea sin complicar demasiado las cosas.

Cada trozo de código debería hacer sólo una tarea, y hacerla muy bien, y permitir que el siguiente trozo de código haga la siguiente tarea. Divide y vencerás. Las mejores soluciones son siempre las soluciones más sencillas.

Tampoco es bueno duplicar demasiado el código. Es recomendable implementar funciones cortas y bien definidas que realizan bien una tarea.

Es fundamental la sencillez. Simplifícalo todo lo que puedas. El mejor código es un código “vago”, que realiza poco trabajo pero de la forma más efectiva posible. He visto ejemplos de muchos códigos que hacían todo tipo de peripecias pero luego el programa se cerraba por los fallos más simples que te puedas imaginar.

Y es que al final la mayoría de los programadores piensan que si mantienes el código sencillo,  el software será mejor.  Lo normal es que un código complejo esté lleno de bugs,  mientras que la incidencia de bugs en códigos más sencillos es menor.

#4 Es flexible

La funcionalidad el código normalmente tiene que ser cambiado, ampliado o reutilizado en cualquier otro programa en el futuro. Un buen software está escrito pensando en los requisitos de hoy, pero también teniendo en cuenta las expectativas del mañana. Obviamente predecir el futuro es imposible, pero puedes escribir un código que sea lo suficientemente flexible para requerir solo cambios mínimos para adaptarlo a los requisitos futuros.

El código es bueno si los programadores futuros son capaces de añadir o cambiar ciertas partes del código sin tener que desmenuzar otras partes del código. En el momento en que te paras modificar el código de otros es cuando realmente te das cuenta de si ese código es bueno o malo.

#5 Es fácil de mantener

No importa cuan bien escrito un software, siempre inevitablemente tendrá errores y obviamente alguien tendrá que arreglarlo. Pónselo fácil a esa persona, ya que en cualquier momento tú podrías estar en ese lugar.

Que sea fácil de mantener es un atributo clave de un buen código, ya que todo el software necesita mantenimiento y no hay necesidad convertir esa tarea es un infierno para otros.

#6 Funciona

Para rematar, hay una característica obvia de un buen código que probablemente debemos citar aquí:tiene que funcionar. Tiene que hacer el trabajo para el que ha sido diseñado. No importa cuán bonito se vea, si no hace su trabajo, no sirve de nada.

 

Este artículo 6 cosas que todo buen código de programación tiene es original de Velneo.

¿Qué está de moda en el desarrollo de software y programación?

¿Qué está de moda en el desarrollo de software y programación?

software y programación

Si alguien hoy en día, en otoño de 2015, se preguntase ¿Qué está de moda en el desarrollo de software y programación?, la respuesta tendría que ser la programación funcional. Este paradigma de programación, muy conocida por usarse en excel de Microsoft, está causando un gran revuelo en el desarrollo de software y la programación.

Las ideas fundamentales detrás de la programación funcional son que:

  1. Los datos deben permanecer inmutables: en vez de manipular datos, debes hacer una nueva copia de los mismos.
  2. Los programas no debe tener estados. A ninguna función le debería importar ni tener en cuenta que ha sucedido en el pasado.

¿Por qué te debería importar la programación funcional?

Aquí presentamos una serie de razones por las que muchos proyectos de código abierto hoy en día apuestan por la programación funcional:

  • Permite concurrencias y paralelismos a escala masiva. Por esta razón algunos de los lenguajes de programación de mayor rendimiento son funcionales.
  • Al usar abstracciones para manejar tareas como la iteración, reduces el volumen de código al que tienes que darle mantenimiento, y en consecuencia, también reduces las probabilidades de que algo falle.
  • Desplazas el trabajo de un montón de funciones pequeñas y específicas a funciones de una jerarquía mayor (es decir, funciones que toman a otras funciones como inputs  o que tienen como resultado una función a modo de output). Esto te permite mantener el foco sobre los resultados que sobre pequeños pasos intermedios.
  • Sin un estado guardado y solo datos derivados, puedes escalar horizontalmente (con ordenadores más baratos) en vez de hacia arriba (con ordenadores más potentes). Esto facilita el hecho de disparar servidores cuando el tráfico aumenta y ponerlos en stand-by cuando el tráfico cae.
  • JavaScript, el lenguaje más popular en los últimos tiempos, está bien casada con el paradigma de programación funcional.

En conclusión, podemos afirmar que la programación funcional es una moda, pero no nueva. La diferencia es que de esta vez puede que deje de ser moda para convertirse en estándar.

Este artículo está inspirado en ese hilo de debate.

Este artículo ¿Qué está de moda en el desarrollo de software y programación? es original de Velneo.

4 claves para programar de forma rentable cambiando de actitud

icono_velneo_reflejoEn este post vamos a recoger las reflexiones sobre cómo ser rentables de uno de los consultores expertos de Velneo, Miguel Pérez Oliver -con más de 25 años de experiencia en el mundo del software-, y que lleva ya 10 años centrado en conversar con empresas de programación de todo tipo, tamaño y condición de todos los países del mundo donde se habla español. Vamos a resumir aquí las conclusiones a las que ha llegado tras miles de conversaciones con desarrolladores en pocas ideas: 4 claves para programar de forma rentable. Las empresas que llevan estás 4 claves a rajatabla suelen tener mucho éxito. Y al final todo se reduce a una cuestión de actitud, no de recetas mágicas ni grandes secretos:

  1.  Nicho, foco y replicar el modelo
  2. Ingresos periódicos
  3. La programación es solo parte del negocio
  4. Clientes educados (tiempo)

La máxima es siempre estar convencido de lo que vendes. Si crees que debes hacer instalaciones y desarrollos para trabajar en local, no vendas aplicaciones en la nube porque si no crees en la nube, ¿cómo piensas convencer a tus clientes?

Nicho, foco y replicar el modelo

Hay que ser pragmático. No vamos a hacer un Twitter ni un Facebook. Hay que ser realistas y desarrollar una aplicación de ese estilo está al alcance de unos pocos visionarios. Tenemos que buscar programar de forma práctica, buscar un modelo de negocio claro que nos permita vivir cada vez un poquito mejor, disfrutar y ser rentables para seguir a partir de ahí.

No te puedes pasar la vida programando. De nada te sirve estar todo un año programando 10 programas, comercializándolos, dando mantenimientos, soporte, etc… Puede que así ganes más dinero, pero pierdes en rentabilidad, y sobretodo, en calidad de vida. Tu vida se puede volver una angustia porque no te queda tiempo libre para disfrutar, ni para pensar en otras cosas que no sean programar.

Cuando un programador se pone a hacer un nuevo desarrollo, la fase más angustiosa es siempre la puesta en marcha de un nuevo proyecto: los bugs, los errores, las quejas del cliente, etc… Ese periodo termina pasando pero mientras estás en él es una verdadera angustia. Si hacemos 10 proyectos nuevos al año, tenemos 10 angustias al año. Si nos pasamos toda la vida haciendo desarrollos y poniendo proyectos en marcha, toda nuestra vida será una angustia. Hay que cambiar esta forma de pensar, y por eso es una cuestión de actitud. Hay que centrarse en un nicho, tener foco y replicar ese modelo. Ser pragmáticos.

Ingresos periódicos

Es muy importante establecer una política comercial que te permita ingresar dinero de forma periódica, mes a mes. No podemos estar pendientes todo el rato de las ventas, porque si estamos pendientes de las ventas lo que sucede es que cuando llega esa nueva venta, ¿qué le pasa al cliente al que le vendimos hace un año? Nos olvidamos de él. Le dejamos atrás. ¿Crees que eso es lo que se merece tu cliente? Cuando llegues a la conclusión de que tu cliente no se merece eso seguro que cuando vayas a venderle un nuevo producto pensarás en el mantenimiento, y será mucho más fácil vendérselo. Si tus clientes no apuestan por el mantenimiento a la larga es mejor que los abandones por aquellos que sí lo hagan.

La programación es solo parte del negocio

Hay que tener tiempo para dedicarle al menos 15 minutos al día a leer sobre las novedades de tu herramienta de desarrollo, el foro o el blog. Es tu herramienta de trabajo, no estamos hablando de diversión, no es perder el tiempo. Es como si un abogado no está al tanto de las nuevas reformas en una ley. Así no se puede trabajar.

Hay que dedicarle tiempo a la formación, parte a la labor comercial y otros aspectos que nos son programación y aunque seas una persona tienes que organizarte porque sino no vas a triunfar.

Clientes educados (tiempo)

Este tema es conflictivo porque estamos hablando de decirle que no a un cliente y no es fácil. ¿Cómo le vas a decir a u cliente que no te llame y que te mande un email? Bueno, pero al final esto es también un problema de actitud. Para educar a los clientes tenemos que convertirnos en “maestros del no”, aprender a decirle que no a los clientes de forma educada, razonando y todas estas consideraciones. Pero no, es no.

Para educar al cliente primero tenemos que educarnos a nosotros mismos dentro de la empresa y plantearnos varios noes:

  • no programar ni una sola línea de código que no guarde relación con el nicho al que vas dirigido y el programa que vendes en ese nicho.
  • destinar 6 horas diarias a la programación y no más, programar cansado te hace cometer errores que luego cuestan mucho tiempo y dinero.
  • solo dar soporte en casos de urgencia, pactados con el cliente de forma previa a la puesta en marcha de un proyecto.

Por otro lado hay que tener cuidado con las peticiones que te hacen los clientes una vez que el programa ya está funcionando. Cuando estás trabajando en un nicho y te diriges a varios clientes dentro de ese nicho, no te puedes permitir el lujo de que un cliente te diga pon un campo fórmula ahí o una columna aquí. Ten claro que el especialista del sector eres tú y que además el cliente no se lo merece, tu eres el que se ha especializado, el que está en nicho. Cuando un cliente te da una solución, quizás esa solución no sirva para el resto. Para no caer en este error pídele al cliente que te explique el problema, no que te de la solución. Conoce el problema, ya buscarás la solución y así te irá mucho mejor.

Este artículo 4 claves para programar de forma rentable cambiando de actitud es original de Velneo.

Lenguajes de programación más demandados en 2015

Programes o no en Velneo aplicaciones y programas de negocio, herramienta que recomendamos encarecidamente para tal fin si programas en español, es siempre interesante estar informados sobre qué lenguajes de programación están siendo demandados en la actualidad en el mundo. Para redactar este artículo me he basado en varias páginas webs que nos dan información sobre el tema y que iré enlazando a lo largo del mismo: Lenguajes de programación más demandados en 2015

Lenguajes de programación más demandados en 2015

En los dos últimos años la tendencia apenas ha variado y la tendencia del 2014 se confirma en el 2015. Aquí va un pequeño listado de tendencias que merece la pena destacar.

  • JavaScript: su uso se está disparando y todo el mundo parece necesitar un desarrollador de JS en la empresa. Su crecimiento y proyección es muy prometedor y por eso encabeza esta lista.

En relación con los Frameworks:

  • Entre las opciones para JavaScript destaca NodeJS npm

En el lado servidor de las cosas quizás merece la pena destacar:

Si hablamos de Ruby, todo queda igual:

En relación con la programación funcional, que vuelve a pegar fuerte en 2015 y que es interesante tenerlo en cuenta ya que su demanda crece progresivamente, cabe destacar:

  • El lenguaje de programación Go
  • También cabe reseñar el lenguaje de programación Julia

En otro ámbito, en el de las start-up americanas, crece la demanda de especialistas en Data Science o “ciencia de los datos” y más conocimientos de las máquinas, así que se puede citar:

  • R, el lenguaje y entorno de programación para análisis estadístico y gráfico.
  • Python

En el campo del desarrollo móvil:

  • En iOS se observa una fuerte demanda de programadores en Apple Swift, que funciona mano a mano con Objective-C. Muchas empresas están empezando a hacer uso de esta tecnología en sus productos aplicaciones móviles para iOS en los meses venideros.

En lo que se refiere a tecnologías web, para observar las tendencias puede resultar divertido ir a la web de estadísticas builtWith.

servidores web

librerías javascript

 

frameworks

 

Por último voy a incluir un par gráficos extraídos del índice Tiobe que utilizan información de los motores de búsquedas más usados como Google, Bing, Yahoo!, Wikipedia y Amazón para hacer una estimación de la popularidad de los diferentes lenguajes de programación.

  • El primero muestra las variaciones en popularidad interanual:

popularidad de los lenguajes de programación septiembre 2015

  • Y el segundo la tendencia en términos de popularidad desde el año 2002 hasta día de hoy:

Fuentes del artículo Lenguajes de programación más demandados en 2015: Quora, Tiobe, BuiltWith.

Este artículo Lenguajes de programación más demandados en 2015 es original de Velneo V7.

Las 9 tareas más difíciles para un programador

La mayoría de las personas que no son programadores asumen que el trabajo de desarrollar software es difícil -y es que lo es, pero no en la forma que se imaginan las personas que no programan software-. En muchos foros de programación se pueden encontrar comentarios sobre las tareas más difíciles para un programador. Tras repasar ese hilo y otro más antiguo de los foros de Ubuntu, he decidido hacer una recopilación de las 9 tareas más difíciles para un programador. Como conclusión general, resulta que escribir código no es una de las cosas más difíciles del trabajo de un programador de software. Si eres un desarrollador de software profesional, puedes ver a continuación cuantas de estas tareas identificas como las más difíciles de tu profesión.

Las 9 tareas más difíciles para un programador

9. Diseñar una solución

La tarea: Dados una serie de requisitos, diseñar y dar forma a la solución técnica que se tiene que implementar. Esta tarea incluye el diseño de los datos y la estructura del código, los algoritmos funcionales y el flujo de la aplicación que engloba la lógica del negocio y satisface los casos de uso del software.

El reto: Estar seguro de que diseñas una aplicación que cumple los requisitos del cliente, que les tenga sentido y que se pueda desarrollar e implementar en el tiempo requerido.

8. Hacer pruebas

La tarea: Escribir pruebas unitarias, es decir, pruebas programáticas de pequeñas unidades de código para asegurarnos de que funcionan bien. Este tipo de pruebas nos ayudan a depurar bugs desde las fases iniciales del desarrollo del software y hacen más fácil pruebas de regresión posteriores cuando haya que editar o actualizar el software. Algunas metodologías de desarrollo de software promueven que se escriban las pruebas antes de empezar a desarrollar el software, mientras que otras apuestan por hacerlo a posteriori.

El reto: Puede ser un proceso tedioso elegir qué pruebas unitarias hacer y escribir el código de las mismas, ya que siempre da la impresión de que es una trabajo adicional al del propio desarrollo de la aplicación que tenemos entre manos.

7. Redactar la documentación

La tarea: Crear documentación explicando qué es lo que hace la aplicación y como funciona. Puede incluir documentos en forma de manual o comentarios en el código. El público objetivo puede ir desde el usuario final hasta otros desarrolladores.

El reto: Puede ser una tarea que consume mucho tiempo, que puede parecer una perdida de tiempo si nadie lo va a leer. A los programadores les gusta más picar código que documentarlo.

6. Implementar funcionalidades con las que NO estás de acuerdo

La tarea: Tener que implementar una característica o funcionalidad que, por el motivo que sea, sientes que no debería ser incluida pero que el cliente, o uno de tus superiores, insiste en que así sea.

El reto: Poner a un lado tus sensaciones personales y opiniones y dedicar tiempo y esfuerzo a implementar – y dar soporte a- la funcionalidad de que se trate.

5. Trabajar con el código de otros

La tarea: Tener que dar mantenimiento, depurar o mejorar una aplicación o el código que ha sido escrito por otro desarrollador.

El reto: Intentar entender cómo funciona el código heredado e intuir qué intenciones tenía el desarrollador original. Esto es incluso más difícil cuando el desarrollador original ya no está y el código está mal escrito, mal comentado y/o documentado.

4. Tener que tratar con otras personas

La tarea: Recopilar los requisitos de los clientes, elaborar informes del estado de las tareas a los responsables, trabajar con los beta-testers de la aplicación y debatir con otros programadores sobre el proyecto.

El reto: Explicar cosas técnicas a personas que no lo son, que tu trabajo dependa de terceros y estar en desacuerdo con el personal de control de calidad y otros desarrolladores.

3. Estimar el tiempo que va a tomar una tarea concreta

La tarea: Al principio de un proyecto, intentar concretar estimaciones del tiempo que tomará concluir la tarea.

El reto: Adivinar cuanto tiempo te va a tomar algo que nunca antes habías hecho, haciendo estimaciones basados en requisitos poco específicos e intentando incluir el tiempo necesario para solucionar imprevistos.

2. Explicar a lo que me dedico (y a lo que no)

La tarea: Hacer llegar a los no programadores (miembros de tu familia, amigos, compañeros de trabajo no técnico…) lo que implica tu trabajo -y lo que no.

El reto: Que tus seres queridos no entiendan qué es lo que haces para ganarte la vida. Que todo el mundo esté todo el rato pidiéndote que les resuelvas sus problemas con los ordenadores de forma generalizada.

1. Ponerle nombres a las cosas

La tarea: Crear nombres para tus variables, procedimientos, funcionalidades, clases, objetos y componentes de la base de datos.

El reto: Incluso una pequeña aplicación o programa puede requerir el hecho de ponerles un nombre. La elección de nombres apropiados que transmitan el sentido de lo que es la cosa o de lo que hace durante todo el proceso de desarrollo y que sean concisos.

Este artículo Las 9 tareas más difíciles para un programador es original de Velneo V7.