Como sobrevivir al trabajo de desarrollador en 5 pasos*****

A, peticion de algunos en esta comunidad les comparto esta entrada, que originalmente esta en:

Este post lo voy a dirigir a todas aquellas personas, que como yo en algún momento empiezan a trabajar de desarrolladores, ya sea por su propia cuenta o alguna empresa o consultoría, y les quiero compartir los pasos para sobrevivir a este ritmo de trabajo, a la presión, pero sobre todo orientarlos sobre qué hacer cuando nos piden que utilicemos alguna herramienta que no dominamos o bien que ni siquiera conocemos, yo les voy a compartir lo que hago cuando me topo con esta situación.

1.- Investigar que es, o que hace la herramienta/tecnología que me solicitaron.
Cuando te topes con que te dicen vas a desarrollar en este IDE, o vas a utilizar tal herramienta, o simplemente te topas con alguna tecnología que no conoces, lo primero es investigar todo lo que se pueda sobre dicha tecnología/herramienta, para eso tenemos wiki pedía, google y cientos de bloggers que como este intentan ayudar al desarrollador en su andar diario.

2.- Revisar las versiones liberadas y sus compatibilidades.
Algo que me sucedía comúnmente y que es un error que la mayoría de los que empezamos a programar cometemos, es que una vez que nos informamos o indagamos sobre la herramienta que tenemos que utilizar lo que hacemos es bajar siempre las últimas versiones, y ahí está el error porque nos podemos llevar pequeñas sorpresas, una de ellas es la compatibilidad entre las versiones que tenemos instaladas y la herramienta que queremos ocupar, la recomendación aquí es revisar los issues(reportes de error, bugs) de dicha herramienta y buscar y descargar siempre una versión estable que se integre sin problemas con las demás herramientas con las que estamos desarrollando. por poner un ejemplo: no podemos correr glassfish 3.0 con JDK 1.4, porque JDK 1.4 no soporta las anotaciones requeridas por glassfish, pero también nos enteramos que un entorno amigable y estable es glassfish 2.1 con JDK 1.5 funciona perfectamente, entonces nos decidimos por usar esa combinación.

3.-Instalar la versión más idónea y estable que conviva con nuestro entorno
Ya que vimos los reportes de error y los posibles problemas a los que nos podemos encontrar con las últimas versiones, también vamos a poder indagar sobre que versiones si pueden correr y convivir amigablemente, entonces el punto aquí es instalarlas.

4.- Comenzar con el ejemplo más sencillo
Una vez que ya tenemos el concepto, ya tenemos la herramienta funcionando, lo que sigue es tomar el ejemplo más básico, y hacerlo funcionar, si hasta aquí no puedo hacer el ejemplo más sencillo (podría ser el clásico hola mundo) debo regresar al punto 1.

5.- Empezar a utilizar dicha tecnología, destrozando ejemplos ya hechos
Este es quizá el punto más importante de todos, ya que aquí lo que debemos hacer es empezar a jugar con los ejemplos que ya estén hechos, aquí debemos averiguar que pasa si hago esto, que pasa si quito aquello, y también debemos tener una idea ya clara de que es lo que queremos hacer con esta tecnología para que sin darnos cuenta ya nos encontremos trabajando con la herramienta o la tecnología solicitada.

Estos son los puntos más importantes que yo realizo cada vez que me piden algo que no domino del todo o que ni siquiera conozco, ya que cubren la mayoría de los puntos que nos pueden dar sorpresas cuando empezamos a ver algo nuevo en nuestro trabajo, concretamente en el mundo de los desarrolladores, donde, cuando apenas empiezas a familiarizarte con alguna herramienta o empiezas a dominarla, ó decepción ya hay otra nueva que hace más cosas o mejores que la que estabas aprendiendo, y es necesario volver a repetir este proceso de aprendizaje para no quedarnos obsoletos.

PD, en este adicionalmente, y concuerdo con OscarRyz, habría falta mencionar un paso "0" que textualmente dice:

"Yo añadiría, un paso 0, conocer la plataforma en la que se va a desarrollar. Esto es también muy importante, ya que sirve para conocer el resto de las librerías y frameworks que le agregan cosas."

Espero sus comentarios =)

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ale_imp

Buen Post

Bueno Pues muchas Felicidades por tu post, nos ayudara mucho a la gente que apenas comenzamos, y todo lo que dices es muy cierto. A seguir tus consejos, ya andaremos por aquí exponiendo nuestras experiencias. Gracias

Paso 0.0

