Plataforma de desarrolladores/programadores junior

¿Qué tengo que aprender para llegar a trabajar de X?

Cuando tengas claro que es la X busca tu roadmap aquí y empieza en ello https://roadmap.sh. No es obligatorio ni recomendable acabarlo todo antes de empezar a buscar, pero ya sabes cuales son las cosas que se te suele pedir.

¿Algún recurso para empezar?

Don_Correcto

#4560 La cuestión es que tu jefe no está valorando tu trabajo, actualiza CV y empieza a buscar algo mejor, cuánto cobras? Me sorprendería que no haya ninguna oferta que te mejore las condiciones. No todo es salario, puede que cobres lo mismo pero trabajes en un proyecto que te guste más, un stack más moderno, etc etc etc

Has cometido el mismo error que comentaba yo unos posts más arriba, si las condiciones no están escritas en el contrato ya has aprendido la lección para la próxima.

1
retsex

#4531 ¿En qué sentido es inviable? Soy de Mallorca, he hecho el CFGS de DAW y hace semana y media que empecé las FCT y el proyecto de fin de grado. Si todo va bien, antes de Navidades tendré el título.

2 respuestas
RSN

#4562 Lo has hecho presencial?

1 respuesta
laZAr0

#4562 será inviable si no hay centros públicos que lo oferten a distancia porque para hacer exámenes tendrá que irse fuera de Mallorca. Vamos, no sé sí tú lo has hecho a distancia, entonces me callo, la verdad es que no tengo ni idea.

1 respuesta
RubberDuck

Buenas a todos. Me llamo RubberDuck y estoy empezando a estudiar programación desde cero por mi cuenta. He comenzado con el curso CS50x 2024 de Harvard (edX) hace un par de semanas y voy por la semana 3. Me está costando un cojón y parte del otro entender conceptos básicos, como hacer un simple loop que ordene mediante Merge Sort una lista de valores. Ahora mismo estoy con el ejercicio plurality, donde tengo que ordenar por número de votos los candidatos (que son una struct con las variables "string name" e "int votes") de unas supuestas elecciones e imprimir el ganador (o ganadores en caso de empate). Yo creo que otras 4 o 70 horas más investigando y equivocándome y ya lo tendré resuelto...

2 1 respuesta
Vito_

#4565 Tideman es el que es una pesadilla, buena suerte, el curso merece muchísimo la pena!

1
laZAr0

Me gustaría usar una base de datos SQL local en la aplicación de Android con Kotlin que estoy planificado para el proyecto de DAM. He leído sobre SQLite + Room, ¿Es la solución conveniente o hay algunas alternativas a tener en cuenta?

1 respuesta
pantocreitor

#4567 SQLite y el como quieras acceder da un poco igual

RubberDuck

