Llegué tarde a la programación, ¿cuánto tiempo necesito dedicar para obtener un trabajo de desarrollador web junior?

Me gustaría compartir mis dos centavos porque recientemente pasé por este proceso yo mismo. Tenía una gran experiencia en tecnología (algo de experiencia con BASIC, Visual Basic y era competente con toneladas de aplicaciones diferentes), sin embargo, me gradué con un título en Negocios Internacionales y no había tocado el código en cerca de 8-10 años cuando Comencé a jugar con PHP y MySQL y decidí que quería ser ingeniero de software.

Varios carteles son correctos: la cantidad de tiempo que puede dedicar al estudio y la aplicación de los principios que acaba de aprender mejor, y la cantidad de tiempo para llegar a un nivel junior empleable puede diferir drásticamente de un individuo a otro.

Pasé probablemente 10-15 horas a la semana (noches y fines de semana) aprendiendo HTML / CSS, PHP / Python, MySQL y bases de datos relacionales y construí varios proyectos paralelos (que fueron las partes más útiles de mi educación), incluido un blog en WordPress, convirtiendo ese blog de WordPress en un CMS PHP / MySQL personalizado y en un pequeño motor de búsqueda de empleo compatible con dispositivos móviles.

En 3-4 meses comencé a buscar un puesto de desarrollo junior y encontré uno con una empresa contratante y un desarrollador que se arriesgó a mí (me hubiera sentido más cómodo si me hubiera dado 6 meses de aprendizaje / construcción de proyectos , pero pude recoger las cosas rápidamente y ser “arrojado al fuego” fue extremadamente difícil a veces pero invaluable).

Por lo que puedo decir, la ecuación para convertirse en un desarrollador junior parece ser:

time_learning * time_practicing * tech_aptitude_modifier = get_job (JuniorDeveloper.new)

time_learning: horas a la semana que pasó en cursos en línea, buscando documentación, leyendo todos los libros fantásticos sobre idiomas, marcos, estándares de codificación y mejores prácticas, etc.

time_practicing : proyectos en los que trabajas para practicar los conceptos que acabas de aprender. Creo que esta es LA parte más importante de la educación de un desarrollador joven. Puede leer todo lo que desee, copiar línea de código por línea en su IDE o editor de texto, pero hasta que se vea obligado a adaptar el código y los conceptos que ha aprendido para encajar en sus proyectos, ese conocimiento prácticamente no tiene valor.

tech_aptitude_modifier : relación de 0 a 1.

  • 0.01 == Utilice una bandeja de unidad BluRay como portavasos.
  • 0.2 == Los botones de la barra de herramientas en Microsoft Word son un poco abrumadores.
  • 0.5 == Bastante experto en tecnología; puede usar aplicaciones comunes (Microsoft Office suite, PhotoShop, etc.) con confianza, y ha creado un par de sitios web (incluso los sitios web HTML / CSS puros cuentan)
  • 0.8 == Todos los miembros de su familia acuden a usted con cualquier problema relacionado con la computadora (y algunos otros problemas aleatorios relacionados con dispositivos electrónicos), principalmente porque puede solucionarlos.
  • 0.99 == Solo obtienes tecnología. Sueñas en 0s y 1s, has implementado tus propios árboles de búsqueda binarios para divertirte, has creado tu propia versión del Juego de la vida de Conway y tienes al menos una camiseta con temática de informática * (* no un requisito duro y rápido)

