5 herramientas para ser mejor programador (Java, C++, Python, PHP, etc.)

Hola a todos, esta entrada va enfocada a todos los que son o desean ser programadores, desde los mas experimentados hasta los que no son tanto, asi como los programadores que conocen varios lenguajes de programacion o los que simplemente tienen el interes de desarrollar software.

Y es que ser programador no es un camino facil, te encuentras con un entorno muy cambiente que exige una continua actualizacion de conocimientos y saberse adaptar a las exisgencias de este mundo, donde cada vez pide hacer mas con menos.

Un ejemplo de la adaptacion que debe tener un programador se ve hoy en dia y que ya tiene tiempo esta tendencia es el saber desarrollar en por lo menos en una plataforma movil ya que todo en un futuro va hacia ese ecosistema, empalancado mas el desarrollo y el esfuerzo que realiza un programador ayudandolo en llevar su aplicacion al usuario final atravez de los markets que existen en cada ecosistema movil.

Y quien se quedo haciendo programas en Java Swing tiene una gran desventaja contra alguien quien sabe desarrollar en iOS, Android o Blackberry y por que creo esto; es sencillo por que asi lo esta pidiendo el mercado donde hay mas personas con celular que con una computadora.

Bajo esa vision de que un programador debe de actualizarse y adaptarse les propongo 5 herramientas que he encontrado para ser mejor programador:



1.- IDE (Netbeans)

 
 Me parece que es muy simple que recomiende usar este tipo herramientas por que ya se da por sentado que cuando quieres desarrollar debes usar algun programa de estos tambien llamados IDE's pero es que es indiscutible que ayudan muchisimo al momento de programar. Y cuando sabes usar la mayoria de sus capacidades de un IDE como Shorcuts, Refactors y Debugers seras un mejor programador.

En mi opinion el mejor IDE que existe para desarrollar en Java es NetBeans el cual es un entorno de desarrollo integrado Open Source hecho principalmente para Java en el cual hay un número importante de módulos para extender sus capacidades tanto en Java como para otros lenguajes. 


2.- Herramientas para Documentar (JavaDoc)

 
 Ser un programador es un trabajo en equipo, nunca trabajaras solo y si lo haces tu sistema no llegara muy lejos, vamos a poner un ejemplo para explicar mejor esto; el kernel de linux, tiene 12 millones de lineas de codigo con un crecimiento de 7000 líneas por día proporcionado por colaboradores de empresas como Red Hat, Novel o IBM y de muchos colaboradores independientes.


Siempre hay que documentar lo que uno va programando casi como 1x1 una linea de codigo por una liena de comentario y si usas herramientas de generación de documentación sera mucho mejor para quien tenga que entender lo que programaste (aveces sera otra persona y aveces seras tu).


Yo uso Javadoc la cual es una utilidad que nos proporciona Java para la generación de documentación de APIs en formato HTML a partir de código fuente Java. Javadoc es el estándar de la industria para documentar clases de Java. La mayoría de los IDEs los generan automáticamente.

Javadoc también proporciona una API para crear doclets y taglets, que le permite analizar la estructura de una aplicación Java. Así es como JDiff puede generar informes de lo que ha cambiado entre dos versiones de una API.



3.- Repositorio (Google Code)

¿Que es un Repositorio? Un repositorio, depósito o archivo es un sitio centralizado donde se almacena y mantiene información digital, habitualmente bases de datos o archivos informáticos, llevando asi un orden de versiones que se van realizando durante el proceso de desarrollo de un sistema.

Quien hace un sistema sin un repositorio hoy en dia es verdaderamente una irresponsabilidad, podria compararse como manejar un auto sin cinturon de seguridad lo puedes hacer pero cuando ocurre un accidente las consecuencia son fatales.

Hay muchos repositorios en internet con caracteristicas geniales como GitHub, Sourceforge o GoogleCode proporcionando un repositorio gratis para el desarrollo de programas OpenSource. A mi me gusta mucho usar GoogleCode por todas las caracteristicas que integra.



