¿Cómo / qué estudia un novato total para cambiar de carrera y ser contratado como desarrollador / programador en 2016?

Contestaré porque lo hice yo mismo, sin embargo, no voy a sugerir idiomas con demasiada fuerza ya que la habilidad principal no es un idioma u otro, sino aprender a aprender y aprender a abordar los problemas.

Tendrá que tomar algunas decisiones iniciales porque con la mejor voluntad del mundo, solo podrá aprender un idioma con fluidez suficiente para resolver problemas con él en los primeros meses.

Una decisión es sobre qué tipo de codificación le interesará, una decisión difícil probablemente si aún no ha investigado esto. Sin embargo, analizarlo en exceso puede conducir a una parálisis de análisis y, como descubrí para mí, meses de frustración porque desviaba mi energía a varios idiomas con un éxito mediocre.

La forma en que lo hice es diferente a los métodos habituales para encontrar un curso o pagar un campamento de código: el contexto es una herramienta de aprendizaje muy poderosa:

  • Encontré un problema que me obligaba a codificar: para mí era ayudar a una pequeña empresa que necesitaba una segunda persona para aprender a codificar bases de datos y formularios de Windows.
  • Trabajé en diferentes aspectos de los problemas en cuestión mientras leía sobre el tema para obtener más información.
  • Me perdí y me rendí por semanas, pero debido a que tenía una razón, terminé regresando para aprender más.
  • Hice algunos cursos de Pluralsight, leí más libros, NO siempre los terminé, así que no se obsesione con la finalización del libro, pero tenga versiones físicas de cada libro útil que compre: los leerá o volverá a consultar.
  • Descubrí que aprendí mejor al tener que codificar, por lo que el punto anterior mejora su aprendizaje, pero NO es en lo que debe confiar.
  • Abrí una cuenta de GitHub, aprendí los conceptos básicos del control de código fuente y puse proyectos en él.
  • Creé un blog e intenté cubrir varias áreas que había estudiado en él. Aquí solo cubrí cosas pequeñas, a menudo algo que aprendí en una hora y quería guiar a otros.
  • Se unió a uno o dos grupos de reunión y contribuyó un poco, pero escuchó mucho más.
  • ¡Mantuve mi perfil de LinkedIn actualizado!
  • También mantuvo actualizado un perfil de stackoverflow.

Estos fueron más o menos mis pasos, en su mayoría no planificados y me llevaron varios años. Tenía 33 años cuando comencé, no planeaba ser desarrollador, pero resolver los problemas de los clientes era lo suficientemente importante para mí como para entrar y olvidar lo que era o no; En cambio, estaba centrado en cómo puedo solucionar esto y mejorarlo.

Y eso es todo lo que es realmente, no importa cuán interesante sea la codificación, son todas herramientas para arreglar cosas y mejorar las cosas en todos los niveles.

En cuanto a las herramientas, los buenos artesanos no se obsesionan con una herramienta o forma fija, sino que aprenden a encontrar las herramientas adecuadas para la tarea.

Por lo general, cada idioma es excelente para su área, así que prepárese para el hecho de que necesitará ser bueno en uno, pero realmente no sabrá que es bueno por mucho tiempo, si es que lo hace. Entonces, cuando llegues a un punto en el que necesites un segundo idioma para completar proyectos, entonces acostúmbrate a aprender lo que es necesario hacer cada vez. Eventualmente encontrarás la necesidad de desarrollar ese segundo idioma con más profundidad.

Estoy hablando de la necesidad común de conocer un lenguaje general como C # o VB y luego tener que saber SQL. La mentalidad para SQL es tan diferente que tiene que retroceder y abandonar deliberadamente lo que sabe sobre bucles y condiciones y pensar en conjuntos.

El consejo más común en este momento serán las habilidades completas de apilamiento: es un requisito común, pero es un gran grupo con muchos peces.

No es el único camino.

En cuanto a los idiomas, obtenga primero uno general, pero recuerde que es una base sólida para aprender a aprender los idiomas que necesita.

Desarrollaré esta respuesta en una fecha posterior, ya que he leído muchas cosas.

El desarrollo web es uno de los campos más grandes y accesibles de la industria del software. Si puede crear aplicaciones web de manera competente, tendrá demanda .

Estoy de acuerdo con Dinçel en que debes aprender HTML / CSS. Saber cómo estructurar y diseñar un sitio web es clave para crear aplicaciones web, y también ayuda a entrenar tu mente para pensar visualmente. La lógica es esencial, pero también lo es tener un sitio web estéticamente agradable: un buen diseño puede hacer o deshacer su aplicación.