La respuesta de Sean Grogg incluye una gran lista de tecnologías / proyectos que pueden ayudarlo a orientarse en la dirección correcta. Agregaré una sugerencia simplificada. NECESITA aprender HTML, CSS y JavaScript para convertirse en un desarrollador web, sin importar qué pila de tecnología termine utilizando. NECESITA aprender un idioma (recomendaría comenzar con un lenguaje de script: Ruby, Python, PHP, en lugar de un lenguaje compilado como C #, C ++, Java) , un marco web que coincida con ese idioma y una base de datos relacional . Comencé con PHP, Trax (antiguo) y MySQL, pero desde entonces he migrado a Ruby, Rails y MySQL / PostgreSQL. El control de versiones también es imprescindible (como dice Sean, vaya git ). StackOverflow se convertirá en su mejor amigo (al igual que Google, aunque la mayoría de las respuestas de Google lo dirigirán a SO …) si tiene algún mensaje de error o error que no puede encontrar la manera de solucionarlo.

Los marcos JS son muy agradables, pero puedes esperar un año más o menos (solo tengo experiencia con Ember y Angular) ya que tienen algunos conceptos bastante avanzados. jQuery es EXTREMADAMENTE útil y se encuentra en todos los proyectos de tamaño mediano a grande en los que he trabajado, y un marco CSS (Bootstrap, Foundation, Semantic UI o UI Kit) ayudará a que incluso los proyectos simples se vean profesionales con un mínimo esfuerzo.

Por último, tener un mentor o al menos conocer a un desarrollador de nivel superior es extremadamente útil. Alguien que pueda ayudarlo a empujarlo en la dirección correcta, responder preguntas difíciles o abstractas que pueda tener y ayudarlo con las mejores prácticas es invaluable. Afortunadamente, hay muchos sitios que le dan acceso a alguien como este por una tarifa nominal (nunca los he usado, así que desafortunadamente no tengo una recomendación específica).

Espero que esto ayude.

Siempre y cuando te lleve tener una comprensión sólida del desarrollo de Frontend o Backend.

Realmente no hay una respuesta correcta, podría demorar 2 meses o un par de años. Todo depende de la persona que esté aprendiendo y de cuán enfocado y dispuesto a aprender sea.

En lugar de responder una pregunta sin respuesta, te daré algunos consejos sobre cómo aprender de manera eficiente y rápida.

Comience aprendiendo HTML / CSS / JS hasta alcanzar un nivel superior al promedio, una vez que alcance ese hito, deje de leer y ver tutoriales, y simplemente elija un proyecto en el que desee trabajar. Es preferible recrear un sitio web que te guste. Por supuesto, se te pasará por la cabeza y cometerás muchos errores y no sabrás la mitad de las cosas que debes saber para hacerlo, pero mientras trabajas en ello, aprenderás muchísimo de cosas útiles, cómo solucionar algunos problemas y cómo encontrar respuestas y recursos en línea. Una vez que termine el primero, continúe con el siguiente, notará que no está luchando tanto como la vez anterior, pero aún así sigue luchando. Enjuague y repita hasta que se sienta seguro de crear cualquier sitio web que pueda pensar o ver en línea.

Lo malo de este enfoque es que le dejará con algunos agujeros en su conocimiento sobre el desarrollo, por lo que es posible que desee volver a leer después de sentirse listo, completar los espacios en blanco y aprender algunos trucos más útiles.

¡Hola!

Mi sugerencia para ti es echar un vistazo a Progressive Education, que es la mejor manera de aprender el desarrollo web completo de manera eficiente. La universidad es una pérdida de tiempo a menos que quieras ser parte del mundo de la investigación y los recursos en línea son un buen calentamiento, pero no te llevarán a una carrera, ya que puedes quedarte atrapado en ausencia de mentor y motivación propia. Por lo tanto, le sugiero que aumente su programación eligiendo el mejor enfoque de aprendizaje donde pueda aprender progresivamente orientado a proyectos.

En la escuela de programación como Holberton School of Software Engineering en San Francisco, ofrecemos alternativas basadas en proyectos a la universidad que se enfoca en los desafíos del mundo real, los comprende y los resuelve. Ofrece un programa de educación superior de dos años en San Francisco y no requiere ningún conocimiento previo de codificación para que los estudiantes de diversa diversidad puedan ser atraídos, lo que hará que un ambiente de aprendizaje sea emocionante. El enfoque de Educación Progresiva en esta escuela enseña una forma muy efectiva de aprender a programar. Se enfoca en:

  • Forma creativa y emocionante de resolver problemas reales.
  • Fuertes comunicaciones entre estudiantes (aprendizaje entre pares).
  • Aprendizaje en base a proyectos.
  • Aprendiendo a aprender.
  • Conocimiento de ingeniero de pila completa.
  • Aprenda de los líderes de la industria y mentores de la vida real.

No enfocamos a los estudiantes para que aprendan un lenguaje de programación seleccionado o un marco seleccionado, sino que los ayudamos a resolver problemas para que tengan éxito a lo largo de toda su carrera. Los estudiantes aprenden sin importar que tengan que decirles que cumplan sus objetivos, junto con la programación de bajo nivel y del sistema, la programación de alto nivel, el desarrollo de redes y dispositivos móviles, la administración y las operaciones del sistema, el archivo de texto ASCII, los algoritmos, la ingeniería inversa, etc., pero como documentación , comunicación, desarrollo comunitario, etc. Para ser un gran ingeniero de software, necesitará 3 habilidades importantes:

  • Tener un conocimiento de la pila completa
  • Ser capaz de aprender solo
  • Habilidades blandas

Conocimiento de pila completa

Las aplicaciones de software son sistemas complicados compuestos de muchas partes que están interconectadas: frontend, back-end, base de datos, servidor web, red. Es por eso que primero debe aprender un mínimo sobre lo que llamamos la pila, mientras que cada uno tiene su propia definición de la pila, un buen comienzo es saber sobre: ​​Algoritmo y estructura de datos Programación de alto nivel (lenguajes de programación orientados a objetos) Administración del sistema y un poco de trabajo en red Con esto, un ingeniero de software podrá navegar en casi cualquier sistema / aplicación y podrá tomar decisiones de ingeniería bien pensadas.

Aprendiendo a aprender

Los ingenieros de software necesitan constantemente evaluar y quizás aprender nuevas herramientas que los ayudarán a hacer que su aplicación sea más rápida, mejor y más confiable. Los nuevos lenguajes de programación y bibliotecas están constantemente llegando y uno no puede volver a la universidad cada vez que surge una nueva tecnología. Los mejores ingenieros de software son los que pueden mantenerse actualizados con las últimas tendencias . Por eso es importante que pueda aprender solo.

Habilidades blandas

Las habilidades blandas importantes que un programador debe utilizar incluyen:

  • Comunicación: Incluye oratoria, presentación y documentación, correo electrónico, post mortem, redacción técnica.
  • Colaboración: ayudar a un compañero de trabajo en un proyecto, incorporar a un recién llegado y saber cuándo hacer preguntas.
  • Espíritu de equipo: comprensión de otros compañeros de trabajo, fomento de la colaboración con otros equipos (si está en una gran empresa).

Puedes obtener estas 3 cosas, serás un programador increíble y todos querrán contratarte si eliges esta escuela para aprender programación. Se enfoca en enseñarle a ver los principios subyacentes y las conexiones entre cosas aparentemente dispares para reconectar su cerebro.

Esta escuela cubre todos los criterios como el aprendizaje entre pares , aprender a aprender , aprendizaje orientado a proyectos , habilidades blandas , conocimiento completo , ayuda de mentores , lo cual es muy importante para ser bueno en la programación al no tomar demasiado tiempo.

Visite la escuela Holberton y vea de qué se trata la Escuela Holberton de Ingeniería de Software en San Francisco.

¡Feliz programación!

Mucho antes de solicitar el trabajo, comience a invertir tiempo en desarrollar sus habilidades en torno al nicho que está solicitando. Un buen comienzo sería tener una comprensión de calidad de las tecnologías web estándar junto con conceptos fundamentales importantes.

Contribuya a proyectos de código abierto o trabaje en sus propias ideas. Tenga todos sus códigos disponibles en algún lugar como Github para que pueda compartir un enlace a su perfil cuando solicite un puesto. Sus proyectos y sus contribuciones a OpenSource hablan mucho de usted. No solo le da una ventaja sobre otras personas que solicitan, sino que también demuestra que está interesado en invertir su tiempo en el autoaprendizaje y tener habilidades de organización. En la mayoría de las compañías de productos, amamos a las personas que aman el código abierto 🙂

Una vez que reciba una llamada, su ronda de entrevistas técnicas pondrá a prueba sus habilidades para resolver problemas. Recomiendo encarecidamente tomar un curso de algoritmo y estructura de datos en Coursera o Khan Academy y practicar todos los problemas de ejemplo que se presentan en el camino.

Para responder a su pregunta específicamente, cuánto tiempo necesita es subjetivo y puede ser de un par de meses a un año o más, dependiendo de su velocidad, pero en general no depende del tiempo, es cuando se siente seguro de sí mismo. verdaderamente listo Y esto solo vendría cuando codifiques.

Por último, tenga en cuenta que las empresas no buscan semidioses de codificación o desarrolladores 10x cuando tienen una vacante para un puesto junior. Además, en su mayoría, a nadie le importa tu edad siempre y cuando conozcas tus cosas, tengas la actitud correcta y desees resolver problemas sin rendirte fácilmente.

Avíseme cómo fue su entrevista en mi twitter [url] o comuníquese si tiene más preguntas.

Buena suerte

Necesita gastar aproximadamente lo siguiente:

  • 1 HTML5
  • 1 CSS3
  • 1 Marco CSS (Bootstrap, Material algo u otro)
  • 1 JavaScript (ES5)
  • 1 Control de versiones (solo ve con git)
  • 1 jQuery (opcional, a menos que aprendas Angular)
  • 1 Marco JS (Angular, React, Ember, etc.)
  • 2 implementaciones de API

EDITAR: Esta es una recomendación basada en conseguir un trabajo como desarrollador junior y no un enfoque holístico para convertirse en un desarrollador integral.

Todos difieren considerablemente en lo que respecta al aprendizaje, tanto en términos de la cantidad de tiempo que les lleva comprender un concepto, la cantidad de tiempo que pueden dedicar al aprendizaje por un período arbitrario de tiempo como la calidad de los recursos de aprendizaje que tienen en su disposición

de una de mis respuestas anteriores a un tema similar

Como alguien que recibió mi primera oferta de trabajo web hace dos días (30 años … 10 años trabajando en la industria corporativa) …

Si desea una respuesta, 1000-2000 horas, dependiendo de la calidad del aprendizaje: qué tan bien se enfoca, de su aprendizaje está acreditado / basado en la calificación, y si tiene un mentor / alguien en la industria para asesorarlo. Lo hice completamente solo, con algunos consejos de personas en Quora y YouTube.

Pero sí, en total, pasar de 0 a junior, sabiendo lo que hago ahora, podría haberlo hecho en 1000 horas, pero en retrospectiva es algo maravilloso (teniendo en cuenta que ya tenía un salario decente y tenía que tener un comienzo más alto que el promedio punto).

De todos modos, cosas que cubrí en esas 1000-2000 horas:

Obtén un portafolio

Me llevó mucho tiempo obtener las agallas para armar mi sitio, si tiene una cartera, tiene algo para que un empleador evalúe realmente sus capacidades.

Consejo: use un tema de WordPress si se atasca, lo hice.

Consejo: asegúrese de que su sitio se vea limpio, tenga un propósito claro

Escribe un blog / sobre desarrollo web / sobre ti

Obtenga experiencia con proyectos reales

Ofrecer construcción de sitios web para amigos, familias, amigos de amigos, causas locales, organizaciones benéficas, iglesias, eventos comunitarios, bandas de música … Básicamente, cualquier persona que tenga un negocio y no tenga un sitio web estará (en mi experiencia) muy agradecido por la ayuda para obtener una presencia en línea.

Consejo: de nuevo, no se avergüence de usar WordPress, es una buena plataforma para pequeñas empresas y puede ampliarla.

Consejo: obviamente, haga esto de forma barata o gratuita al principio, pero a medida que se desarrolle, creo que es justo cobrar una tarifa mejor … Realmente no debería trabajar en la web de forma gratuita, y un cliente pago le da más incentivos para concentrarse y aprender cómo hacerlo. evitar cualquier complicación que encuentre.

Comprender los fundamentos de frontend

Holy trinity (html / css / js), pero en realidad los ‘conoce’ lo suficiente como para recrear un diseño / psd y hacer que se vea bien en cualquier resolución. Esto es crítico, no se puede omitir a menos que vaya a un trabajo puramente de fondo. También es muy útil si tiene alguna exposición a las bibliotecas front-end (jQuery, react.js, angular.js)

Consejo: Flexbox combinado con consultas de medios, es tu amigo, aprende ambas cosas

Consejo: trucos CSS

Propina:

Propina:

Fundamentos de backend / servidores de alojamiento / CMS

En general, los trabajos locales para mí eran todos php / WordPress / drupal o c # .net, no tenía interés en .net, así que aprendí php como mi lenguaje del lado del servidor:

OOP

Base de datos (mysql)

Consultas SQL

Salida de la base de datos

Un marco de mvc (laravel)

CMS popular (drupal)

Consejo: hay mucho más por ahí que php, siéntase libre de probar rails y node.js, ambos se pueden utilizar para crear aplicaciones web increíbles.

Sugerencia: si se queda atascado configurando un entorno de servidor local (Windows), entonces ahórrese el dolor y use Su entorno de desarrollo en la nube

Consejo: Fundamentos de Laravel 5

Propina:

Propina:

En mi opinión, la mejor y más rápida forma de aprender Web Dev a cualquier edad es encontrar un buen mentor.
Intenta encontrar una persona que sea profesional y que tenga una experiencia considerable en desarrollo web. Intente ofrecerle una cooperación mutuamente beneficiosa. Por ejemplo, puede ayudar a su mentor con sus proyectos a cambio de asistencia en el aprendizaje del desarrollo web.

Hoy en día, no hay escasez en los cursos de desarrollo web, pero todos suelen costar un centavo por un corto período de tiempo. Lo que necesita es su entrenador personal, su maestro Yoda, que siempre lo empujará en la dirección correcta, lo ayudará a encontrar errores en su código y responderá todas las preguntas difíciles o le mostrará dónde buscar respuestas.

Intente publicar anuncios en varios foros y grupos de correo. Hay una demanda constante de asistentes o desarrolladores junior. Sus habilidades pueden ser de alguna utilidad allí.

Sin embargo, hay un pequeño inconveniente: los mentores normalmente no están interesados ​​en trabajar con principiantes completos, particularmente porque los principiantes no necesitan un mentor, ya que todo lo que necesitan saber en esa etapa pueden aprender fácilmente por sí mismos. Por lo tanto, trate de llegar lo más lejos posible por su cuenta; para hacerlo, solo necesita algo de motivación y tiempo libre. Tan pronto como esté listo, busque una persona que lo ayude a ganar su primer dinero desarrollando aplicaciones web.

He dado un salto adelante en mi autoeducación personal gracias a mi mentor, un gran hombre para el que había trabajado durante aproximadamente un año y que realmente me enseñó cómo trabajar y obtener nueva información.

¿Qué lenguajes de programación debo aprender para el desarrollo web? Mi objetivo es construir un juego basado en texto en línea. Nunca he codificado antes.

Quiero ser un desarrollador web completo en medio año, y se me ocurrió un plan. ¿Cuál es un consejo?

¿Cómo aprendo el desarrollo web lo más rápido posible?

Comience a programar : una lista de recursos para aprender a programar

Autoeducación para desarrolladores web “: con qué comenzar y dónde moverse para aprender a desarrollar aplicaciones WEB.

Aprendí Ruby on Rails y desarrollo web en mis treinta años. No sabía absolutamente nada acerca de la programación cuando comencé, y tres años más tarde construí y todavía dirijo mi empresa de recursos humanos y nóminas.

Lancé mi primera aplicación de producción aproximadamente 3 meses después, pero me llevó cerca de un año llegar a un nivel en el que me sintiera lo suficientemente cómodo con otros aspectos críticos del desarrollo web, como pruebas, API, patrones de diseño modular, etc. Yo mismo soy apto para un puesto de desarrollador junior.


Aquí hay algunos consejos que, con suerte, le permitirán hacer más en menos tiempo.

1. Consigue un buen mentor.

Si bien me las arreglé para buscar en Google, un buen mentor me habría ahorrado un montón de tiempo. Me lleva una hora enseñarles a mis alumnos cómo implementar una aplicación Rails que funcione. Me llevó un par de días aprender a hacer lo mismo solo. Para Rails, hay varias redes de tutoría disponibles. Rails Girls es un excelente lugar para comenzar para las mujeres que buscan aprender a codificar.

2. Tenga un proyecto en mente.

Aprendí desarrollo web porque quería crear un sistema de gestión de estudiantes en línea para nuestra escuela. Tener un objetivo claro me permitió encender los tiempos difíciles y me dio impulso para implementar algo que funcione en el menor tiempo posible. Cuando presenté la aplicación por primera vez a nuestro personal y a nuestros estudiantes, fue francamente una pieza terrible de software, pero funcionó y años más tarde todavía sigue avanzando silenciosamente.

3. No pierdas el foco.

Para un recién llegado al desarrollo web, hay una variedad intimidante de nuevas terminologías y tecnologías para aprender. ReactJS o Angular? Rieles o Django? Ruby, Python o Java? Angular o Angular 2? Javascript o Coffeescript? MySQL, PostgreSQL o MongoDB? Decisiones, decisiones, decisiones!

Para un principiante, nada de eso importa. Su enfoque principal como nuevo alumno es implementar una aplicación que funcione. Todo lo demás es una distracción. Elija la tecnología más básica disponible para usted que le permitirá poner en marcha algo rápidamente y apegarse a él. Cuando haya dominado sus herramientas existentes y se pregunte qué más hay disponible, puede comenzar a buscar otras opciones.

4. No subestimes el efecto Dunning Kruger.

Es fácil dejarse llevar después de haber implementado su primera aplicación. Es fantástico ver tu creación en línea, y luego intentarás crear el próximo Facebook. Es importante dar un paso atrás y ganar algo de perspectiva. Hágase pequeñas preguntas molestas como

“¿Qué sucede si el usuario no selecciona su género?”

“¿Qué sucede si el usuario publica la identificación de otra persona en la URL en lugar de la suya?”

“¿Qué pasa si en lugar de enteros, necesito que esto sea un decimal?”

“¿Cómo ejecuto una tarea recurrente? ¿Cómo sé que la tarea recurrente se está ejecutando?” etcétera etcétera.

Y a medida que profundice en el tema, se dará cuenta de que cuanto más sepa, más no sabrá.


¡Feliz aprendizaje!

En mi opinión, no hay nada como “llego tarde” para comenzar algo. Mientras estés vivo, cada día marca el primer día del resto de tu vida.

Aprender a programar requiere tiempo, energía y requiere determinación y determinación. Y como eres nuevo en programación, te sugiero las siguientes opciones

  1. Aprenda o revise HTML y CSS para obtener los fundamentos
  2. Aprenda JavaScript y jQuery

Luego para la programación del lado del servidor

3. Ruby

4. Ruby on Rails / Rails

Se recomienda lo anterior si decide aprender por su cuenta, de lo contrario, hay muchos excelentes bootcamps en línea con un bajo costo para inscribirse.

La desventaja de la programación de aprendizaje es la sobrecarga de información que pueda tener. Sin embargo, recuerde que todo lo que vale la pena lleva tiempo. Así que sé muy paciente.

Como recurso, recomiendo Codecademy para empezar y también lea Code Complete de Steve McConnell.

¡Finalmente, no puedo enfatizar esto PRÁCTICA lo suficientemente bien! ¡¡PRÁCTICA!! ¡¡¡PRÁCTICA!!!

Para ser honesto, tuve poca experiencia con HTML en la escuela secundaria, pero no lo toqué hasta después de mi primer año en la universidad (ahora soy un estudiante de segundo año) donde tomé una clase en HTML, CSS y JS. Aprendí principalmente de StackOverflow y w3schools, e hice algunos pequeños proyectos míos para practicar. Entonces decidí buscar una pasantía y fui aceptado en el primer lugar al que postulé. Solicité un desarrollador de software general con la idea de trabajar en aplicaciones de Android y back-end con Python / Django, pero me dijeron que puedo saltar a cualquier proyecto que desee. Sin embargo, esta es una compañía de marketing digital muy pequeña, lo que creo que es algo bueno porque solo tienen 1 tipo de software, y básicamente lo estaré siguiendo y haciendo un trabajo más relevante que un interno en HP, por ejemplo. Pero mi punto es, simplemente solicite una pasantía en algún lugar, prepárese un poco y asegúrese de esforzarse por mejorar cada día en el trabajo. A la mayoría de las empresas realmente no les importa dónde y qué has estudiado, les importa lo que puedes hacer, y tener algunas pasantías en tu currículum ayuda mucho. Además, creo que si quieres convertirte en un desarrollador senior algún día, es posible que necesites un título, o al menos te facilitará la vida. Sin embargo, si vives en los EE. UU., Donde esos títulos son un poco caros, busca los certificados que puedas obtener.

Nota: Agregué esto como un comentario a otra respuesta hace un par de semanas, pero se me solicitó agregarlo como su propia respuesta, así que aquí va:

Recientemente me entrevisté con muchos candidatos front-end para “desarrollador web junior front-end”. 6 de ellos salieron de un conocido campo de entrenamiento de 6 meses y los llamaría desarrolladores de front end junior muy ecológicos. Sin embargo, ninguno terminó siendo contratado, eran demasiado jóvenes aún para mi puesto de desarrollador junior. Creo que la razón es porque intentaron aprender demasiado a la vez y graduarse como “desarrolladores completos”.

En cambio, terminé contratando a un tipo muy inteligente que es bastante joven, renunció a su trabajo y se tomó 2 meses de su tiempo para aprender una base sólida en JavaScript, HTML y CSS. Probó lo que aprendió a través de sus proyectos, alojado fácilmente en GitHub, y a través de algunas pruebas de código que proporcioné. También aprendió un poquito de uno de los grandes marcos JS y uno de los grandes marcos CSS, pero solo superficialmente.

El punto de esto … Si desea obtener un trabajo de desarrollo web, aprenda los conceptos básicos de JS, HTML y CSS. Al final del día, cualquiera que contrate a un desarrollador web junior quiere esas tres cosas. Si eres inteligente, mejor si quieres aprender a programar en un corto período de tiempo, el empleador entenderá que puedes aprender SASS, ES2015, cualquier motor de plantillas, angular, jQuery, consultas de medios, etc. Demuestre que ha aprendido los conceptos básicos, pase algunas pruebas de lógica o de interfaz de usuario, y hágales comprender lo apasionado y motivado que está para aprender por su cuenta y aprender de un equipo, y tendrá una buena oportunidad de ser contratado.

Creo que muchos desarrolladores front-end de wanabe pueden frustrarse fácilmente. Eso se debe en gran parte a la evolución masiva en este sector. A menudo parece un área fácil de programación para comenzar, pero ahí es donde pueden originarse las raíces de la frustración. En la última década o incluso en los últimos 5 años, el desarrollo de FE se volvió increíblemente complejo.

Mi consejo es que no elija el desarrollo FE por razones equivocadas. La barrera que debe superar para convertirse en un programador experto de JavaScript es similar a los desarrolladores de Java .NET o Python. Y si eso es lo que buscas, entonces no te saltes la informática en general. Pagará más tarde si lo hace. Sea paciente y organizado. Es más valioso aprender sobre los patrones de diseño comunes de Javascript y luego elegir un marco listo. Bucear en marcos como sencha o kendo ui puede darte una falsa confianza de que puedes sacarlo mientras alguien más te acompaña.

Otra opción es enfocarse completamente en el diseño UX. Domina CSS y HTML y serás un activo muy valioso para cualquier equipo de desarrollo de FE. Esta es un área relativamente ajena a muchos programadores tradicionales y lo suficientemente estrecha y específica para personas con buen ojo para el buen diseño y el pensamiento empresarial.

¿Depende de cuánto dinero necesitas ganar? Si desea la forma más rápida y puede vivir con $ 50K por ahora, obtenga un trabajo de control de calidad de nivel de entrada.

Obtener un trabajo de desarrollo junior es mucho más difícil de conseguir que un trabajo de control de calidad. Si obtiene un trabajo escribiendo automatización de pruebas, seguirá escribiendo código, la diferencia está en el nivel de habilidad requerido. Los desarrolladores necesitan escribir “código limpio”, es mucho más difícil escribir código a ese nivel, si estás escribiendo scripts de automatización, ¡la barra es mucho más baja!

Es bastante fácil y no requiere mucha codificación. Aprende los conceptos básicos de la codificación, te recomiendo Ruby porque es lo más fácil de aprender y lo más divertido de usar. Haga una secuencia de comandos o herramienta de prueba básica simple, vaya a grupos de reunión de área local y haga una breve presentación sobre cómo creó su herramienta y algunos de los desafíos que superó.

¡Si lo haces 3 o 4 veces, tendrás compañías que luchan por contratarte! Siempre piensa en tratar de agregar valor a los demás cuando das una charla y te conectarás con otras personas.

Si quieres leer historias de personas que han hecho exactamente lo que quieres hacer, mira mi blog:

La forma más rápida de conseguir un trabajo tecnológico

Todo lo mejor en tu esfuerzo, puedes hacerlo 🙂

Deberías darte tiempo para aprender realmente.

pero, diablos, ¡trata de conseguir algún tipo de concierto de desarrollo web ahora!

si eso no funciona …

Diría que dos años de enfoque constante podrían generar un buen primer trabajo de desarrollo web con la advertencia de que puedes intentar conseguir trabajo de proyecto a través de otras personas que conoces en este momento. La presión puede ser excelente para aprender.

tldr, este es mi consejo para un plan:

Cree proyectos que le parezcan interesantes, ya sean originales o no, y finalícelos. Limpia el código, ponlo en github.

Encuentre algunos buenos podcasts de programación para exponerlo a programadores que hablan sobre programación, es muy motivador.

Lea detenidamente el código de un proyecto de código abierto que utiliza. Hazlo despacio, interrogarlo todo.

Tome una clase de algoritmos, tome una clase de estructuras de datos. Siente cómo te duele el cerebro, es la sensación única de aprender.

Puede usar momentos reflexivos como caminar o acostarse en la cama para pensar y resolver lo que realmente sabe sobre algo que ha estado aprendiendo recientemente. Creo que me ayuda a retener ideas y apreciarlas más.

Cuando encuentre un problema o error, no se conforme con solo descubrir cómo superarlo, descubra fundamentalmente por qué sucedió e intente no cometer ese error nuevamente. Esto es mucho más eficiente y holístico, pero no es fácil de hacer.

Además, tenga en cuenta que los fundamentos, el entusiasmo y el coraje son vitales para conseguir un buen trabajo, y lo que quiere es un buen trabajo. Un mal trabajo de programación puede ser perjudicial para su salud, relaciones y confianza.

¡Conocete a ti mismo! (es decir, sepa que si dedica el tiempo necesario para aprender desde cero y hacerlo con integridad, tiene un gran valor. Por lo tanto, evalúe lo que sabe tanto como lo que no sabe).

¡Buena suerte!

La pregunta aquí es amplia porque hay muchos tipos diferentes de trabajos de desarrollador web. Esto podría incluir lo siguiente: diseño web, interfaz de usuario front-end, back-end web, middleware API, seguridad, desarrollo de bases de datos, programador de importación / exportación, scripting, operaciones de desarrollo, ingeniero de despliegue, ingeniero de sistemas, etc. Además, existe una gran variedad. conjunto de puestos de gestión de proyectos y control de calidad que pueden requerir un poco de programación que no están específicamente en el desarrollo web.

Personalmente, he estado programando desde que tenía 11 años, pasé por 2 años de programación de secundaria, 4 años de universidad y varias pasantías antes de obtener mi primer puesto junior.

Después, obtuve un título de posgrado y ahora tengo 11 años de experiencia profesional.

El desarrollo de software y el desarrollo web es un compromiso de por vida. No hay forma de hacer un pequeño esfuerzo y que sea un atajo para conseguir un trabajo y conservarlo. Muchos desarrolladores junior obtienen los peores trabajos, pateados por los desarrolladores senior, nunca son escuchados y se les dice hasta el último detalle sobre cómo hacer su trabajo. No hay nada glamoroso en eso. Esta es la razón por la cual es esencial ir más allá de ser junior lo más rápido posible y entrar al campo como un junior deseado puede conducir a una permanencia muy corta.

Su mejor opción es poder decir que tiene el objetivo de ser ingeniero sénior. Pero, la mejor manera de hacerlo es tener una base sólida como una roca. Esta base requiere un esfuerzo significativo. Le pregunto, si estaba realmente interesado en hacer este tipo de esfuerzo para elegir una carrera que no sea gratificante durante muchos años, ¿por qué tomar tanto tiempo para comenzar a aprender?

Estoy en el mismo barco, y después de seis meses de aprendizaje, ahora estoy llegando al punto en que me siento listo para tomar un trabajo. Aquí hay algunos consejos, basados ​​en mi experiencia personal de los últimos seis meses:

  1. Busque en las bolsas de trabajo ahora. El campo de programación es ENORME, y constantemente entran en juego nuevas tecnologías. Si busca en las bolsas de trabajo ahora, le ayudará a identificar qué habilidades comenzar a aprender como novato, y las habilidades que los empleadores esperan que tenga. Esto le ahorrará tiempo a largo plazo, porque comienza identificando exactamente lo que necesita saber en seis meses.
  2. Comience los proyectos lo antes posible. Su currículum será proyectos que ya haya completado. Si no tiene nada específico que pueda señalar a los seis meses a partir de ahora que lo ha hecho, entonces sus posibilidades de obtener un trabajo decente disminuyen. Los empleadores quieren ver lo que has hecho. Si tu currículum solo dice “Sé Bootstrap”, entonces … bueno … buena suerte.
  3. Conoce tu verdadera motivación. Los empleos tecnológicos tienen una gran demanda, por lo que, por supuesto, muchas personas están tratando de acudir en masa porque lo ven como un boleto de comida. Los buenos empleadores tienen una forma de eliminar a estas personas. ¿Realmente disfrutas programar más de 8 horas al día? Si no, le recomiendo que considere otras opciones.
  4. Si no tienes un título universitario en ciencias de la computación o matemáticas, entonces deberías considerar pagar por una certificación. Haga su tarea en proveedores neutrales y certificaciones específicas del proveedor. Algunas están altamente especializadas y te garantizan un trabajo. Suponiendo que tiene un título universitario, vea cómo se puede integrar con la programación. Por ejemplo, hay trabajos tecnológicos para personas con experiencia en biología. Entonces, construye sobre tus fortalezas.
  5. Agacharse a largo plazo. Pueden pasar de 6 a 12 meses antes de que sea muy comercializable y tenga algunos proyectos en su haber. No esperes que los empleadores vengan a tocar hasta entonces.

Probablemente sea más sabio pensar en términos de “proyectos” en lugar de horas de codificación, etc. Siempre he aconsejado a las personas que recojan ideas de aplicaciones web relativamente complejas y pasen por todas las fases de desarrollo, en el proceso aprendiendo lo que sea necesario. Yo diría que necesitaría al menos un buen proyecto en su haber y cuanto más mejor. Puede terminar el proyecto en un par de meses o un año, hasta usted. Le sugiero que discuta ideas con profesionales que puedan ayudarlo a evitar proyectos demasiado complejos o simples.

Un recién llegado puede pasar días para familiarizarse con la tecnología X, Y y Z (tomaría mucho tiempo desarrollar experiencia y, por cierto, incluso los profesionales no siempre son expertos en todas las tecnologías que han usado en su carrera) , pero el verdadero negocio es juntarlos para crear algo útil. Aquí es por qué creo que ir tras un proyecto es una mejor idea:

1 – Se ve bien en tu currículum.

2 – Aumenta tu confianza en que has logrado algo útil y presentable.

3 – En el proceso, aprende SDLC general que implica requisitos de captura, diseño, etc.

4 – Lo desafía lo suficiente al presentar escenarios reales que debe implementar a toda costa. Leer libros / tutoriales difícilmente puede sacarte de tu zona de confort, que es la piedra angular del aprendizaje real.

5 – Su tiempo se gasta sabiamente, por ejemplo: en lugar de terminar un libro de 350 páginas sobre CSS, aprende todo lo que necesita y dedica más tiempo a las habilidades más importantes (no tratando de socavar la importancia del CSS aquí).

6 – Recuerdas lo que pasa por tus manos, la experiencia de los libros tiende a desvanecerse rápidamente

7 – Si usas herramientas en línea como say github, puede ser fácil para ti pedir comentarios y ayuda de la comunidad.

8 – Por último, pero no menos importante, te da una sensación de progreso, como decir que estoy al 50% allí.

Permítanme explicar cómo aprendí el desarrollo web rápidamente. Hubo un tutorial de Lynda sobre PHP por Kevin Skoglund. Explicó cómo construir un CMS rápido. La primera parte fue muy básica, todo lo básico y la segunda parte fue la programación PHP orientada a objetos. En este momento, estoy realmente contento de haber comenzado con PHP, una tecnología de servidor / backend, sin embargo, en 2016+ recomendaría seguir estrictamente la tecnología front-end como HTML y dominar el posicionamiento CSS. Fueron estas dos cosas las que me llevaron a mi primer puesto independiente en una empresa de diseño en Boston. Admití que tenía muy poca experiencia en JavaScript y me dieron la oportunidad de aprender.

El curso jQuery de Code-School es genial. Si puede dedicar unas 4 horas a ese curso, comprenderá cómo manipular HTML con jQuery. Esta sería la Fase dos y tu primer JavaScript.

Entiende WordPress. Aprenda a usar su sistema de plantillas para crear algo simple, como su propio sitio web. Use el tema Bones de Eddie M. Su configuración de HTML5 Boilerplate donde puede aprender montones sobre los estándares HTML modernos. Llamaría a esta fase 3, donde aprenderá a trabajar con un CMS.

Diría que una fase 4 sería después de sentirse cómodo usando jQuery y JavaScript a diario. En este punto, debe comenzar a deslumbrar con un sistema de plantillas como Angular / react, etc.

La mejor parte del desarrollo del aprendizaje para mí ha sido impulsar mis propias ideas de proyectos. Intenta llegar a una idea que te impulse y las habilidades del código seguirán.

Comienza a aprender ahora. No hay tiempo que perder. Cuanto más se exponga a los códigos, mejor será la comprensión. La codificación es una rutina diaria. Tus ojos deben tener códigos de visión todos los días. Cuando duermes, los ojos de la mente deberían leer los códigos.

Estos son los tutoriales paso a paso:

Aprende desarrollo web a través de MOOCs.

Introducción de CS a la informática (HarvardX)

CSS / CSS3 y marcos como SASS, bootstrap

Javascript y framworks como Angular, React, Backbone, node

Ajax

PHP y frameworks como Symfony. Zend

Ruby on Rails

Python / Django y Framworks como Flash

Pilas MEAN (MongoDB, ExpressJS, AngularJS, NodeJS)

Pila MAMP (Mac, Apache, MySQL, PHP)

Las mejores plataformas MOOC del mundo en este momento son:

http://www.coursera.org

edX

Udemy: cursos en línea en cualquier momento y en cualquier lugar

Cursos en línea gratuitos – FutureLearn

Kadenze

y muchos más ….

HTML / HTML5

Aprendí desde cero: me llevó unos 3 meses en un campamento de entrenamiento aprenderlo todo y obtener un salario promedio de la industria. Sin embargo, pasé 80 horas a la semana y ya sabía CSS y HTML básicos. Por lo tanto, llevará al menos 3 meses y tendrá que mostrar experiencia con una cartera. En general debes aprender:

Un marco JS sólido (React o Angular 4)

Un paquete: Webpack, Browserify

Conozca NPM de atrás hacia adelante

SCSS – alineación de estilo y centrado

Apis web sólida de comprensión, como LocalStorage

Haber implementado un sitio listo para producción (podría ser su cartera)

Sabe hacer pruebas unitarias básicas

Poca experiencia con pruebas de extremo a extremo de selenio

Es realmente difícil ser un desarrollador front-end junior y la mayoría de las empresas no quieren juniors, por lo que debes ser agudo en estos conceptos básicos.

Después de dos años, ahora soy un desarrollador de nivel medio a superior y sé mucho más que antes. Sin embargo, no consideraría un candidato junior si no me pueden decir cuáles son los anteriores.

More Interesting

¿Cómo lidian los programadores de lenguaje de script (PHP, JavaScript y Python) con el mal soporte de autocompletar en IDEs?

Aprendería Angular 2 practicando, ¿dónde puedo encontrar sitios gratuitos?

Me encanta instantdomainsearch.com. ¿Cuánto dinero y tiempo de desarrollo se necesitaría para crear una interfaz tan simplista en un mercado con un número limitado de productos (500-600) de varios proveedores?

Estoy aprendiendo desarrollo web y planeo trabajar por cuenta propia. ¿Qué tipo de trabajos para principiantes hacen los desarrolladores web?

Quiero especializarme en lugar de ser un desarrollador de pila completa. ¿Cuáles son algunos nichos que debería mirar?

Desarrollo web, ¿cuál es el tema de tendencia único más que nada?

Estoy tratando de desarrollar mi propio navegador web en Python usando PyGTK. Una cosa que no puedo entender es la parte de las cookies. ¿Cómo puedo almacenar y usar cookies en mi nuevo navegador?

Si construyo una aplicación de red social, ¿dónde y cómo almaceno los usuarios y las contraseñas?

Soy un novato que recién comienza, me siento perdido cuando quiero contribuir a proyectos de código abierto. No entiendo detalles técnicos. ¿Cuál es la mejor manera de aprender lo básico?

No se JavaScript. ¿Prohibirá mi aprendizaje Node.js? ¿O debería comenzar con JavaScript primero?

Acabo de terminar de aprender HTML y CSS. ¿Hay algún proyecto en el que pueda trabajar ahora?

Quiero crear un sitio web de torrents, pero eso sería ilegal, entonces, ¿cómo puedo hacerlo sin enfrentar ningún problema ilegal?

Actualmente estoy trabajando como desarrollador web sin calificación formal. ¿Puedo ser considerado un desarrollador de software?

Me gustaría construir un motor de búsqueda diseñado para África. ¿Cómo puedo hacerlo?

¿A qué recursos debe referirse un desarrollador web para obtener ayuda y mantenerse actualizado?