Tengo un dilema: tengo que hacer un ejercicio que necesita que ordene una lista de nombres (p. ej., Trump, Kamala, Biden, Obama, etc.) que tienen asociados unos votos (p.ej., 3, 1, 2, 3, etc.). Se trata de una struct de string name e int votes. Hasta ahí fácil. Ahora el problema es que tengo que averiguar quién es el ganador e imprimirlo y en caso de empate entre varios, imprimir los nombres de los ganadores. Evidentemente, tendré que usar algún método sort (de momento solo han "explicado" selection, bubble y merge, así que usaré uno de ellos. Digo "explicado" porque lo que explicaron es cómo lo hacía, con una diapositiva con una tabla de números que se iban ordenando, pero sin código.

Entiendo el funcionamiento de los métodos (sin código, claro, sino en la práctica), pero me cuesta horrores llegar a la manera de escribirlo en código. ¿Que me recomendaríais para ir escribiendo el código del bucle y aprender a pensar de la manera que requieren estos ejercicios? No me he puesto a mirar vídeos de cómo se escribe el código para ninguno de esos métodos porque no quiero spoilearme ni que me hagan el trabajo, así que mi pregunta es: ¿cómo debería atacar este problema cuando no sé por dónde empezar?

En lo que alguien responde, me voy a poner a escribir el pseudocódigo para ir avanzando. Me espera un domingo de arrancarme los pelos xDD

Por si alguien está haciendo el CS50x de edX, el ejercicio es Plurality: https://cs50.harvard.edu/x/2024/psets/3/plurality/

2 respuestas
Leagrove

#4569 Que empieces a utilizar Chatgpt para cosas simples y que te lo vaya desgranando poco a poco para que puedas ir avanzando a tu ritmo, si gastas los prompts tienes dos opciones o pagas una suscripción o bien te vas creando cuentas y vas resolviendo las preguntas, al principio vas a tener que perder tiempo pero con chatgpt vas a ahorrártelo si haces las preguntas concretas y le vas diciendo que te lo explique todo paso a paso desde el enfoque que no entiendes nada, es un profesor "gratuito" que para empezar esta francamente bien y aporta bastante al tema del aprendizaje desde 0, el caso es que no le digas que te haga el ejercicio sino que le cuentes el ejercico y le digas:
tengo hasta aqui claro y hasta aqui NO, mi idea es esta, voy bien? Que crees que deberia hacer? , etc....
Y lo mas importante, tienes que escribir codigo, da igual que lo hagas mal, eso si, cuando lleves 30 minutos en 3 lineas de codigo utiliza CHATGPT para que te oriente, para la programacion se necesita tiempo pero lo que se tiene que hacer tampoco es perderlo, es finito.

1 2 respuestas
RubberDuck

#4570 Cierto, si es que lo he usado ya, y te lo explica todo superbien y sin revelarte demasiado. Estoy espeso ya y estoy empezando... Gracias!

Kaledros

Que no uséis chatGPT si no tenéis el conocimiento para saber si os está mintiendo, coño, ¿estamos locos?

1 1 respuesta
RubberDuck

#4572 De momento me ha ayudado muy muy bien y me trata con mucho respeto xDD. De todas maneras, si algo da error, pues ya me lo cantará al compilar. Y estoy con lo básico, básico, no va a pasar nada grave si me hace la pirula. Ten en cuenta que responde al instante y por lo general, superbien. Es difícil mejorar esa ayuda sin pagar.

#4570Leagrove:

Y lo mas importante, tienes que escribir codigo, da igual que lo hagas mal, eso si, cuando lleves 30 minutos en 3 lineas de codigo utiliza CHATGPT para que te oriente, para la programacion se necesita tiempo pero lo que se tiene que hacer tampoco es perderlo, es finito.

Me lleva pasando ya bastante estas semanas. El otro día me metí 7 horas de reloj para hacer un problema de mierda. Poco a poco le voy cogiendo el truco y ya al menos los errores básicos de variables mal declaradas y argumentos mal pasados ya no me hacen perder tanto tiempo.

Muchas gracias por los consejos ;)

Kaledros

No entiendo por qué la gente pide consejo si luego se lo pasa por el forro, la verdad.

1 respuesta
RubberDuck

#4574 No creo que te refieras a mí, pero lo parece. He pedido consejo, una persona me ha dado uno que me parece útil y el más idóneo para mi situación actual (que además ya he usado y comprobado en mis propias carnes que me sirve) y lo he aceptado y agradecido.
Renegar de chatGPT para aprender los fundamentos de la programación (o de cualquier otra materia, que lo he usado para muchas otras cosas, incluso de algunas de las que sé demasiado y he comprobado que va bien) me parece una aversión desmedida a una herramienta que es de las mejores herramientas didácticas que hay actualmente.

1 respuesta
pantocreitor

#4575 una persona con experiencia te dice que el consejo de usar chatgpt es malo, conmigo ya serian 2.

No es aversión, es que ni las versiones nuevas a día de hoy son fiables. Si no sabes que estás haciendo y chatgpt e dice cualquier gilipollez pueden pasar así a botepronto 3 cosas:

  • que todo vaya como la seda
  • que funcione pero averigua por qué o que funcione pero no sea lo correcto
  • que no funcione

En mi experiencia te puedo decir que lo más común son la segunda y la tercera.

Y de nuevo, no es aversión, nadie con experiencia que tenga 2 dedos de frente recomendaría chatgpt para aprender, menos existiendo documentación oficial y cursos.

Ya por otro lado, tu problema ahora mismo es que te faltan bases para hacer los ejercicios que estás haciendo, por el hilo de feda/dev has preguntado también y mi impresión es esa, que estas intentado afrontar ejercicios los cuales no te alcanza el conocimiento aún. Esto ahora mismo es contraproducente, céntrate en aprender la básico para que cuando lleguen los ejercicios chorras no se te atraganten.