Yo añadiría el paso 0.0 :
Paso 0.0: Emplear una metodología de desarrollo, ya sea de sistemas o de software. Por ejemplo DSDM, RUP, Modelo Estructurado, etc. (hay infinididad de metodologías).

También se comete el error de comenzar a estudiar un nuevo IDE o lenguaje de programación sin tomar en cuenta un procedimiento o técnicas de la Ingeniería del software, por ejemplo faltó el diseño de diagramas de flujo, diccionarios de la base de datos, etc.

Es verdad...no todos tenemos el tiempo de considerar todos puntos y lineamientos de la IE, pero en algunos casos es NECESARIO,

"Podemos hacer programas a prueba de errores, pero no a prueba de usuarios"

Cuando piden un nuevo programa o sistema, muchas veces nos olvidadmos del usuario final.

Saludos!

Imagen de pacovr

Titulo quedo muy grande

Para mi el titulo del post quedo muy grande. Un mejor titulo seria: Como sobrevivir a una nueva libreria/ide/API.

Saludos

Imagen de paranoid_android

Buen post

Agrego tips, si el desarrollo no es desde cero o me integro a un equipo que ya trabaja con algo.

  • Obtener el código fuente, si trabajamos de un repositorio CVS conectarnos a él
  • Verificar que compile y que esten todas las librerías
  • Verificar que tengamos configuradas bases de datos, archivos de configuracion, configuraciones del servidor, variables de ambiente
  • Probar que se pueda ejecutar (Este paso dependende no siempre se puede)
    • Si tenemos que volver a hacer todo esto algun día desde cero es bueno que quede en algun documento

Imagen de 043h68

El gusto por lo que haces.

Como sobrevivir al trabajo de desarrollador en 5 pasos
Como sobrevivir al trabajo de licenciado en 5 pasos
Como sobrevivir al trabajo de doctor en 5 pasos
Como sobrevivir al trabajo de veterinario en 5 pasos
Como sobrevivir al trabajo de basurero en 5 pasos

Lo mas importante es que tu profesión te guste , que tengas iniciativa de seguir aprendiendo, por que así como avanza la tecnología también cambian las enfermedades, las leyes etc. es lo que te da el extra para seguir, esta actualizado y seguir siendo bueno.

Y algo que es muy importante, pero que eh encontrado comúnmente en el mundo de la programación: cerrarte soluciones diferentes y pensar que no son mejores de las tuyas, solo por que no las has ocupado, creo que esto se complementa con el primero.

Concuerdo con pacovr, el titulo es exagerado, pero seguro a alguien le servirá.

Saludos !

Imagen de pacovr

Mis tips no de desarrollo para integrarte en un nuevo empleo

1.- Conoce a la gente, en especial a los gerentes, tu jefe y tus compañeros de trabajo
2.- Opten información y has un resumen. Habla con las personas de tu equipo y empresa sobre que hacen, que proyectos han salido bien y cuales son los principales problemas que notan.
3.- Aprende. Aprovecha tus primeros días para aprender sobre la compañía a la que te integraste, sus productos, clientes, cultura, tecnología y su organización.
4.- Flujos de trabajo. Diagrama los "workflows" principales de la empresa, equipo, etc.

Esto lo puedes hacer mientras tengas tu capa protectora de "EL NUEVO" una vez que pasen 2 o 3 semanas te veras envuelto en la rutina y será muy difícil que tengas una nueva oportunidad de aprender esos datos de tu empresa/equipo/consultoria.

Saludos
pacovr

Es lo que puedes hacer antes de meterte a la rutina de trabajo

Imagen de toga_22

Buen post

Hola, que buen tema Shadonwk lo que mencionan CARRARO, paranoid_android se me hace parte del paso uno y dos que menciona Shadonwk en esta entrada y como él mismo lo especifica, muchas de las veces no se tiene el tiempo, y por eso tratamos de ahorrar pasos. Son buenas sugerencia para personas que recientemente comienzan su andar en la vida laboral, ya que es en esta etapa en donde uno conoce la presión. Muy buen post.

Imagen de tHe pLuCkY

Buen punto