4.- Pomodoro (Tomighty)

La Técnica Pomodoro es un método para la administración efectiva del tiempo en la cual se usa un reloj para dividir el tiempo dedicado a un trabajo en intervalos de 25 minutos llamados 'pomodoros' separados por pausas.


Lo bueno de esta técnica es que puedes empezar a practicarla hoy mismo, ahora. Apenas hay curva de aprendizaje y necesitas muy poco para ponerla en marcha.

1.- Elegir la tarea con la que te vas a poner. Si es una tarea mediana o grande que naturalmente te va a llevar más de 25 minutos, divídela en bloques menores.

2.- Fijar el temporizador a 25 minutos y ponlo en marcha. Trabaja en esa tarea sin parar, totalmente despreocupado del reloj. Trabaja a tope durante esos pocos minutos.

3.- Una vez transcurrido el tiempo, y en cuanto suene la alarma, parar inmediatamente y descansa durante 5 minutos.

4.- Luego regresa a tus tareas y sigue trabajando en bloques de 25 minutos. Al cabo de dos horas, es decir, 4 bloques, haz un descanso más prolongado de 15 ó 20 minutos.

5.- Repite los procesos hasta finalizar tu objetivo principal.



5.- GTD (Wunderlist)


GTD (Getting Things Done) se basa en el principio de que una persona necesita borrar de su mente todas las tareas que tiene pendientes guardándolas en un lugar específico. De este modo, se libera a la mente del trabajo de recordar todo lo que hay que hacer, y se concentrar en crear y disfrutar

Me considero un gran fan de GTD, llevo un par de años aplicando el sistema en mi día a día, como programador y estudiante, puedo decir que me ayudado muchisimo este sistema para ser mas organizado y eficiente.


1. Coleccionar
  • Capturar todo en tus bandejas de entrada en wunderlist que tiene tu atención para sacarlos de tu memoria de corto tiempo.
2. Procesar
  • Procesa los ítems que has colecionado
  • Si es realizable, decide por el paso físico más próximo, ejecutarlo (si menos de 2 minutos), o delegarlo a alguien (apuntar en una lista de recordatorio de acciones). Si una acción no cerrara el bucle, tienes que identificar el compromiso como un proyecto y ponerlo en un lista de recordatorio de proyectos.
3. Organizar
  • Agrupar los resultados del procesamiento en categorías adecuadamente recuperables para revisión. Las cuatro categorías claves son:

4. Revisar
  • Revisa el calendario y listas de acciones diariamente (o cuándo es posible ejecutar alguna de ellas)
  • Lleva a cabo una revisión semanal para limpiar, actualizar, delegar, mantener y avanzar tus sistemas.
  • Revisa tus listas de largo plazo de objetivos, valores y visiones con la frecuencia requerida para mantener tus listas de proyectos completa y actual.
5. Hacer
  • Ejectua tus elecciones de acciones basado en lo que puedes hacer (contexto), cuánto tiempo tienes, cuánto energía tienes, y después por prioridad.
  • Sé flexible manteniendo un sistema de avisos de acciones “de toda tu vida”, siempre accesible para revisión, confiando en tu intuición para deciciones de momento a momento.
  • Asegura las mejores elecciones intuitivas a través de un enfoque consistente y regular a tus prioridades. (¿Qué valor tiene para mi haciendo A en vez de B?)

No ocupes tu mente en organizar, ocúpala mejor en crear y disfrutar.

4 comentarios:

Anónimo dijo...

gracias, esto necesitaba

Anónimo dijo...

muy buen post! soy estudiante de segundo semestre, actualmente estoy viendo java :)

Unknown dijo...

muchas gracias me servira mucho para mi tercer semestre :)

clod dijo...

Recomiendo añadir Codelobster

Publicar un comentario