Publicado hace 5 años por --216577-- a medium.freecodecamp.org

Estoy sentado en un café en el corazón de Madrid, tomando una taza de café, tocando mi portátil mientras llueve fuera. En unos pocos momentos será primer día como desarrollador de aplicaciones para usuario. Hace 10 meses fui profesor de inglés en Granada y no sabía nada de programación, y ahora estoy aquí. ¿Cómo ocurrió?

Comentarios

D

Habláis de programadores como si fueran gurús conocedores de arcanos inexpugnables para el vulgo con su menguada inteligencia.
En los 70 tampoco contratarían a un fontanero recién aprendido. A ver cuándo se os mete en la puta cabeza que sois currelas al mismo nivel por muy modernukis que os sonéis.

D

#7 No creo que eso sea cierto, todos mis compañeros y conocidos que nos dedicamos a esto rondamos los 40000 al año.

D

#7 #9 Tiene toda la razón. Hoy en día los desarrolladores tenemos las mejores condiciones laborales que se pueden tener.

Por supuesto, estoy generalizando. Si alguien se metió a hacer y mantener páginas cutres en un negocio pequeño, y como se siente cómodo se queda allí diez años, no habrá adquirido la experiencia ni la capacidad suficiente como para que se lo rifen en el mercado laboral.

Una curiosidad sobre los "recruiters". Van tan a saco, desesperados, buscando gente que mi mujer les dijo una vez que le gustaba el puesto de trabajo pero estaba embarazada y su respuesta fue "bueno, si cambias de opinión háznoslo saber" Ellos van a copiar-pegar emails a destajo porque faltan programadores a miles.

M

#2 ¿quien, sino una cárnica, lo cogería?

D

#2 las carnicas te dan un empleo estable,que una persona sin estudios no tendria,eso si si caes en un proyecto de padefos vas a palmar como un cabron.

D

#1 Hoy en día es el mejor lugar para un novato. Van a pasar un par de años aprendiendo el oficio mientras gente más experimentada cuida de ellos.

Hay que ser sinceros, solo las empresas que puedan permitirse a gente vigilando a otros y con tareas relativamente repetitivas pueden permitirse el coste de un novato.

D

#16 Cierto es,lo malo es que cuando sales te das cuenta de que has aprendido un montón de malos hábitos,y que no sabes nada(de nuevo).

D

#23 No creo, cuando sale es una persona que tiene experiencia buscando soluciones a los problemas que se encontraba.

Cuando he trabajado con recién graduados eso ha sido precisamente lo que más me ha llamado la atención. No que no supieran hacer algo, yo hago cada día cosas que el día anterior ni sabía que existían, y llevo muchos años en esto, es por la capacidad de encontrar salidas a los problemas que te encuentras.

Una persona con un año en una cárnica ya se olerá donde puede haber un problema, por donde rascar. Un recién graduado está completamente perdido, por lo que a él respecta el problema puede estar tanto en un bucle como en una opción de compilación de proyecto o en el mismo ordenador (y se soluciona reiniciándolo).

D

#28 desde luego,no te quito razón,pero que lo que aprendes en una cárnica,no te sirve para demasiado,aprendes mucho,pero si te quedas mas de 1-2 años estas perdiendo el tiempo.

D

¿Y se alegra de ello? Pues si quiere trabajar se va a hartar, 12 horas diarias, jefes chillando por todo, mal ambiente, malos salarios, en fin, bienvenido al puto infierno.

D

Se llama baja calidad del software, donde cualquiera puede ponerse a programar sin haber pasado unas mínimas pruebas por la universidad que te capaciten correctamente. O eso o que de desarrollador va a tener poco y va a ser un simple picateclas, como algunos que habia en mi empresa que venian de otros mundos, y a nada que rascabas un poco salian a relucir sus carencias. Pero claro, pagar 20000 en vez de 40000 es muy goloso.

D

#8 Y al final resulta que ni programa ni nada, que lo que hace son cuatro páginas webs chungas.

D