Hola Robert pues si es interesante el tema que compartes ya que debe haber muchos Desarrolladores que al igual que tu se encuentran con estos pequeños detalles, digo pequeños porque ya como Desarrolladores profesionales deben de buscar la solución al problema del cambio de herramientas o de IDE, en este punto me queda una duda yo aun no programo profesionalmente asi que te pregunto; ¿ Es basico tener de conocimiento algun IDE como parte de la especialización en la programación ? digo porque el IDE que utilizo y que la escuela nos pidio fue NetBeans, y es el que mas utilizo en mi aprendizaje,
Me gusta el aprender mas y la prueba esta en que a diario me gusta leer temas interesantes como este;
Volviendo a tu tema me parece de mucho interés para personas que como yo empezaremos en este fabuloso mundo de la programación, créeme que mis compañeros me dicen que estoy traumado con las cuestiones "java".
Ya para terminar te felicito por aportar esta clase de temas que para los nuevos Desarrolladores nos sera de vital ayuda para trabajos o proyectos futuros.......

Saludos ! ! ! !

Imagen de pacovr

Re: Es basico tener de conocimiento algun IDE

En mi opinión. Para un desarrollador el IDE de desarrollo es como la bicicleta a un Ciclista:

  1. Así como un ciclista no siempre puede usar la bici de su elección, ya sea por patrocinios o compromisos, un desarrollador no siempre puede elegir que IDE usar ya sea porque el proyecto ya inicio o porque es el IDE "oficial" de la empresa o porque estas casado con una tecnología.
  2. Por muchas opciones, menus, shortcuts, etc etc el IDE tiene solo una finalidad: EDITAR. la finalidad de la bici es solo transportar.
  3. Es básico para el programador saber editar código asi como el ciclista debe de saber andar en bici antes de cualquier otra cosa ;)
  4. Mientras mejor bicicleta(IDE) tengas mejor rendimiento tendrás.

Pero lo mas importante:

La bici sola no gana competencias, asi como el IDE solo no genera aplicaciones.

Saludos
pacovr

Imagen de Shadonwk

@plucky ai tienes la

@plucky ai tienes la respuesta, ni yo lo hubiera expuesto mejor jaja saludos

Imagen de benek

Muy buen tema Robert. El

Muy buen tema Robert.

El título del tema podría ser un poco rimbombante, sin embargo lo más importante es el contenido. Y otra cosa igual de importante es la retroalimentación que cada quien hace agregando tips en base a su experiencia. :-)

Coincido con 043h68, va muy de la mano con una frase que me gusta mucho: "Cuando algo te gusta realmente irremediablemente te harás bueno en ello".

Saludos.

Imagen de JaimeItlzc

Algo asi

Algo asi me dice mi papa @benek y dice asi: "Busca un profesión que cuando la emplees vayas con gusto a trabajar por que sabes que es lo que te gusta y lo sabes hacer bien" , me parece muy bueno el post vuelvo a repetir este tipo de post tanto ami como a otros miembros nos va servir mucho yo inicio una materia que tiene que ver mucho con este tipo de temas y realmente les agradesco que los compartan.

Saludos.

Imagen de Shadonwk

mi frase de batalla de lunes

mi frase de batalla de lunes a viernes es "Voy a hacer lo que me gusta, y ademas me pagan" que mas se puede pedir?

Imagen de ingscjoshua

Buen Aporte

PuES muchas FeliciDades por el Aporte si el nombre esta algo Faramalloso para los q ya tenemos rato en esto me incluyo pero creo q como bien señalas para alguien q EmpiEZa apEnAs esto es vital aDemas de usar el Sentido comun

Imagen de Shadonwk

oo pues el titulo es

oo pues el titulo es llamativo, como tiene que ser.. gracias a todos, y como dije antes, me gusta compartir..

Imagen de zlatan_ibrahimovic

gran aporte...

me parece un post muy bueno y los aportes tambien, tomare varios puntos en cuenta para intentar mejorar...yo añadiria uno mas que he leido en algunas ofertas de trabajo "tolerancia a la frustracion" pero mas q tolerancia a la frustracion, seria persistencia, bien dicen por ahi que si todo te sale a la primera es por q no lo hiciste tu, cuando algo no sale lo mejor es intentar hasta q salga, y no solo lograras tu objetivo, sino q en el camino aprenderas muchas cosas mas...

¿Sobrevivir?

Pues, la verdad veo aquí que muchos aplauden el "has lo que te digan". Algo triste la verdad.
Eso es lo que falta en México, gente con iniciativa que no le tengan que decir: "Usar X herramienta"...sino que sean las personas que digan al gerente: "Para X proyecto estuve buscando la mejor herramienta"...Es por ello que el desarrollo de software en México está frío frío, no somos los desarrolladores los que tenemos la iniciativa; somos los desarrolladores quienes buscamos que un gerente (que ni experto en software es) nos diga que usar.

Creo que también por eso va que mucha gente no le gusta desarrollar software, es decir, no se divierte con las herramientas que utiliza.

Por otra parte queda el lado emprendedor...existen proyectos en gobierno con créditos a la palabra en donde si tu empresa no pega, tú no pagas un peso.

Espero no ofender a nadie, pero es lo que este post me hizo ver, gente que está a expensas de lo que le digan qué hacer.

Imagen de Shadonwk

muy cierto tu punto de vista

muy cierto tu punto de vista wishmaster, la mayoría de desarolladores estamos a expensas de "alguien mas" sin embargo habremos gente que nos gusta el desarrollo, que nos apasiona nos emociona y hasta cierto punto nos excita el aprender mas y mas, no por eso quiere decir que todo eso debemos aplicarlo inmediatamente a los negocios, yo hago lo que me gusta porque me gusta y no porque necesito obtener dinero de ello, y tu dices si el desarrollo de software en México esta frio, pero eso no quiere decir que haya muy buenos talentos aquí, y esos talentos viven bien, tienen su propia empresa y lo mas importante les gusta lo que hacen,

mas bien yo veo el proceso del que te digan que hacer y que usar como un proceso de selección, habrá quienes nos quedemos con eso nada mas, habrá quienes busquemos mas, y habrá quienes necesitemos la necesidad de aprender todavía mas, pero es aquí donde esta la linea que separa a quienes pueden formar una excelente empresa de desarrollo de software, y quienes simplemente serán desarrolladores asalariados.,

yo no soy ni seré alguien que solo trabaje por el dinero y que me quede hasta lo que me dicen, tengo 24 años, y para mi edad ya conozco (gracias a Benek) muchas de las herramientas que solo las personas con talento, y edad un poco grande manejan, y no quiero decir que tengo a Benek detrás mio pero el me dio la oportunidad de estar aquí donde todo lo que aprendo si bien tengo empujoncitos la mayor parte es por mi cuenta..y ganas de aprender y querer hacerlo,

para resumir lo de "has lo que te digan" para muchos sera su meta, pero para otros sera solo un escalón mas..

Imagen de JaimeItlzc

Dar ese plus

Dar ese plus es aveces es lo que falta a algunos programadores como dices ir mas aya Aprender(Aplicarlo),Aprender(Aplicarlo) pero nunca quedarse atras como la mayoria y mira que lo que dices tiene mucha razon nadamas con tan solo iniciar con los maestros de Programacion en algunas escuelas ya como son maestros no investigan salen de su ingenieria y pum ya se estacaron dicen a ya salimos que padre pues si que padre pero siguele investigando y te lo digo por que yo tengo maestros que aveces me sacan coraje por que dan informacion en clase y no se fijan si es actual siemplemente la dan y aveces uff es super vieja.

Y si en méxico tenemos olvidado ese tipo de cuestiones ami me gustaria que hubiera aqui en mi ciudad alguna escuela de programacion por asi decirlo desde la prepa me ha gustado la programacion no la he dejado ni la dejare sigo todos los dias aprendiendo una cosa nueva por eso sigo en el foro, aveces me dicen "no te artas" pues no, me gusta y agrada mucho la programacion.

Saludos.

Tienes razón

Creeme, al salir de la carrera muchas veces no todos son realmente profesionistas. No por terminar una carrera se es profesionista (Ingeniero, Arquitecto, etc.) muchos se conforman con lo que vieron en clases. No investigan, se quedan con lo que "ya saben".

No es por molestar, pero muchos de mis compañeros ya se creen "de otro nivel" por que saben X herramienta, pero todo lo demás lo desconocen. Realmente no saben programar, incluso doctores en ingeniería no se quedan atrás

Re: Tienes razón

@Carraro
Y mucho menos aquí en México, en países europeos y quizás alguna universidad gringa...pero en México no. La gran mayoría de los programadores cuando llegan a entrevistas conmigo y les pregunto: "¿Qué ORM y repositorios de versión has utilizado o conoces?", el 90% de ellos me responde: "La verdad no tengo idea de qué me está hablando"...vieran que cómo se batalla (acá en Chihuahua) conseguir 1 programador Java (no digo bueno, sólo programador y de Java)...En las escuelas se les enseña únicamente Visual Studio y MS SQL Server, de ahí no los sacas y cuando los pones a utilizar una consola para una base de datos cómo postgres ¡¡¡¡se espantan!!!!...La verdad en las escuelas mexicanas no hay a ciencia cierta una escuela de Ciencias de la computación. Es triste ver cómo las personas tienen miedo de teclear algo en una terminal, ya ni hablar hacer una configuración de un webcontainer o del sistema del lado del servidor.