Algunos recursos gratuitos, como FreeCodeCamp y CodeAcademy pueden ayudarlo a poner en marcha la pelota. Sin embargo, más allá de eso, solo mantente alerta a las cosas geniales que ves y usa la herramienta Inspect en Chrome. Juega con todo lo que se ve genial.

JavaScript también es una herramienta clave para crear sitios web interactivos, y lo necesitará para ser un desarrollador profesional, incluso si solo realiza trabajo frontend.

Cuando desee acelerar su cambio de carrera, considere un bootcamp para obtener resultados más confiables (los MOOC tienden a tener tasas de finalización muy bajas debido a sus bajas tasas de apoyo).

El Bootcamp de desarrollo web de Thinkful (donde trabajo) le enseñará JavaScript de pila completa, específicamente la pila MEAN. Aprenderá a trabajar con API, crear backends e implementar aplicaciones del mundo real. Lo más importante es que aprenderá con tutoría 1 a 1: los estudiantes que aprenden 1 a 1 obtienen mejores resultados que el 98% de los estudiantes que aprenden en las aulas convencionales .

Puede tomar el curso a un ritmo flexible, que generalmente toma 6 meses, pero puede mantener su trabajo a tiempo completo. Si no está trabajando, puede tomarlo a un ritmo inmersivo de tiempo completo, que solo toma 4 meses.

Además, es posible que desee aprender otras tecnologías para subir de nivel su carrera una vez que se gradúe y se convierta en desarrollador de software. Lenguajes como Ruby y Python son increíblemente útiles y no van a desaparecer. Los lenguajes más antiguos, probados y verdaderos como Java y C ++ son más desafiantes, pero los desarrolladores que los usan los aceptarán (por una buena razón).

Lo más importante, debes aprender a aprender. Cada programador con el que hablo siempre está aprendiendo algo nuevo . Ser un profesional significa ser un aprendiz de por vida. Asegúrese de estar listo para ese compromiso.

Regístrese en FreeCodeCamp.com y siga estrictamente las instrucciones. Allí te enfocarás en HTML5-CSS3 y un solo lenguaje de programación; JavaScript Entonces comenzará a aprender las bibliotecas y plataformas JS más importantes para ser un desarrollador de pila completa. Pero lo más importante es que te ensuciarás las manos con mucha codificación cuando te asignen a proyectos sin fines de lucro (que son parte del vasto plan de estudios). Estaré a tu lado. Buena suerte.

More Interesting

Para alguien que trabaja en MSR u otros laboratorios, ¿qué significa el progreso profesional?

¿Es una buena idea revender y cambiar el nombre del software empresarial, como startup?

¿Debo aprender a codificar la GUI o simplemente diseñar con un IDE?

Tengo 27 años y tengo una maestría. Actualmente estoy trabajando como desarrollador web, y me faltan habilidades para resolver problemas y la capacidad de escribir algoritmos. ¿Debo seguir intentándolo o enfrentar la verdad y seguir buscando algo más?

¿Qué es un administrador de proyectos de pila completa?

¿Qué cosas debo hacer en mis 4 años de ciencias informáticas de B.Tech para asegurar un buen trabajo?

Como estudiante de segundo año de la universidad, tengo miedo de no conseguir un trabajo después de graduarme. Suponiendo que me vaya bien en la escuela, ¿encontraré un trabajo como titular de un título en informática? ¿Importará a qué escuela voy? ¿Los empleadores contratarán nuevos graduados universitarios?

¿Qué enfoque de ingeniería de software favorece Michael O. Church y por qué?

¿Qué tipo de programa debería ser capaz de crear si quiero un trabajo como programador?

Cómo unirse a Facebook como empleado

¿A qué cursos debo unirme mientras realizo mi b.tech en ingeniería informática?

¿Dónde puedo obtener ayuda sobre algunos problemas informáticos?

¿Me ayudaría de alguna manera si tengo 1 o 2 años de experiencia laboral en una empresa como TCS si quiero hacer una maestría (MS) en informática de una universidad de renombre en Canadá / Estados Unidos?

¿Cuáles son algunos buenos proyectos para un estudiante de CS (tercer semestre)?

Soy un experto en informática, ¿estudiarme la ciencia de datos me ayudará de alguna manera?