#8 yo he visto ingenieros/graduados que no sirven ni para oir llover,no es gente del mundillo o no,es gente que vale y tiene ganas de hacer algo o gente que es una seta.

D

#12 Es que no todos los ingenieros o graduados han de ser desarrolladores, esa carrera es para mucho más, y ese es el problema, que solo se les ve como meros desarrolladores.

D

#13 los he visto,malos de analistas técnicos/funcionales y malos jefes de proyecto,no es solo que no sepan programar,es que los hay que no saben nada.

D

#21 joder, pero como en todo, pero por norma general alguien que se haya sacado informática es más capaz que alguien que no lo sea. También hay músicos excepcionales que no pasaron por el conservatorio, pero hablamos de generalidades. Y cualquier desarrollador hecho a sí mismo puede ser buen programador, pero cojea mucho de informática en general.

s

#12 Yo aún recuerdo la cara de alucine de tres pseudo programadores, con bastante experiencia, a los que trataba de enseñar PHP, cuando para ilustar un modelo de base de datos pinte un triste diagrama entidad relacion en una pizarra.
¿Y eso, que es?....
Me costo un buen rato, entender que no tenian ni idea para que servia ese diagrama.

D

#14 lo mejor es cuando llega alguien joven que ha aprendido en un fp o viendo vídeos de YouTube, diciendo que los de la universidad no saben nada, y entonces alguien les dice que deben utilizar UDP o se les da un diagrama de clases...

D

#15 yo en su día,me saque un FP de informática,y luego la carrera,y UML hacia,tampoco fui a ningún sitio excelente a estudiar la FP eh...que igualmente habiendo visto el modelo entidad relación,que lo vi hasta en el FP de grado medio,ya te basta para que cuando veas un UML no te acojones.

D

#22 pues a mí me sorprendió cuando varios llegaron hablando de frameworks de no sé qué, que si el framework de no sé cuánto es mejor que no sé qué mierda, que si PHP es lo mejor que hay, que los que programan en otros lenguajes son ineptos y que ellos eran menores que cualquier ingeniero y cuando se les dijo que tenían que enviar paquetes UDP en lugar de TCP, algunos dijeron que era eso... Imagina la cara de los que llevaban el proyecto, además por necesidades del proyecto, se les dijo que necesitábamos optimizar el código, y que no íbamos a utilizar un framework que ellos eran "expertos", les faltó llamarlo troglodita, y por último, tuve que hacer una revisión de código de uno de esos "Zuckerberg" y cuando veo en el código ese if(true), que se hizo famoso en toda la oficina, casi me dan ganas de llorar... Pues bien, esos dioses de la informática, que nos iban a machacar a los ingenieros que llevábamos una década o más en proyectos de software (uno nos dijo que éramos dinosaurios), fueron uno de los retrasos más grandes del proyecto, se suponen que tenían 3 años de experiencia, y acabamos "los dinosaurios" completando el proyecto en la mitad que ellos habían dicho que lo harian. Por supuesto fueron echados.

Yo cuando me llega uno de esos Dioses tecnológicos, conocedores de todos los frameworks del mundo, lo primero que le digo, es que se vayan a Google o Facebook, que allí los necesitan más, que nosotros necesitamos trabajadores de verdad, y no Rockstars...

D

#8 La universidad no sirve absolutamente para nada Cualquier programador, haya aprendido como haya aprendido, que se lea clean Code, refactoring o design pattern by example (por ejemplo) y lo adopte ya tiene mucha más sabiduría que casi cualquier profesor

Como todo el mundo conozco programadores mejores y peores. Pero programadores "putos amos", gente de verdad brillante, no pasaron por la universidad porque estaban ocupados programando

D

