Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros temas > La Taberna
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-07-2019
soyeduardo soyeduardo is offline
Miembro
 
Registrado: jul 2019
Posts: 42
Poder: 0
soyeduardo Va por buen camino
Wink Como puedo distinguirme de otros programadores?

Hola a todos.

Me presento, soy un programador igual que tu(olvidemonos de titulos y seniorities), he estado en este mundillo laboral por 15+ años con un monton de clientes en partes varias del planeta, basicamente un geek que ama su trabajo, a lo largo de esta larga jornada he aprendido algunas cosas, y bueno, por azares del destino, actualmente me encargo de entrevistar y filtrar candidatos para la empresa que trabajo, y me di cuenta que varios de ellos padecen de los mismos sintomas que yo padecia otrora, por lo cual me gustaria hoy expresar estos pensamientos y compartirlos contigo, tomalos o dejalos, depende de ti, lo que sigue viene meramente de mi experiencia y observaciones en esta carrera:

- Dejemos el ego: Si algo compartimos todos los ingenieros en tecnologia es un ego tan grande como un templo, aprende a recibir un no, a recibir criticas, a escuchar, creeme, aunque no siempre son los mejores consejos, muchas veces si que aprendes algo y te pueden abrir los ojos cuando menos lo esperes; Yo lo entiendo, si alguien critica nuestro codigo, es como si alguien te gritara en la cara "Joder, que horrible es tu hijo, dios!!!", pero no lo tomemos como algo personal.

- Se honesto al venderte: Me he topado con muchos candidatos que manejan basicamente todas las tecnologias, en sus curriculums puedes ver cosas como "manejo de bases de datos, administracion de proyectos, trabajo en la nube, sistemas de integracion y pipelines, mobile, UI, backend, etc..." pero cuando llega el momento de la verdad(la entrevista) te das cuenta que no es asi, como lo notas? Bueno, eh aqui un ejemplo:

- "Sistemas de integracion, pruebas y despliegues automaticos en la nube"
- Ok, como configuraste el sistema de integracion
- Bueno, usamos jenkins y otras cosas
- Otras cosas?
- Si bueno, hay scripts que corren en Jenkins y hacen los tests y suben todo a una instancia de Amazon (AWS)
- Pero tu configuraste algo de esto o sabes como funciona?
- No, cuando llegue todo esto ya estaba configurado
- Entonces tu solo haces commit de tu codigo y el sistema hace el resto
- Si

Esto significa que no tienes idea ni de conceptos de tecnologia en la nube ni de sistemas de integracion, recuerda esto "usar algo no es lo mismo que tenre conocimiento del mismo"

- Aprende las bases: Todo el mundo puede programar, todo el mundo entiende como crear una variable, como hacer un loop y tomar desiciones usando IFs, eso no te hace un programador, aun si tienes 20 años haciendolo, no importa si puedes hacer lo mismo en 10 lenguajes de programacion distintos, necesitas las bases para entender a profundidad como funcionan las cosas, he aqui algunos ejemplos:

Ejemplo #1

- Entonces eres programador Java
- Asi es, desde hace 3 años, me considero de nivel avanzado
- Ok, tengo aqui una web-app escrita en java y con maven, podrias importarla y trabajar en un ejemplo que te mostrare a continuacion?
- No, yo programo en NetBeans
- Pero NetBeans es un ambiente de desarrollo integrado(IDE), no una tecnologia o un lenguaje
- Si pero es que es lo que usabamos en la empresa anterior y todo el mundo lo usa

Ejemplo #2

- Veo que usas Spring en tus proyectos, porque?
- Porque es simple para desarrollar
- Ya veo, en que es mas simple?
- Para desarrollar
- Mmm, me podrias dar un ejemplo?
- Bueno, para inyectar dependencias
- Pero tambien Java nativo puede hacer eso, entonces, porque usar spring?
- Porque es mas facil

Ejemplo #3

- En mi actual trabajo estamos migrando las aplicaciones a restful y microservicios
- Y porque?
- Porque es mas simple
- En que sentido?
- Pues descomopones un proyecto en proyectos pequeños
- Ya veo, y porque REST y no SOAP?
- Porque es mas simple, y es mas facil leer un archivo en formato JSON o YAML
- Alguna otra razon?
- No, creo que el hacerlo simple fue el motivo

Ejemplo #4
(En la empresa que trabajaba)
- Oye, porque no hay unit test para las clases de este proyecto?
- Es que no eran necesarias, ahora las hacemos porque la herramienta automatizada lo exije para que podamos deployar, es una molestia
Sobra decir que los tests eran malisimos y existian unicamente por temas de compliance, hoy en dia muchas empresas y personas siguen pensando de esta forma.