Francamente, ya las escuelas no son lo que deben ser, lugares en donde se enseñan las bases y las tendencias, ya sólo son protocolos para tener un país con menos personas ignorantes para dar "el gatazo".

Re: Dar ese plus, Re:muy cierto tu punto de vista

@JaimeItlzc
Pues yo creo que poner una escuela de programación funcionaría mientras no estuviera viciada por el sistema de profesores mexicanos, es decir, que los profesores fueran tipos locos con conocimientos bárbaros, en donde sólo 1/10 pudieran pasar por ejemplo la materia de estructura de datos (obviamente dada en C puro y con inclusión de punteros desde la primer clase). Y la cosa más importante el último punto que mencionaste: < < "No te hartas", pues no, me gusta y agrada mucho la programación > >, de entrada esto se necesita para cualquier ámbito, el gusto y el amor por tu profesión así sea vendiendo chicles.

@Shadonwk
Pues no eres muy joven, tampoco muy viejo, eres un programador que ya debería dar un buen repaso a cualquier estudiante cómo yo por ejemplo (tengo sólo 20 años =P...bueno falta un día para que tenga 20) y la verdad ya a más de un Ingeniero (soy T.S.U estudiando ingeniería) le he dado su repasito...Incluso ayudé a una maestra mía con un problema qué tenía para su tesis de la maestría. =)

Y el problema no es de talentos-no-talentos; hay gente muy talentosa con la que yo he tenido la oportunidad de trabajar. En una experiencia que tuve, había un señor de unos 35 años, egresado del Tecnológico de mi ciudad con honores. Ávido programador y excelente electrónico, con gusto por lo que hace...actualmente trabaja en una empresa desde hace 12 años, ganando un salario de $12,000.00 MXN al mes. Lo que quiero decir es que muchas veces no por tener talento e iniciativa (vaya que tiene mucha este señor) tendrás tu empresa y serás exitoso. ¿Porqué? Por el simple hecho de que en nuestra sociedad estamos acostumbrados al 'mijo usté cuando crezca tiene que entrar en una buena empresa' (refinado: "has lo que alguien más te diga mientras te pague"), luego creces y la misma sociedad te hace creer que si no trabajas (cómo empleado) nunca serás nadie en la vida (sólo porqué no te llega dinero), y tengo ahorita dos ejemplo de personas que no trabajaban, que hacían lo que les gustaba y ahorita dinero es lo que les sobra (¿Bill Gates, Steve Jobs?).

En fin, dudo que las personas "I do what you tell me" vean eso cómo un escalón (a no ser que se necesite el dinero $$$ y no sean 'I do what you tell me' reales).

Con lo que dices de los talentos, si tienes razón existen y viven bien...fuera de México, he quedado impresionado en ver la cantidad de gente mexicana en la comunidad Ruby on Rails que trabaja en otros países y que son tremendos programadores y ganan muchos billetes...Y les pregunto el porqué se fueron y todos me dicen: "En México no podía usar lo que me divertía, tenía que usar lo que me decían." ó "No sé, quería conocer otras aguas."

La verdad creo que para mí está claro, dejar de ser oyente a ser proactivo, y sobretodo, acertivos.

[¿extendido?]

Imagen de Shadonwk

@ wishmaster77 excelente

@ wishmaster77 excelente comentario, concuerdo contigo, muchas en mi caso, todos mis tios me ven muy relax, en casita, echando una chelita, un juguito y me dicen, y tu que? (trabajo fuera) de que trabajas, no trabajo les digo, hago lo que me gusta.. y que te gusta.. programar..haaa y eso que es... es lo que me permite pensar de manera diferente sin tener que preocuparme por tener un puesto en una buena empresa, se quedan pensando y me dicen pues echale ganas...

a que se debe ese comentario? pues que efectivamente la mayoria de nuestros padres (familia) nos menten la mentalidad de estudiar y trabajar como negros, para que algun dia tengamos un buen puesto en alguna empresa, y trabajar para toda la vida... en lugar de apoyarnos alentarnos y que semos buenos e incluso nos diviertamos en lo que hacemos..

Para terminar Recomiendo la lectura de "Padre Rico, Padre Pobre" de Robert Kiyosaki, del cual les dejo una liga al audiolibro, donde podremos ver la diferencia entre una educacion para ser un empleado, y una educacion para ser dueño de tu propio negocio saludos...