#18 Es tu opinión que dista mucho de la realidad...., puede que para algunas empresas les valga un programador raso (para hacer ventanas y web), pero hay empresas que no necesitan programadores, necesitan informáticos. Que manejen bien RDBMS, manejo de autómatas, programaciones paralelas, en tiempo real, microcontroladores, y donde en algunos casos los sistemas que se controlan vía software están dedicados a tareas complejas donde tener a alguien que ha sido capaz de sacarse una ingenieria(aunque no sea de su campo) ya ofrece una garantía de sus capacidades. De ahí que en muchas oficinas donde he trabajado y trabajo no hay FPs de informática siquiera, solo informáticos de carrera, telecos o físicos y matemáticos.
Donde hay mucha tarea de análisis y de ingeniería inversa, y donde desarrollar es el último e incluso más pequeño paso, el trabajo gordo se ha hecho antes y donde además se les suele dejar exclusivamente a los informáticos la tarea final del desarrollo. Muchos desarrollos llevan infinidad de documentación técnica previa que realizar, visar, modificar y plasmar luego en el desarrollo, y eso por leerte el clean code o design patterns no vas a aprender ni te lo van a confiar.

apetor

#18 No son cosas excluyentes...

D

#18 entonces quieres decir que tú te sentirías más seguro si un albañil sin ningún tipo de formación de arquitectura, construyera un rascacielos el solo o con varios como el, no?
Un albañil que haya visto varios vídeos de YouTube, y no haya ido a la universidad porque estuviera ocupado poniendo ladrillos.

D

#25 no hombre, supongo que él se refiere solo a si ha leído “skyscraper for dummies”...

D

#25 No sé si la falacia es a propósito o no entiendes que estás comparando cosas incomparables.

D

#29 "La universidad no sirve absolutamente para nada Cualquier programador, haya aprendido como haya aprendido, que se lea clean Code, refactoring o design pattern by example (por ejemplo) y lo adopte ya tiene mucha más sabiduría que casi cualquier profesor" has dicho esto... y yo te digo que para hacer cualquier cosa, hay que tener unos conocimientos mínimos, que los de FP salen todos diciendo que la universidad no hace falta, y yo te digo, que cuando me encuentro con gente de FP hay que dárselo todo, porque no tienen idea de arquitecturas, ni de conocimientos básicos, son lo que son, programadores [lo equivalente a albañiles], luego no puedes decir que leyendo clean code o design pattern ya tienes todo solucionado, porque no es así.

D

#c-30" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/3033513/order/30">#30 Yo he salido de universidad. Sin mucha dificultad pasé por todas las asignaturas a buen ritmo, pero me quedé con la impresión de que no había aprendido nada.

Bueno, sí, el funcionamiento del mipsr2000 y lo que es una puerta lógica. Y SQL básico.

Me cogí un libraco de C# y ahí, haciendo los ejercicios, fue cuando encontré el sentido a cosas tan básicas como el polimorfismo.

No, para terminar la universidad no hace falta aprender ni conocer nada de estructuras. Puedes coger cuatro conceptos absurdos para pasar el examen y eliminarlos justo después.

La única forma de aprender es mediante la práctica, y esto se consigue en tu casa o en un trabajo.

D

#31 Es verdad, sales de la carrera sin saber nada.
A propósito:
- ¿sabes la diferencia entre UDP y TCP?
-Si te dicen que ejecutes una thread o una hebra, ¿sabes para que es y cuando utilizarlo?
-Si te dicen que si es mejor una BD distribuida o una centralizada ¿sabes cuales son los pros y los contras?
-¿Sabes que es O(n) y que si te dan un algoritmo con diferentes optimizaciones, ¿sabrías escoger la mejor?
-¿Sabes que es un hash?
-¿Podrías decirme en qué se diferencian una arquitectura centralizada y otra distribuida, cuales son sus pros y sus contras?
-Imagina que te dicen que el servidor en el que va a trabajar un algoritmo tiene un máximo de computación, y que si se pasa, se corta la computación. ¿Podrías hacerme el cálculo de picos de computación máximo de un algoritmo?
-¿Podrías hacerme un cálculo de una mediana de una serie temporal, y cuando deberías de utilizarlo?