Todos estos son ejemplos de personas que trabajan en lo que se les asigna sin hacer preguntas o cuestionarse el porque de las cosas, se conformaron con respuestas como "ah porque es mas sencillo", el consejo que me hubiese gustado recibir cuando comenzaba y que hoy dia te ofrezco es: no aprendas lenguajes de programacion, aprende las bases de el diseño, como funcionan y porque, una vez que tengas estos conocimientos, no importa el lenguaje que utilices, te daras cuenta que estos conceptos aplican de forma universal, la unica diferencia escencial sera la sintaxis, usa lecturas basicas al respecto, "the mythical man month" es una de las lecturas escenciales que te puedo recomendar al respecto, aplica lo que ahi dice, veras como facilita tu vida, busca alguna certificacion como la de Java programmer, te ayudan con conceptos base, has ejercicios de codigo(no importa el lenguaje), hay paginas como hackerRank que ofrecen este tipo de ejercicios, son mas relacionados a algoritmos y optimizar soluciones, creeme, para ascender en tu carrera esto es vital, cualquiera puede codificar un loop y crear objetos, hacerlo eficiente, y rapido no cualquiera.

- Cuando aprendas las bases, aplicalas: Algo que me ocurria mucho era que leia cosas como "los principios SOLID" y en mi mente era "wow, suena bien, tiene sentido", pero jamas lo aplicaba, por alguna razon conservaba las cosas separadas, asistia a cursos de diseño artesanal y me di cuenta que lo mismo ocurria con mis compañeros, siempre nos quejabamos con el profesor con diferentes preguntas pero siempre referidas a un tema "lo que dices suena genial pero no se puede aplicar a la realidad", honestamente lo creia de corazon, que equivocado estaba.

- No hagas tests para tu codigo: Esto deberia ser una ley, no tienes que hacer tests para tu codigo, el test debe existir antes y ser el que te indique lo que debes codificar. Muchas veces cuando entrevisto candidatos y hacemos una prueba de codigo noto un detalle importante, todos quieren codificar al instante sin tener un pensamiento especifico de como resolver el tema, en nuestras cabezas pensamos "conforme lo voy codificando voy decidiendo como resolverlo", si empiezas a practicar haciendo tests antes de codificar la solucion comenzaras a corregir este instintivo defecto(te recomiendo leer y comenzar a aplicar "TDD").

- No te apegues a un lenguaje y te vuelvas devoto del mismo: "Yo soy programador iOS y no hay nada mejor que swift", enfocate en aprender conceptos que aplicaras a cualquier lenguaje(programacion orientada a objetos/eventos, patrones de diseño[lo mas escencial y bello que puedes conocer], expresiones regulares, buenas practicas, normalizacion(Bases de Datos), TDD).

- Aprende a mano limpia: Como programador java, he visto muchos candidatos que si les quitas la herramienta(Eclipse, IntelliJ, etc) no tienen ni idea de como compilar o ejecutar una clase/aplicacion, o de como funciona, incluso conozco personas que si les quitas la herramienta grafica, no tienen ni idea de como funciona GIT, sin embargo, lo utilizan cada dia. Antes de usar frameworks y herramientas que te simplifiquen el trabajo, aprende que es lo que estan simplificando.

En fin, solo senti que tenia que decirlo, me hubiera gustado escuchar esto(y entenderlo a plenitud) cuando era joven, por ello que lo comparto hoy dia, jeje, bien dicen "La juventud es una enfermedad que se cura con el tiempo".

Última edición por soyeduardo fecha: 19-07-2019 a las 18:12:50.
Responder Con Cita
  #2  
Antiguo 20-07-2019
Javierus Javierus is offline
Miembro
 
Registrado: jun 2017
Posts: 88
Poder: 7
Javierus Va por buen camino
Thumbs down

ALERTA DE TROLL

¿Qué objeto tienen tus posts y tu presencia aquí?
La única palabra que tiene sentido es TROLL
¿Un post de monitores gaming en este foro? Y un mal post, por cierto
¿Luego otro post dando lecciones, porque ya llevas 15 años como programador? Muchos aquí llevamos 30
¿Y además hablando de Java?
Por cierto, ese post se contradice en varios puntos con el otro en que ofertas un trabajo
Responder Con Cita
  #3  
Antiguo 20-07-2019
tsk tsk is offline
Miembro
 
