Estoy considerando un cambio de carrera para entrar más en el mundo del desarrollo de software. ¿A dónde puedo ir desde donde estoy?

Hmmm … me parece por su descripción de “dónde estoy” que ya está profundamente involucrado en el mundo del desarrollo de software: codificación durante 3 años, jefe de equipo para un equipo que desarrolla aplicaciones, uso de gestión de proyectos, lenguaje de consulta estructurado, codificación y análisis de negocios. Gee, ¿qué más podrías estar haciendo para ser “más profundo”? Felicitaciones, ya está inmerso de manera segura en el mundo del desarrollo de software, sin el dolor de un “cambio de carrera”.

Por supuesto, siempre hay espacio para construir algo que resulta ser tan fundamental y genial que lo hace famoso con la fama limitada de ser conocido por otros programadores. Supongo que ejemplos serían Linus Torvalds (Linux) y Guido van Rossum (Python). Si su pregunta tiene como objetivo obtener consejos sobre cómo convertirse en una “estrella” en el desarrollo de software, me temo que no tengo muchos consejos útiles. Sé afortunado en que te obsesiones y construyas con éxito cosas que otros codificadores encuentran útiles y geniales.

Otra forma de “involucrarse más” en el mundo del desarrollo de software podría ser obtener una capacitación más formal o permitir que otros aprendan más: una licenciatura o maestría en el campo, o escribir libros que ayuden a otros en el mundo del desarrollo de software.

Gracias por el A2A en esto.

Construir cosas. Construye todas las cosas. He aprendido mucho más de los proyectos que abordo en mi tiempo libre de cualquier otra cosa que haya hecho, porque me apasionan y generalmente los encuentro desafiantes.

Encuentre un grupo local y sea voluntario para ayudarlos a encontrar la solución que necesitan. Ejemplo: construí algunas bases de datos de Access para un par de organizaciones cercanas. Aprendí sobre VBA. Aprendí un nuevo marco. Aprendí más sobre cómo aprender.

¿Qué haces en tu tiempo libre? #nerdAlert. Juego Magic: The Gathering. Quería comenzar a aprender Android. Así que hice una aplicación para algo que ver con el juego. Fue terrible. Entonces hice otro. El segundo es muy bien recibido de la comunidad. Ahora sé lo suficiente como para abordar una aplicación para mi esposa sobre un tema del que no sé nada (proyecto actual # 1).

¿Alguna vez has visto una idea y dijiste: “Eso es REALMENTE increíble!” Vi un proyecto de Raspberry Pi de espejo mágico donde el espejo muestra cosas para ti. Increíble. Directamente hacia adelante. Ahora quiero hacerlo, pero quiero agregar reconocimiento facial para hacerlo aún mejor. Ahora estoy fuera de mi zona de confort nuevamente. Aquí es exactamente donde debes estar para aprender más. Además, mi amigo sabe mucho sobre el trabajo de la madera, así que puedo aprender algo sobre eso en el proceso. Siguiente parada de producción y una tienda de Etsy (solo medio broma).

Construí un servidor doméstico inteligente. Eso fue divertido. Aprendí sobre todo tipo de cosas y me dio experiencia real trabajando con múltiples API para integrarlas en una sola plataforma.

Recientemente leí un artículo (que no puedo encontrar en este momento) sobre un chico en circunstancias similares a las tuyas. Se le asignó la tarea de un proyecto en el trabajo, no el programador más experimentado, pero siguió adelante y le enseñó mucho. Siguió construyendo pequeños proyectos en su propio tiempo. Finalmente consiguió un trabajo en Facebook, y finalmente se fue de allí para su propia empresa. Lo que él hizo, y lo que he visto a personas a las que les va bien: no les gusta el ralentí. Incluso si es lentamente, están trabajando en algún proyecto. Es cierto no solo para los programadores, sino incluso para mi amigo de la carpintería. Está aprendiendo a cultivar un huerto ahora porque … ¿por qué no?

Entonces construye cosas. Realmente no importa, siempre y cuando esté un poco fuera de su zona de confort. Ahí es donde ir desde aquí. Si no sabe algo, búsquelo en Google / Quora. Luego lee un libro sobre eso. Si todavía te gusta, lee otro libro o pasa al siguiente tema. Hacer algo es casi siempre mejor que estar inactivo.

Gracias por la pregunta Espero eso ayude. Y perdón por la demora en responderle.

Comience con tutoriales en línea. Elegiría Python o JavaScript como tu idioma. Proponga una serie de proyectos simples que sean de su interés y compílelos. Haga un uso intensivo de tutoriales en línea, presentaciones y stackoverflow. Lo importante es construir cosas . Cosas reales, cosas que hacen … cosas. Una lista de tareas es un buen primer proyecto. Una página web para ti que tiene una galería de imágenes y un ticker de acciones. Lo que sea, solo construye algunas cosas. Sea curioso, independientemente de las bibliotecas que use, abra el código fuente e intente aprender de él. Al principio será abrumador, pero si puede llegar al punto en que pueda comprender ese código, habrá logrado muchísimo.

Una vez que haya adquirido un poco de terreno, generalmente esto toma de 6 a 12 meses, puede elegir proyectos más ambiciosos, comenzar a contribuir a proyectos de código abierto más pequeños o, idealmente, encontrar algunas personas con las que pueda hackear puedes aprender trabajando con otras personas, lo cual es sin duda la mejor manera de hacerlo.

Buena suerte.