La mayoría de estas preguntas, son necesarias a la hora de realizar un proyecto y poder ofrecer una solución adecuada, de hecho algunas eran preguntadas de forma indirecta en los requisitos, y varios de nosotros, decidimos hacer estas preguntas a los "dioses" de la tecnología [esos que decían que en la universidad no se aprende nada]... adivina cuantas nos contestaron, y mira que son preguntas que hacían en asignaturas de 2º de la universidad, y fíjate que no son de diagramas de clases, UML, ni nada de esto, sino una pregunta que debería contestar un programador normal.

D

#32 Pones preguntas de todo tipo.

Útiles según el tipo tipo de proyecto o según las tareas del desarrollador, en otras inútiles. En alguna la respuesta correcta dista de la respuesta académica.

Pero todas se aprenden cuando son necesarias en tu proyecto o trabajo. Como se aprende todo en el día a día.

No creo que salga nadie de la universidad pudiendo responder a tres o más.

D

#33 Yo en segundo te respondía a la mayoría, las recogí de mis apuntes de la universidad. Y esta gente que se supone eran mejor que los que llevábamos más de diez años [o eso decían], no supieron contestar a nada.

D

#34 Como ya he comentado antes, son preguntas con poco uso.

En el instituto sabía todas las capitales de los países africanos. Ahora no me las sé pero las sabría si trabajara en un puesto en el que necesitara ese conocimiento.

Si programas directamente sobre placas en C, supongo que la cuestión del rendimiento será importante. Pero no lo es en el 99'9% de los puestos de programador que existen hoy en día.

Y si programas sobre placas en C con la experiencia no solo sabes eso, sino muchísimo más.

Fíjate en el absurdo, has puesto una ristra de preguntas. Yo no pondría ni una sola de ellas en un proceso de selección de personal. Ninguna me sirve para medir la capacidad de un programador. Antes de montar mi empresa de software, tampoco me la preguntaron a mí.

D

#36 ¿consideras que no es necesario saber cual es la diferencia entre UDP y TCP por ejemplo?
¿consideras que no es necesario saber cual es la diferencia entre una arquitectura distribuida y otra centralizada?
¿consideras que no es necesario optimizar los algoritmos? Te voy a poner un ejemplo, imagina que tienes que programar el problema del viajante con millones de registros, la diferencia de optimizar el código o no, es que sin optimizar podría tardar años.
Un programador bueno, es el que sabe escribir código con conocimiento de la arquitectura, conociendo cómo funcionan los procesos básicos, y no que poniendo una variable a "true" el framework que utilizas te va a permitir cargar datos desde un json alojado en la raiz...

En fin, no defiendo la universidad, pero tampoco puedo permitir que se desprecie a toda la gente que ha ido a la universidad y sobre todo a la profesión de ingeniería informática. Los titulares como estos, solo devalúan la profesión haciendo pensar a la gente que viendo un tutorial en youtube ya son mejores que todos los ingenieros que se pongan delante.

D

#37 Otra vez

Es importante solo si necesitas saberlo. Un frontender no necesita saber de costes de algoritmo. Casi nadie lo necesita.

Un backender no necesita saber la diferencia entre tcp y udp.

Igual que un comercial de una internacional africana sí que necesita saber las ciudades y capitales del continente.

Por otro lado, la definición que haces de un buen programador es errónea. Un buen programador es el que hace código limpio, reusable y mantenible y además entiende cuando hay que hacer ñapas y sacrificar el código limpio por el bien del producto.

Es curioso que de todas las preguntas que pones ninguna sea sobre buenas prácticas de programación. Algo que sí que es genérico a todos los programadores, de vital importancia, y que separa a los buenos y a los no tan buenos.


Por cierto, encontrarás de todo en la fp y de todo en la universidad porque es irrelevante. Lo importante es lo que aprendan por su cuenta porque ninguno de estos vehículos de aprendizaje son diferenciales.

D

#36 Aunque ahora que lo pienso, anda que no tengo clientes que me han dado software hecho por unos de FP que no saben como sacarlo adelante...

M

Pobre.