Registrado: dic 2017
Posts: 52
Poder: 7
tsk Va por buen camino
Si hay ciertas contradicciones y falacias, desde le primer ejemplo, ya que podrás distinguir en que les falta enteder/comprender más a fondo, pero no puedes negar que no los halla usado de forma cotidiana, y los términos usar y tener conocimiento los estás aplicando de una forma errónea, desde ahí ya comenzamos mal.

Yo puedo tener conocimiento de que existe, por ejemplo, Jenkis, Travis, etc., pero nunca los he usado. Por lo menos el personaje de tu entrevista ya uso jenkis y otras cosas en el mundo real, lo cual le da una ventaja, ya que no comienza de cero, si es que el trabajo lo demanda.

Pretendes calificarlo en base a que tanto conoce las herramienta que está usando y que tanto las puede comprender, crear o modificar, cuando probablemente en el trabajo anterior no fue algo requerido. Pero, aun así ,no puedes negar que no ha usado las herramientas que ha puesto que maneja en su CV y obvias el hecho de la capacidad que tiene para llegar a aprender esos conceptos y crear herramientas en el trabajo cuando la situación lo demande. Que no lo hallas hecho antes no implica que se sea incapaz de realizarlo.

Pero ya lo calificaste como incompetente y que no tiene idea alguna de conceptos de tecnología en la nube y ni de sistemas de integración.

#1 Te contradices, en que dices que lo de lo más importante son las bases y los conceptos de programación que las herramientas que usas, y lo descalificas por usar Netbeans, en lugar de explicarle maven y los posibles que podría obtener al usarlo en lugar de Netbeans.

#2 y #3 A veces la respuesta más simple es la correcta

"Porque es mas sencillo"
"Porque es más fácil"

Y la interpretación de lo que es sencillo y fácil puede ser, y por lo general lo es, algo meramente subjetivo, por eso hay tantas librerías, tantos frameworks y tantos lenguajes de programación. Lo que para ti puede ser sencillo, para mi no lo puede ser, y viceversa. Eres programador no Evangelista para traer contigo una biblia extendida del porque es más sencillo a nivel filosófico, con la posibilidad de que si tu eres fan de otro Dios, intentes refutar lo que para mí es verdadero.

¿No has considerado que se puede poner nervios(a/o) en las entrevistas?
Responder Con Cita
  #4  
Antiguo 22-07-2019
Avatar de juanelo
juanelo juanelo is offline
Miembro
 
Registrado: sep 2007
Posts: 1.082
Poder: 18
juanelo Va por buen camino
Cita:
Empezado por Javierus Ver Mensaje
ALERTA DE TROLL

¿Qué objeto tienen tus posts y tu presencia aquí?
Pues no veo por ningun lado la mala intencion de soyeduardo, sino todo lo contrario.

Considero muy valiosa la aportacion de gente que tiene experiencia y desea compartirla.
Javierus sino te parecen sus comentarios es totalmente valido, con indicarlo y ofrecer tus puntos de vista es mas que suficiente, y enriquecedor.

El amigo tsk pudo dicernir con total respeto.
Saludos
__________________
Ya tengo Firma!
Responder Con Cita
  #5  
Antiguo 22-07-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por juanelo Ver Mensaje
Pues no veo por ningun lado la mala intencion de soyeduardo, sino todo lo contrario.

Considero muy valiosa la aportacion de gente que tiene experiencia y desea compartirla.
Javierus sino te parecen sus comentarios es totalmente valido, con indicarlo y ofrecer tus puntos de vista es mas que suficiente, y enriquecedor.

El amigo tsk pudo dicernir con total respeto.
Saludos
Responder Con Cita
  #6  
Antiguo 22-07-2019
Avatar de ElKurgan
[ElKurgan] ElKurgan is offline
Miembro Premium
 
Registrado: nov 2005
Posts: 1.232
Poder: 20
ElKurgan Va camino a la fama
En mi pueblo hay un refrán que dice "...cada maestrillo, tiene su librillo..."

Como dice Juanelo, se puede estar de acuerdo o no, porque al final, en programación, muchas cosas son subjetivas, pero siempre es bueno el debate y no el disparate.

Saludos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Contratar programadores: Ideas o sitios como odesk.com? mamcx Debates 30 10-10-2012 01:36:45
Cómo almacenar pdf y otros GustavoCruz Firebird e Interbase 7 28-02-2011 17:02:52
¿synweb como se usa y como agregar otros highlighters''? JXJ Varios 0 20-06-2010 04:59:34
como veo la unidad c de otros pcs en la red danches0075 Redes 2 30-11-2007 00:33:18
JVCS: ¿como evaluar a los programadores? xander Varios 7 12-11-2007 11:41:28


La franja horaria es GMT +2. Ahora son las 14:58:53.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi