8+2 consejos para desarrolladores de software

Nos pasamos el día leyendo, formándonos e informándonos y distrayéndonos. Buscamos mejorar nuestras capacidades, nuestras técnicas y a fin de cuentas, mejorar nuestro futuro personal y laboral. He encontrado un decálogo de un joven desarrollador argentino (Germán Cutraro), que me gustaría compartir con vosotros porque creo es muy certero con los diez consejos que ofrece para que mejoremos como desarrolladores de software, pero también como personas.

1. Especialízate

Cuando te digo que es una buena idea especializarse en algo, no estoy diciendo que debes aprender sólo una cosa en toda tu carrera, no, es una mala idea. Lo que quiero decir es que las empresas buscan y pagan más por personas que saben muy bien una cosa, así que es una buena idea tener un conocimiento amplio en una tecnología en particular, que una persona que sabe un poco de todo.

2. Practica

Esto es clave, quiero decir que es muy bueno leer libros, ver cursos de programación en línea, etc., pero lo importante es practicar. Si sólo lees libros, es como si hubieras hecho un trabajo práctico y nunca se lo hubieras dado a tu profesor.

3. Crea un proyecto personal

Este punto es similar al anterior, pero quiero que se divida, porque este punto para mí es muy importante. Un proyecto personal es una forma de practicar nuestras habilidades en algo que nos resulta más divertido e interesante, por lo que nos motiva más realizarlo. Si lo que quieres es hacer un clon de alguna aplicación que te guste, como una red social, un blog u otra cosa, ¡adelante! Lo importante es el camino, y ya habrá tiempo de comenzar desde cero más adelante si lo consideramos apropiado.

4. Lee a los grandes expertos

Puedes leer blogs, como crearsoftware.com, comunidades y listas como SmashingMagazine o A List apart, podcast como Disfruta Programando, así como seguir a perfiles interesantes en twitter. Mi lugar favorito para leer y aprender es Github, donde se puede leer mucho código y crecer como desarrollador.

5. Primero analiza, después escribe

Como desarrolladores a menudo caemos en el error de escribir código demasiado rápido, pero la mejor idea es analizar el problema antes de escribir cualquier línea de código. Una buena idea es escribir código en una hoja de papel, porque de esa manera se piensa mucho más que frente a una pantalla.

6. Mejora tu código fuente

Es muy recomendable refactorizar el código: es una técnica para reestructurar un código fuente, alterando su estructura interna sin cambiar su comportamiento externo. Porque como desarrolladores, gastamos el 80% de nuestro tiempo leyendo código y el 20% restante escribiéndolo. Así que, si tenemos un buen código, ahorraremos mucho tiempo en su lectura y comprensión, ya no te digo si, en vez de nosotros, lo tiene que leer otra persona.

7. Conoce a nueva gente

Conocer gente nueva es una gran idea, porque establecemos una conexión ganando contactos que pueden beneficiarnos en futuros proyectos o trabajos. También es una buena idea hablar con otros desarrolladores para aprender participando en reuniones, así como presentando en conferencias, charlas o eventos similares que hoy día se celebran en multitud de ciudades por todo el mundo.

8. Comparte tus conocimientos

Cuando estás compartiendo tus conocimientos estás aprendiendo mucho, y es una gran idea porque estás ayudando a otras personas y a ti mismo. Puedes crear tu propio blog, un canal educativo en Youtube, o tu propio curso en alguna de las múltiples plataformas que hoy día lo permiten.

9. Ten una vida normal

No es necesario –ni bueno–, que pases 24 horas frente a tu ordenador. Debes limpiarte, ir a caminar, ver esa película que te apetece, tocar un instrumento, etc., es decir: hacer otras cosas, porque eso ayudará a tu mente a concentrarse mejor cuando lo necesite.

Existe muchísima información disponible en Internet, pero no intentes aprender todo, porque probablemente necesitas varias vidas para hacerlo, aprovechar para disfrutar de la vida.

10. ¡Disfruta!

La programación no es para todo el mundo, es decir, ¿todo el mundo puede programar? Sí, pero, ¿pueden todos tener una dedicación como desarrollador profesional? No. Debes tener pasión y realmente quieres aprender y estudiar, lo dije en mi último artículo: el mundo de la tecnología crece cada día, así que si odias aprender, estás fuera. Así que debes disfrutar de lo que estás haciendo, no estudies código sólo por dinero, porque eso es incoherente.

Este artículo 8+2 consejos para desarrolladores de software es original de Velneo.

El desarrollo de software de gestión en Colombia en 2019

Después de México, Colombia, con 48 millones de habitantes, es el segundo país de habla hispana más grande del mundo. Tiene múltiples áreas de desarrollo: nueve áreas metropolitanas con una población de más de 500.000 habitantes.

Por otro lado, Colombia se encuentra entre las 30 economías más importantes y una de las más importantes dentro de las economías no pertenecientes a la OCDE.

En los últimos años el sector del software ha sufrido un crecimiento muy notable. En este artículo haremos un resumen de la situación del desarrollo de software de gestión en Colombia en 2019.

El mercado del software en Colombia en 2019

El mercado colombiano de Software y Tecnologías de la Información es el cuarto más grande de Latinoamérica, entre los que se encuentran Brasil, México y Argentina.

Durante los últimos 10 años en Colombia, el mercado de TI ha crecido a una tasa del 18%; el sector del software ha crecido un 19,1% y los servicios de TI han crecido un 15,4%.

Según IDC, la industria ha duplicado sus ventas en los últimos 7 años y, en 2017, alcanzó los 9.500 millones de dólares, repartidos en: hardware (56,5%), servicios informáticos (32,2%), software (11,4%). Colombia presenta una fuerte y creciente demanda interna, siendo los sectores con mayor gasto en TI el sector industrial, el gobierno, el sector financiero y el sector agrícola.

La industria manufacturera es la vertical con mayor demanda de software en Colombia. En todo el país, la industria de los medios de comunicación es el mayor demandante de servicios de TIC.

Colombia cuenta con talento humano de calidad, capacitado en diversas disciplinas a un costo eficiente, a la vez que presenta potencialmente la posibilidad de operar de con proyectos de software forma escalable en seis áreas metropolitanas con más de 1 millón de habitantes.

Colombia, un país con múltiples áreas de desarrollo

Como decíamos anteriormente, Colombia tiene nueve áreas metropolitanas con una población de más de 500.000 habitantes y, de entre esas, seis áreas metropolitanas con más de un millón de habitantes. Veamos qué tipo de software se desarrolla en algunas de las zonas más importantes en lo que se refiere a la fabricación de software según Procolombia.

Software que se desarrolla en Bogotá y área metropolitana

En la capital y su area de influencia se desarrolla principalmente software financiero para la industria bancaria. La mayor apuesta en Bogotá es ofrecer software y servicios de TI de tipo financiero dado el gran número de bancos que se han concentrado en la capital del país.

Se desarrollan proyectos de software a gran escala debido, en parte, al abundante capital humano de Bogotá, en los que dominan las plataformas de software corporativo más relevantes como SAP, ORACLE, Microsoft, o IBM.

Software que se desarrolla en Medillín y área metropolitana

Se desarrollan soluciones innovadoras para el sector energético en paralelo con el clúster TIC, el distrito de Medellínnovación y la Ruta N. La industria energética es la principal apuesta regional para la industria de software y servicios de TI dada la existencia de empresas energéticas en dicha zona.

Software que se desarrolla en Cali y área metropolitana

Se desarrolla principalmente software y servicios de TI para la industria agro-empresarial. Es la mayor apuesta en la región dados los esfuerzos cooperativos que se expanden a través de ambas industrias.

En la zona hay muchas empresas especializadas en grandes datos (big data), servicios de TI e infraestructura, especialmente en el ámbito logístico dirigido al puerto de Buenaventura, que es el principal puerto de Colombia, y que conecta al país con más del 20 mercados de todo el mundo.

Además, la región fomenta la colaboración con 11 centros de investigación, desarrollo e innovación para dar respuesta en forma de soluciones de software a las necesidades del sector.

Software que se desarrolla en Barranquilla y área metropolitana

En esta zona se viene desarrollando software de gestión para importantes proyectos de infraestructura en Colombia ubicados en la región como la Ruta del Sol, la rehabilitación del río Magdalena y el corredor ferroviario.

Además, se ofrecen servicios de TI y software para la industria de la logística y el transporte. Es el mayor proyecto regional ya que el Departamento del Atlántico está situado en un lugar clave a nivel estratégico. Esto ha permitido la construcción de una plataforma de servicios que permite el acceso a más de 1.300 millones de consumidores de todo el mundo.

En la región de Baranquilla, utilizando la experiencia de unos 5.000 ingenieros informáticos especializados en diversas áreas, se desarrollar software prinipalmente en Java y Oracle para la gestión documental, el diseño y la creación de aplicaciones móviles, soporte técnico y contenido en 3D.

Software que se desarrolla en el Tríangulo del Café

Es una zona conformada por tres departamentos: Caldas, Quindío y Risaralda, interconectados por carreteras en muy buen estado y separados por cortas distancias.

Al igual que en muchas zonas de Cali, se desarrolla software para la industria agro-empresarial. La región cuenta con el primer centro para el análisis de información biológica en América Latina que ayudará a crear sistemas de información agrícola y mejoras bio-tecnológicas.

Tipología de las empresas de desarrollo de software en Colombia

En el último “Informe de caracterización de la industria de Software y Tecnologías de la Información”, se desprende que las empresas de software que componen el tejido industrial de la programación en Colombia son en un 49% pequeñas empresas según su cifra de ventas y que el 63% cuenta con menos de 10 empleados, pero que tienen un índice de contratación de alta calidad, en el que el 75% de los contratos son a término indefinido y que solo el 16% son por obra y servicio.

Para el informe se hizo un análisis regional: Región Norte  (Barranquilla y Cartagena); Región Centro (Bogotá, Medellín, Manizales y Pereira); Región Oriente  (Bucaramanga); Región Occidente (Cali); donde se seleccionaron 163 empresas para la muestra.

Las principales actividades económicas a las que van dirigidos los bienes y servicios producidos por las empresas del sector; el 40,9% de las empresas encuestadas desarrollan productos y servicios para actividades de información y comunicación, el 10,4% a actividades financieras y de seguros, el 8,3% actividades de servicios administrativos y de apoyo y el 7,8%  a  actividades  profesionales, científicas  y  técnicas; cabe anotar que apenas el 2,8% van dirigidos a actividades relacionadas con la educación.

Según varios informes centrados en Latinoamérica, Colombia cuenta con las mejores empresas de desarrollo de software de la región.

Colombia y Velneo

Desde Velneo en los últimos años percibimos ese crecimiento de la industria del software de gestión empresarial en Colombia y contamos cada vez con más clientes de ese país. Esperamos seguir creciendo junto con la industria en Colombia en los venideros, ofreciendo la mejor plataforma de desarrollo de aplicaciones de gestión empresarial en español, multi-plataforma, multi-dispositivo y que permite el desarrollo y el despliegue tanto en cloud como en local.

¿Aún no nos conoces? Pruéba Velneo.

Este artículo El desarrollo de software de gestión en Colombia en 2019 es original de Velneo.

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.