1 1 respuesta
RubberDuck

#4576 A ver, es que hasta ahora, chatGPT en lo que le he preguntado me ha aclarado perfectamente dónde estaba mi error y además sin revelarme datos que me solucionarían el problema sin que yo trabajase. De momento, seguiré usando chatGPT mientras vea que me resuelve las dudas que tengo de la manera que yo quiero. Evidentemente, estoy haciendo el curso que es la formación principal, chatGPT solo lo uso para que, cuando me atasco, me ayude sin dármelo todo hecho.

Por ejemplo:
Si me voy a la referencia de la función ceil (https://manual.cs50.io/3/ceil), me dice esto:

ceil - calculate the ceiling of a number.
This function returns the ceiling of x.
This function returns, as a double, the smallest integer that is not less than x. You may safely cast that value to a long (or an int if it fits).

Y ya lo da todo por dicho, a una persona que está aprendiendo de cero...

Esto es lo que me dice chatGPT:

No hay color...

Yo creo que lo mejor es combinar la referencia/el curso y chatgpt para estas cosas tan sencillas. A chatGPT le puedes pedir que te ponga ejemplos o que te diga para qué se suele usar, cosas que no te dice la referencia (ni el curso, que solo te dice que ceil te redondea al valor superior). El contexto que te da chatGPT me ayuda mucho para entender mejor las cosas, tanto para el problema que tengo entre manos como para posibles problemas futuros.

D

En mi experiencia de novato/estudiante, primero documentación, intentar implementarlo tu, que da error? google e intentar encontrar soluciones ya sea de otros codigos o lo que sea, pero chatgpt para cosas cortas y concisas, por ejemplo en mi caso estoy creando un websocket server y me estoy guiando por la documentacion que voi encontrando, no es la primera vez que la gente con experiencia recomienda hacerlo así, chatgpt se fuma mucho las cosas y en el ciclo me estoy dando cuenta que la gente lo tiene como la ''panacea'' y eso es un error gordisimo, creo que solo es util si ya tienes experiencia y simplemente quieres pulir algo o recordar algo en concreto, cosas pequeñas, pero como la documentación nada y más si se esta aprendiendo, no olvidemos que antes no habia chatgpt, y creo que de las soluciones que por ejemplo propone la gente en stackoverflow se aprende mucho también ya que estas viendo codigo de otras personas, otras formas de solucionar las cosas, etc...
Otra cosa en mi caso a veces doi un paso hacia atrás para dar dos hacia delante, quiero decir que si tienes que volver a las bases hazlo, por que entenderás las cosas mejor.

1
Bangk

#4555 Lleog un poco tarde, no deberias haber comunicado que piensas irte. Con esto lo unico que logras es crearles un riesgo y movilizarse de fondo para tener un recambio ya listo para tu posicion por si finalmente saltas del barco. Exige tu subida y si no te vas, pero sin avisar de tus intenciones, llegado el momento plantas tu renuncia con sus dias correspondientes y au revoir

2 1 respuesta
laZAr0

No hay ningún problema porque mires el código de un bubble sort, lo comprendas y luego intentes implementarlo por ti mismo según tus necesidades. Como más he aprendido yo es viendo código de otras personas y desgranándolo para entender qué hacía. Intentar implementar un bubble sort en base a teoría lo veo un poco pérdida de tiempo si ya hay ejemplos que puedes usar para aprender. En stack overflow y en otros blogs y fotos tienes ejemplos funcionales en cualquier lenguaje de casi cualquier estructura de datos o algoritmo común, a menudo también explicados.

1 2 respuestas
RubberDuck

#4580 Sí, la verdad es que al final te das cuenta de que, aunque está bien estrujarte el coco un buen rato para intentar resolver algo de este tipo por mi cuenta (por forzar al cerebro a desarrollar la intuición a la hora de resolver problemas nuevos), hay que encontrar un equilibrio entre el tiempo que le dedicas por tu cuenta hasta que buscas pistas que te desatasquen, porque si no, frenas tu aprendizaje.
Dicho esto, también veo que parte del problema es que no vi un vídeo de 1 hora, que se llaman "Section", que Harvard pone para ver después de cada clase y orientarte con código real de un problema más sencillo, pero relacionado con el que vas a tener que hacer para los deberes de esa semana, para que no andes dando palos de ciego. Vi el vídeo de una hora y ya sé por dónde empezar. Lección aprendida para las semanas venideras.

Don_Correcto

#4579 el problema es que no tengo con que negociar la subida si no digo seriamente que me voy, ya lo intente pasado el periodo de prueba porque entre otras se habia acordado pero al final no hubo na xd

1
D

#4580 Pero el problema es que hay gente en el ciclo, (incluso yo mismo), que a veces piensa si es bueno o no usar chatgpt, o mirar tutoriales o mirar soluciones y eso y piensan que deben saber hacer las cosas de memoria, cosa que creo que es imposible saberte todo de memoria, entonces hay gente que va al extremo y cae en el tutorial hell/chatgpt, o gente que no sabe usar las herramientas adecuadas como buscar documentacion o codigo/soluciones de otras personas, y es ahí donde esta la diferencia entre alguien que aprende a solucionar o implementar codigo y alguien que solo sabe aplicar lo que ha visto en el tutorial sin entender del todo que ha hecho o por que o como.

1 1 respuesta
E

#4569 Te estas yendo por las ramas preguntando a gente que quizás no se hayan hecho el curso y obviamente te darán consejos generales que quizás no te sea de ayuda. Lo mejor que puedes hacer es preguntar en los sitios correspondientes al curso (reddit y discord).

El curso en sí es bastante independiente y no hace falta salirse del material proporcionado para poder completarlo, salvo quizás las últimas semanas para HTML/CSS, JS y Flask.

La dificultad del curso siempre se puede adaptar. PSETs sin pistas ni walkthrough introductorio es más dificil que lo contrario. PSETs con solo ver el video principal va a ser más difícil que PSET tras video principal, videos cortos y el semanal de ayuda (section), en este mismo orden, video principal más los cortos son teoría y la del section suele incluir soluciones.

Yo diría que ni utilices el chatbot ya que puede ser hasta contraproducente, habrá casos en donde alucine o se va por tangentes al introducir conceptos que aún no has dado. Yo completé la mayoría de las semanas (las consideradas más "difíciles") cuando no tenía ni pajolera idea de algoritmos o estructura de datos a base de leer (código y el problema en sí) y debuggear. Ni siquiera escribía pseudocódigo, como mucho diagramitas a mano para aclarar que entendía bien el problema y cómo interactuaba el código. Pero mirando atrás lo mejor sería desarrollar cuanto antes ese hábito de resolver problemas de manera estructurada.

En cuanto a plurality: ¿por qué quieres ordenar la lista de candidatos? ¿qué te está pidiendo el problema que hagas? ¿qué son las funciones que tienes que implementar en el PSET?

Entendería tu objetivo si hubieses dicho que quieres un algoritmo optimizado pero estás en la semana 3 donde introducen algo de algoritmos sin haber dado la semana 4 y 5 (memoria y estructura de datos) en un curso que pretende darte una visión general sobre CS (al estilo de este video) sin ser un curso específico de algoritmos y estructura de datos. Y más que nada porque el array del programa solo tiene 9 elementos.

1 1 respuesta
laZAr0

#4583 la mayoría de la gente viene de fábrica con ese miedo a no estar preparado, y la mayoría de la gente tampoco sabe a qué quiere dedicarse y no sabe por dónde empezar; ¿Qué quiero hacer, desarrollar aplicaciones web, de movil, ciencia de datos, devops? ¿Sé tan si quiera las diferentes posibilidades que hay? ¿Qué es mejor, ver tutoriales de programación general, leer libros de fundamentos de ciencias de la computación, algoritmos y estructuras de datos, o meterse directamente a hacer tutoriales de JavaScript o Java y al típico framework o librería demandada para backend o frontend para intentar encontrar trabajo lo antes posible? Al final, lo que más te ayuda a progresar es tener el objetivo claro, y eso es a la vez lo más difícil. Lo normal es dar muchos palos de ciego hasta encontrar tu sitio, pero al menos que lo que hayas hecho por el camino haya sido algo útil.

Por experiencia, creo que lo que más te ayuda a progresar y a saber también qué es lo que más te gusta, al final es hacer un proyecto propio, aunque sea una gilipollez que sólo vayas a usar tú. Por ejemplo, quieres hacer una app para llevar un seguimiento de una peña, ¿sería mejor hacerla en android o en web? Ahí también ya empiezas a tener que montar una base de datos funcional, una API, un frontend, tendrás que desplegar tu aplicación, y es como realmente aprendes a buscar soluciones a problemas más o menos reales, entre comillas, los que te van surgiendo sobre la marcha a medida que vas escalando la aplicación o quieres añadir funcionalidades que no sabes cómo implementar.

RubberDuck
#4584exlurker:

En cuanto a plurality: ¿por qué quieres ordenar la lista de candidatos? ¿qué te está pidiendo el problema que hagas? ¿qué son las funciones que tienes que implementar en el PSET?

Sí, ya me di cuenta (viendo el vídeo de Section, sinceramente) de que lo estaba pensando mal, mi idea era asociar los votos a los candidatos, ordenar los votos y asociar los votos al candidato correspondiente. Vamos, que estaba rizando el rizo sin necesidad ninguna. Después de ver el vídeo de Section acabé lo que me faltaba en 10 minutos... Bastante lamentable todo xD

#4584exlurker:

Pero mirando atrás lo mejor sería desarrollar cuanto antes ese hábito de resolver problemas de manera estructurada.

Sí, eso estoy haciendo ahora, pararme con calma a apuntar lo que necesito hacer y partir de ahí, que la mente no se aturulla tanto.

#4584exlurker:

PSETs con solo ver el video principal va a ser más difícil que PSET tras video principal, videos cortos y el semanal de ayuda (section), en este mismo orden, video principal más los cortos son teoría y la del section suele incluir soluciones.

Totalmente de acuerdo, estoy descubriendo todo un poco a la vez (me refiero al tema de programar y de moverme correctamente por edX). Buscaré el tema de reddit y Discord, a ver qué se cuece.

Muchas gracias por todos los consejos, todo muy sensato y conciso.

1 respuesta
retsex

#4563 No, a distancia. En el CIFP Pau Casesnoves de Inca.

#4564 Es cierto que sólo había un instituto que lo ofertase por la vía pública, y encima no estaba en la capital sino en el centro de la isla. Pero los exámenes y todo lo haces en el mismo sitio. Ocurre distinto si lo haces a distancia desde Ibiza o Menorca, pero en Mallorca no hay problemas con eso.

2 respuestas
RSN

#4587 No he conseguido plaza en ese centro. Que solo haya un centro para todas las islas y con plazas limitadas... Pues eso.

3 respuestas
chambo

#4588 Nosotros en Andalucia el año pasado teníamos 4 centros, este año lo han centralizado todo en 1 centro y nos han dado bastantes plazas por que desde que nos enteramos a finales de Junio nos hemos movilizado tanto alumnado como profesorado para que no nos quedáramos con el ciclo a medio hacer.

swoon

Buenas, tengo una oportunidad que se abre en mi cliente, llevo 15 años trabajando en SAP BI, no me va nada mal, pero podria dar el salto dentro de mi cliente a Azure Data Engineer y tengo que valorar:

Pros:

  • Tecnologia muy demandada y de moda, si no pincha la burbuja, posiblemente mejores salarios
  • Puedo probar sin tener que certificarme y sino me gusta, volver a SAP
  • Ya llevo 2 años trabajando en Azure DevOps, SAP hace "devops" desde siempre, asi que no es algo nuevo, punto a favor

Cons:

  • Mucha mas competencia al inicio. Simplificando, si quitamos la interface de Synapse, Fabric, etc. la skill basica/lenguaje basico es SQL, eso hace que haya mucha mas competencia dentro del sector. ¿Cual es el punto diferenciador? ¿Python?
  • Reiniciar carrera, no es tanto porque los 15 años en SAP tiene mucho peso, pero suponge empezar de nuevo en cuanto a tecnologia.

¿Algun Data Engineer de Azure que pueda ayudarme? Tengo miedo de dar el paso, pero quedarme a medias en cuanto el trabajo que realice no sea lo sufuciente para poder acreditar la experiencia necesario o que no toque todos los palos necesarios.

1 respuesta