¿Cómo puede un programador autodidacta, sin experiencia profesional, promocionarse como un solicitante calificado que busca su primera oportunidad de trabajo a tiempo completo?

Fui un desarrollador de Flash durante 6 años. He sido Front-End Dev durante 4 meses, trabajando principalmente con CSS y Javascript. Soy un aspirante a Rails Dev, y he pasado por una docena de entrevistas telefónicas, y 1 en la oficina, para un puesto en Rails. También he hecho muchas preguntas a amigos míos que tienen experiencia en Rails Devs, sobre qué aprender, qué construir y qué esperar en la búsqueda de empleo.

El primer conjunto de consejos que recibí fue hacer una aplicación Rails, y otra y otra. Familiarízate con Rails, haciendo. Publique su código en Github, para que otros puedan ver lo que ha hecho. Y si es posible, haga que la gente use lo que ha hecho.

La segunda ronda de consejos que me dieron fue contribuir a la comunidad de código abierto. Encuentre un proyecto que le interese y úselo. Busque errores o posibles características y corríjalos / agréguelos. Github es un gran lugar para esto, porque simplemente puede navegar a través de problemas ya conocidos y enviar una solución directamente al administrador del proyecto.

Algunos amigos míos, que en realidad entrevistan a los candidatos de Rails, dicen que buscan personas que puedan pensar de manera pragmática. A veces hacen preguntas como: “¿Cuántos automóviles hay actualmente en San Francisco?”, O “¿Escribir un programa que me diga de qué están hablando las personas actualmente hoy en día?” Y si bien no puede saber cuántos automóviles hay en San Francisco, puede hacer conjeturas educadas sobre cómo existen los automóviles dentro de la cuadra promedio de la ciudad, y cuántas cuadras hay en San Francisco, etc., etc. En cuanto a la pregunta de Twitter, está buscando para ver si sabe cómo almacenar y recuperar datos y realizar una búsqueda simple. Si puede superar eso, y se sorprenderá de cuántas personas no pueden, profundizarán un poco más en la eficiencia del espacio y el tiempo, y cuándo usar qué tecnología. Probablemente no podrás responder todas las preguntas que te hagan, pero eso debería estar bien. SUGERENCIA: Investigue la complejidad algorítmica (también conocido como: Big O)

En cuanto a mis experiencias personales durante las entrevistas, las preguntas que me han hecho no han sido tan generales como las que plantearon mis cohortes. Por lo general, me han hecho preguntas muy específicas sobre términos y metodologías relacionados con Rails y conceptos básicos de programación. La pregunta número 1 que sigue apareciendo, cuál es la diferencia entre “==” y “===”. Algunas preguntas más comunes incluyen …

“¿Cuál es la diferencia entre privado, protegido y público?”
“¿Qué significa REGEX y qué es?”
“¿Definir los diversos términos, clase, objeto, método?”
“¿Qué significa MVC?”
“¿Qué significa DRY?”
“¿Qué es un iterador?”

“¿Describe algunas de las etiquetas HTML5?”
“¿Qué significa ORM?”
“¿Cuál es la diferencia entre attr_accessor y attr_accessible?”
“¿Cuáles son las diversas asignaciones de relaciones de modelo en ActiveRecord?”
“Describa cómo construir una relación modelo has_many, y belong_to_many”.
“¿Cuáles son las diversas validaciones de modelos en Rails?”
“¿Qué es un hash y cómo se le agregan / eliminan valores?”
“¿Cuál es la diferencia entre extender e inlcuir?”
“¿Qué es un módulo Ruby?”
“¿Qué son las pruebas unitarias?”
“¿Qué es noSQL?”
“¿Qué es REDIS?”
“¿Cómo diagnosticaría y resolvería las consultas lentas de DB?”
“¿En qué se diferencia nginx de Apache?”
“¿Qué es un entorno Rails?”
“¿Cuáles son los diversos iteradores de Ruby?”
“¿Cuándo podrías usar el método de inyección?”
“¿Cuál es tu gema favorita de Ruby y por qué?”

No puedo hablar por el resto del país, pero si estás buscando un trabajo como desarrollador de Rails, en San Francisco, deberías poder responder a todas las preguntas enumeradas anteriormente. Si está buscando algún tipo de trabajo de programación, independientemente de si involucra o no Ruby / Rails, es esencial que pueda responder con confianza el primer conjunto de preguntas en negrita.

Personalmente, todavía tengo mucho que aprender sobre el desarrollo de Rails, así que me inscribí en Dev Bootcamp en San Francisco, un curso de 10 semanas, diseñado para convertir a los ingenieros de Rails en desarrolladores web junior.

Creo que eso lo resume todo. Buena suerte. 😉

Creo que tendrá que pasar por al menos una fase de proyectos autónomos o trabajo independiente antes de que razonablemente pueda encontrar un trabajo a tiempo completo trabajando como desarrollador de JS.

En ausencia de credenciales universitarias (que es una señal defectuosa para poder codificar, pero hoy en día es un estándar en la industria), la forma principal en que podría mostrar su habilidad y potencial es con el trabajo que ya ha hecho. Con el trabajo de front-end, particularmente al comenzar, esperaría que un buen candidato tenga muchas exploraciones y mini proyectos, mejorando la calidad con el tiempo a medida que se familiaricen con las tecnologías.

Una estrategia que puede funcionar es pasar un poco de tiempo reimplementando la aplicación web / sitio web de una empresa que está entrevistando, y tratar de mejorar su implementación (obviamente, solo de lo que puede descubrir a través de las herramientas de desarrollo). Es similar a cómo los diseñadores a veces adoptan rediseños de sitios / aplicaciones autónomos y no solicitados, desde un punto de vista de codificación y dirigidos a empleadores específicos.

Después de pasar por la situación exacta, puedo decir con confianza que aprender HTLM, CSS y jQuery son las cosas más valiosas para dominar primero. Me sumergí directamente en Rails y tuve que detener todo cuando llegué al desarrollo frontend. Así que ahora recomiendo un enfoque denet diferente. Primero necesita saber cómo andamiar adecuadamente su sitio con HTML y luego diseñar con CSS. La biblioteca jQuery obviamente requiere un poco de conocimiento de JavaScript, pero inicialmente, solo necesita conocer la sintaxis básica para usar jQuery para manipular elementos DOM. También puede ver resultados mucho más rápido con jQuery, que lo alienta a profundizar en JavaScript para crear funciones más complejas.

Por último, NO recomendaría Rails o Django como su primer marco para el desarrollo web. Comience con un marco Javascript como Meteor. Si desea garantizar la empleabilidad en cualquier trabajo de desarrollo web, necesita conocer Javascript íntimamente. Los marcos populares como Rails y Django requieren habilidades en varios idiomas y una gran cantidad de DSL. Meteor es todo Javascrip.

Finalmente, como principiante, se sentirá realmente frustrado por el uso diario de Rails porque cambia de manera bastante significativa con cada lanzamiento de versiones menores. Lo mismo sucede con todos los frameworks, pero en el núcleo de Meteor y otros frameworks Javascript está Javascript puro, una tecnología de lenguaje que cambia a un ritmo mucho más lento. ¡No pueden cambiarlo significativamente porque rompería 1 billón de sitios web! Invertir en Javascript es probablemente el movimiento más sabio que harás como desarrollador.

Presumir.

Las cualidades clave de los desarrolladores front-end incluyen:

  • Hacer una aplicación compatible con diferentes navegadores y plataformas
  • Sepa qué tecnología usar para qué funcionalidad
  • Estar (algo) actualizado con los estándares actuales
  • Aplica la tecnología de forma creativa 🙂
  • Capaz de superar problemas

Cuando me emociona una nueva función o biblioteca, solo pienso en un proyecto (generalmente) tonto y simplemente lo construyo. Al hacer eso, intento demostrar que tengo las cualidades clave.

Si desea trabajar para una empresa que es consciente de lo que hace un buen desarrollador front-end, puede volverse loco siempre que funcione bien, se vea bien y el código esté organizado de manera ordenada. Esto puede parecer contrario a la intuición, ya que el desarrollo front-end generalmente se trata del resultado, no de la tecnología, pero es más probable que una empresa orientada al desarrollo lo juzgue por el código. Hazlo difícil para ti mismo, supera los problemas y documenta tus problemas, soluciones y opciones en alguna parte. Eso es lo que importa.

Sin embargo, si desea trabajar en un entorno en el que la tecnología apenas importa, la mentalidad de “solo hágalo”, debe enfocarse en el proyecto con un propósito y debe verse y funcionar excelentemente. Desordena el código todo lo que quieras, tiene que ser práctico. Piensa en una herramienta o servicio.


Para inspirarte, estos son algunos de mis proyectos:

  • La vida de una partícula: me divertí con three.js hace aproximadamente un año. Los no desarrolladores no ven el uso, los desarrolladores piensan que es bonito, los programadores 3D reales notarán que tomé decisiones de mierda.
  • Representación de Cubic Bézier en Sass: Hugo y yo nos volvimos tontos con Sass y escribimos sobre eso. Nuevamente, esto no tiene un uso práctico, pero muestra nuestra habilidad y creatividad con Sass.
  • Gráficos vectoriales en Sass: otro artículo de un proyecto Sass sin caso de uso, pero otra demostración de mi habilidad y creatividad.

Como puede ver, mis proyectos son completamente inútiles para un negocio normal. Parece que a los demás desarrolladores les encanta, y he tratado de documentar problemas, soluciones y opciones a través de artículos. Cosas locas como esta me dieron un nuevo trabajo con un aumento del 25%. Estoy empezando la semana que viene 🙂

Creo que estás viendo esta pregunta de la manera incorrecta. Hay miles de tutoriales disponibles, desde codecademy.com, hasta OpenCourseWare del MIT. Todos te enseñarán el mismo conocimiento básico. Antes de comenzar a programar, también estaba buscando una “bala mágica” para convertirme en el mejor programador posible.

Desafortunadamente (o afortunadamente), descubrí que solo hay una forma posible de convertirse en el mejor programador: la práctica apasionada. La diferencia entre el mejor y el peor programador es que, cuando se les entrega la misma tarea, los “mejores” programadores la tomarán, la resolverán, la resolverán nuevamente y luego agregarán más funciones. Un programador promedio resolverá el problema asignado y se resolverá. Pero el método que describí anteriormente es literalmente la única forma de convertirse en un gran programador.

En términos pragmáticos, ¿qué significa esto? Significa:
1) Aprende lo básico. No importa si los aprende en una clase, en un libro gratuito, en un sitio web gratuito, etc. Casi no hay diferencia.
Nota: He aprendido tanta programación de cursos universitarios que cuestan miles de dólares como de tutoriales en línea gratuitos.
2) Comience a codificar. Crea un sitio web para divertirte.
3) Piensa en formas divertidas de mejorar el sitio web.
a) Si no puede pensar en alguna idea, pregúntele a un amigo, “¿qué le gustaría ver en este sitio?”
b) Si no sabes cómo codificarlo, busca en Google, ve a stackoverflow y pregúntale a otras personas.
c) implementar
4) Repita el paso 3 una y otra y otra vez. En algún momento, dependiendo de cuán dedicado sea, de repente se dará cuenta de que es un programador bastante sólido.
5) Muestre su cartera de trabajo a la empresa para la que desea trabajar.
6) beneficio

Sí, podría haber publicado enlaces y listas a todos los tutoriales, pero esa respuesta habría sido deshonesta. Entiendo lo que estás buscando, ya que estuve allí no hace mucho tiempo. Pero le puedo asegurar, el método descrito anteriormente es el único camino hacia la meta que está tratando de lograr.

¡La mejor de las suertes!

Adán

En primer lugar, hágase estas preguntas:

  • ¿Qué tipo de trabajo de desarrollador le interesa más?
  • ¿Qué tipo de objetivos tienes para ti como programador?

Concéntrese en crear cosas que muestren sus habilidades en relación con lo que le gustaría hacer, y luego incluya esos proyectos clave en su currículum para que los empleadores tengan una mejor idea de lo que es capaz de hacer. Cree cosas que vayan más allá del simple CRUD, la aplicación móvil de administración de tareas, etc. Si todavía está perdido sobre qué tipo de proyectos se supone que debe construir, aquí hay algunos consejos:

  • Integre su proyecto con otras bibliotecas / herramientas.
  • Resuelve un problema más avanzado con tu código
  • Construye algo que otras personas puedan usar también
  • Colabora con otros desarrolladores en un proyecto para demostrar que puedes trabajar en equipo
  • La ambición es buena, pero no sobrediseñe sus proyectos ni los haga innecesariamente complejos.

Su cartera

Sitio web personal
Si su objetivo es ser un desarrollador web front-end, entonces debe tener un sitio personal para mostrar sus habilidades. Esto significa configurar un servidor para el sitio web, comprar su propio nombre de dominio y todo eso. Incluso si planea ser un desarrollador de iOS o Android o un desarrollador de back-end, no estaría de más tener un sitio web personal.

Los empleadores / reclutadores generalmente no se preocuparán por el diseño del sitio (a menos que sea un desarrollador front-end centrado en el diseño), por lo que no tiene que tener un diseño profesional. Sin embargo, el sitio web debe estar bien organizado y debe ayudar a los empleadores / reclutadores a encontrar y comprender fácilmente qué tipo de trabajo ha realizado en el pasado.

Además, sería útil agregar un poco de contexto a los proyectos que haya construido: es decir, etiquetar la fecha en que lo completó, el idioma en que se escribió, la tecnología que ha utilizado y el enlace al repositorio en GitHub o algo así si está allí.

Blog
Puede que no sea el mejor programador que existe, pero aún puede empaquetarse. Escriba sobre cosas nuevas que haya aprendido, ya que esta es una gran oportunidad para demostrar que le gusta aprender cosas nuevas y también puede darles a los reclutadores algo de qué hablar. En general, escribir lo que has aprendido también es una excelente manera de crecer como desarrollador.

GitHub

En la actualidad, debe tener una cuenta de GitHub. Si no tienes un título de CS, tienes que hacer un esfuerzo adicional para demostrar que puedes hacer el trabajo, y GitHub es un buen lugar para demostrarlo.

Sus proyectos

Es poco probable que su posible empleador lea los detalles del código fuente de su proyecto, lo que significa que obtendrá algunas miradas en el mejor de los casos, y esa breve mirada lo hará o lo romperá.

Esto significa que es aún más importante para usted proporcionar un medio para que los reclutadores tengan una buena idea de si usted es un desarrollador que puede trabajar bien con otros. Varias cosas a considerar para su proyecto personal de GitHub incluyen comentar su trabajo para que otros (o incluso usted mismo, N años después …) puedan entender por qué está haciendo algo, escribir pruebas unitarias para su código, tener un estilo de codificación coherente / estructura de codificación limpia etc.

Básicamente, el punto es mostrar que puede escribir código legible y mantenible que otras personas puedan entender o utilizar fácilmente. Lea artículos sobre las mejores prácticas de codificación y estudie proyectos de código abierto de alto perfil para tener una idea de lo que constituye un código legible y listo para la producción.

Consejo: Si no está seguro de si su código es legible o no, siempre puede contratar a un desarrollador experimentado para que revise su código y le brinde consejos sobre las mejores prácticas, etc. Además, si termina trabajando con el mentor en más de En algunas ocasiones para convertirse en un mejor programador, ¡su mentor podría incluso escribir una carta de recomendación para usted !

Proyectos de código abierto
Si bien haber contribuido a proyectos de código abierto de alto perfil definitivamente le dará puntos, no necesariamente tiene que hacerlo porque probablemente serán demasiado grandes y complejos para un principiante. El punto de haber contribuido al código abierto es mostrarle que sabe cómo usar git y que puede colaborar con otros desarrolladores. Sin embargo, si está decidido a contribuir a un proyecto de código abierto específico de alto perfil, revise los problemas abiertos y trabaje en algo que cree que puede hacer: luchará con eso durante días y se frustrará, pero el resultado final debería ser bastante satisfactorio si te gusta el desafío.

Alternativamente, puede intentar contribuir a una biblioteca / extensiones / herramienta más pequeña pero también bastante popular que personalmente encuentre útil y se sentirá motivado para ayudar a mejorar. Generalmente, dirígete a proyectos con un rastreador de problemas activo y proyectos relacionados con lo que te gustaría hacer como desarrollador profesional.

Además, si su proyecto personal de GitHub recibe contribuciones de otras personas, ¡genial! Esto muestra que no solo puede resolver una necesidad existente, sino que también puede administrar un proyecto. Además, también indica que puede comunicar sus ideas lo suficientemente bien como para que otros desarrolladores participen en su proyecto.

Sin embargo, no puede evaluar si su proyecto de código abierto despegará, por lo que también puede considerar pedirles a sus amigos que co-creen uno solo para obtener la experiencia de colaboración.

Experiencia

Además de tener una buena cartera de proyectos que haya realizado antes, es extremadamente importante tener experiencia también. Las empresas desconfiarán de contratar desarrolladores sin un título de CS, pero la experiencia puede convencerlos de lo contrario. Construir proyectos que le interesen es bueno y todo, pero si va a trabajar en una empresa, enviará el producto de otra persona. Esto significa que se encontrará con problemas que probablemente no haya tenido al crear sus propias aplicaciones.

Por lo tanto, tener la experiencia de enviar código listo para producción y resolver las necesidades de otras personas realmente lo ayudará a construir sus credenciales de codificación, incluso si no tiene un título de CS.

Entonces, ¿cómo se obtiene experiencia?

(El artículo que escribí es bastante largo, así que aquí está el enlace a la versión completa: Cómo obtener su primer trabajo de desarrollador (incluso si no tiene un título de CS) )

Si no crees que tienes experiencia laboral, deja de esperar a que alguien más te lo dé. Ve a crear tu propia experiencia; abre los ojos y date cuenta de que tienes más experiencia de la que crees.


Participe en [Github] (cree mejor el software, juntos) si aún no lo está y publique algunos de sus propios proyectos allí. No pierda su tiempo tratando de llegar a un buen proyecto, solo piense en él como un servicio gratuito de almacenamiento en línea para cualquier pequeño proyecto que haya escrito.

Es mucho más fácil ganar impulso moviéndose que esperando

Intenta obtener algunas contribuciones para los proyectos de otras personas también. Una vez más, atornille tratando de encontrar una nueva característica para contribuir. Si espera mientras piensa en la próxima gran idea, nunca hará nada, tomará una eternidad, o si es el proyecto de otra persona que está tratando de contribuir a su solicitud de fusión, lo más probable es que sea rechazado, independientemente de cómo espectacular puede ser porque al igual que todos los empleadores que lo rechazan por no tener experiencia, también lo harán todos los demás hasta que se demuestre lo contrario.


Busque algunos proyectos populares con los que ya está familiarizado (¿alguna vez ha oído hablar de alguno de estos proyectos: Bootstrap, jQuery, D3, Backbone … Todos están en Github esperando su ayuda) y revise los errores que otras personas han informado . Si no puede encontrar un proyecto para contribuir, hay sitios dedicados a ayudarlo a encontrar cosas que hacer, un ejemplo es http://www.codetriage.com

Resolver errores (problemas) es una responsabilidad importante de la vida de cualquier desarrollador. No puedo hablar por otras personas, pero todos los desarrolladores que conozco trabajan íntimamente dentro de un sistema de venta de boletos (Redmine es mi favorito personal, Jira mi menos, hay muchos otros) y una parte importante de cada día es el mantenimiento y la corrección de errores. Entonces, si está arreglando errores en Github, no es muy difícil correlacionar esa experiencia con la experiencia del mundo real. Reanudar entrada: “contribuidor de código abierto – resolvió problemas X en proyectos Y y Z”

Además, no subestimes el aspecto social; sigue a algunas personas interesantes y etiqueta tus proyectos favoritos con una estrella. Destaca mis proyectos, tal vez me daré cuenta y revisaré tus proyectos a cambio. No puedo contar cuántas veces he escuchado a empleadores o reclutadores interesados ​​en nada más que ver que sigues a personas y proyectos interesantes. Validación por asociación. Supongo: /

[Puedes seguirme, no me importa 😉 y tengo algunos proyectos en los que probablemente te resulte sencillo contribuir … Por supuesto.] ( http://www.github.com/dcondrey )

Dedica un tiempo a construir tu cuenta de Github para que se vea activa (fingirla) ; en el proceso de hacerlo, lo siguiente que sabes es que te has convertido en un miembro activamente involucrado de la comunidad de código abierto (hazlo) .

Tener esa experiencia lo hará más valioso como candidato a los ojos de los empleadores, y en realidad, que la mayoría de los candidatos junior con 3-5 años de experiencia laboral profesional pero sin un código real para mostrar un posible empleador. Además, le dirá a cualquier empleador por el que valga la pena trabajar que le apasiona su conjunto de habilidades y se esfuerza constantemente por ser un experto en su profesión.

Si desea crear un sitio web para usted, también puede hacerlo en Github. Echa un vistazo a las páginas de Jekyll y Github.


En cuanto a tener un título … ¡simplemente alégrate de no haber malgastado tu dinero o tiempo en la universidad! En mi experiencia, nadie lo ha pensado dos veces o se ha preocupado en lo más mínimo por si tenía o no un título (nunca fui a la universidad tampoco … Bueno, en realidad fui a la escuela de cine como un idiota) La gente solo se preocupa por tu código. Lo considero como cualquier otro idioma extranjero. ¿Prefieres contratar a un intérprete que tenga un título en francés o alguien que creció en Francia?

Personalmente … Si estuviera en condiciones de contratar a un desarrollador, estaría más inclinado a contratar a un buen programador sin educación universitaria que a otro candidato con un nivel de habilidad y un título similares porque el tipo que nunca fue a la escuela pero es capaz de demostrar la misma competencia que alguien que tuvo que pagar $ 50k + para aprenderlo ha demostrado, tan pronto como entran por la puerta, son trabajadores, dedicados a su oficio, y deben amar su profesión para haberse enseñado tanto y Es probable que sean más capaces de pensar fuera de la caja y encontrar soluciones innovadoras para problemas complejos porque la universidad nos enseña reglas, límites y cómo aprobar los exámenes. Las reglas deben romperse, los límites se estiran y los exámenes escritos no se responden.

En ninguna parte es esto más cierto que el desarrollo web porque para ser un desarrollador competente debes continuar tu educación todos los días durante el resto de tu carrera profesional para mantenerte al día con las tecnologías cambiantes. El desarrollo web es una de las únicas profesiones que conozco donde puedes encontrar toda una cultura de personas que hacen lo que nos pagan para que lo disfrutemos. El tipo que tuvo que ir a la universidad para convertirse en un experto … Tal vez sea un desarrollador porque pensó que conseguiría un buen trabajo y ganaría mucho dinero o tal vez sonaba mejor que ser abogado. ¿Va a mantener actualizada su educación? ¿Va a ser el tipo que se entusiasme con los proyectos realmente difíciles? ¿Va a tener la pasión por hacer no solo un trabajo mediocre, sino el impulso de CREAR algo en lugar de simplemente regurgitar la misma basura que cualquier otro idiota? No estoy seguro … pero mi dinero está en el niño que se quedó despierto hasta tarde para aprender un nuevo lenguaje de programación antes de poder conducir un automóvil.


Si aún no lo estás; participe también en [StackOverflow] (Stack Overflow). Los puntos son adictivos, confianza. El término es gamificación y ha sido probado. Inicie sesión y responda al menos 1 pregunta por día al día durante al menos un mes y desarrollará alguna actividad. Para entonces, también acumularás una adicción y nunca la abrirás en segundo plano. No seas idiota después de obtener algunos miles de puntos (recuerda … cada pregunta es estúpida para alguien) y NO hagas una pregunta hasta que tengas al menos 2000 puntos. Esa cantidad de puntos me llevó unos 6 meses. Quizás un año. No me acuerdo ¿Por qué no deberías hacer una pregunta en un sitio web de preguntas y respuestas? Debido a que su pregunta probablemente ya ha sido respondida o porque primero necesita aprender cómo hacer una pregunta porque no estamos en la universidad donde no hay preguntas estúpidas. Aquí cada pregunta es estúpida para alguien. StackOverflow no existe para hacer el trabajo duro por usted. En definitiva existe como una colaboración y referencia. Si no puede hacer una pregunta de manera inteligente con detalles de sus esfuerzos, entonces no se esforzó lo suficiente o simplemente está demasiado lejos durante el año y debe hacer algo más simple. Me imagino que si le preguntara a alguien cómo hacer una cirugía cardíaca, podrían decirme cómo, pero no habría aprendido nada porque ni siquiera sé cómo comenzar.

El secreto para ganar en StackOverflow … No le digas a nadie que te dije … La mayoría de las respuestas se pueden encontrar buscando viejas preguntas; o Google Shh ..


En su currículum, escriba:

** Empresa: ** Oportunidades contractuales o independientes
** Fecha de inicio: ** cada vez que comenzó a aprender
** Fecha de finalización: ** En curso.

Mantenga eso en su currículum para siempre o al menos hasta que haya completado un currículum de 2 páginas. Contempla todos los proyectos personales que has hecho, todos los proyectos de favor para amigos, escuela, lo que sea … ¿Cuál es la diferencia entre eso y el trabajo? La única diferencia es que lo hizo a cambio de un pagaré o un ‘Gracias’ o por la educación que obtuvo por hacer el ejercicio … todo lo cual es más valioso que $. ¡Así que ponlos en tu currículum! Ponga esas cosas de Guthub en su currículum. Ponga esas cosas de StackOverflow en su currículum. Diablos, tenía Wikimedia en mi currículum por ser colaborador de Wikipedia por un tiempo, recientemente lo eliminé para dejar espacio para otra experiencia.

Y por último pero no menos importante. Recuerda esto…

“Fingir hasta que lo consigas”.

Ah, y la auto-promoción descarada no hace daño. 😉


Si después de todo eso, todavía no puedes conseguir un trabajo … bueno, supongo que deberías haber sido abogado.

En primer lugar, permítanme darles algunas noticias, de acuerdo con la investigación que Rockon.me realizó hace un par de semanas: el 50% de los estudiantes universitarios abandonan sus cursos para el segundo año y aproximadamente la mitad de estos candidatos tienen éxito en encontrar una carrera .

Además, el salario promedio de los candidatos con títulos es aproximadamente $ 20K más alto que los candidatos sin título en el mismo campo. Pero, la pregunta importante aquí es: ¿Vale la pena el alto costo de la educación en este momento en el país? La respuesta está de acuerdo con la carrera que elijas.

Las habilidades técnicas son ampliamente autoaprendidas, ya que el sistema universitario (la mayoría de las universidades) casi no proporciona ningún conocimiento en tiempo real requerido para los trabajos de la industria. La mayoría de los candidatos exitosos que he conocido son como tú 🙂 Autoaprendidos y listos para RockOn

Aquí hay algunos consejos que lo ayudarán a tener éxito.

1) Construye tu perfil

Ahora, esto es algo que todos te dirán, ¿verdad? Pero, la forma en que lo construyes hace toda la diferencia. Para empezar, debes tener un perfil personal impresionante. Para esto hay múltiples fuentes: Linkedin, Rockon.me, Github, etc. La diferencia con Rockon en comparación con otros sitios de redes profesionales es que no solo le proporciona herramientas de creación de perfiles o páginas llamativas impulsadas por la interfaz de usuario. Le da la ventaja adicional de sobresalir en lo que está a punto de hacer. Por ejemplo, la ayuda de entrenadores / consejeros certificados como yo que lo ayudarían con las preguntas más difíciles relacionadas con el crecimiento de su carrera. Luego está la capacidad de hacer crecer su red en un embudo altamente definido por el usuario. Seguro que te gusta aumentar tus conexiones. Pero, ¿qué pasa si estas conexiones te ayudan a conseguir el próximo trabajo de tus sueños? Esto es lo que la plataforma hace por ti.

2) Crear un perfil independiente

De nuevo, algo que sugiero a los candidatos que no tienen educación formal o experiencia. No hay nada que muestre compromiso en un candidato que la capacidad de ganarse la vida con lo que hace sin tener un título formal. Puede hacer crecer su carrera como freelance en sitios como fiverr, odesk, freelance, etc. La clave aquí es apegarse a trabajos o tareas que pagarían menos al principio. Recuerde que debe crecer desde abajo y se requiere un compromiso cuando se inicia.

3) Conviértete en un experto en la materia

Los expertos en la materia son el “puesto de observación” para los profesionales en cada campo. Ahora que tiene una comprensión de Javascript, comience a hacer una investigación profunda de los diversos trucos que se pueden utilizar para ello. ¡Una cosa muy común para la mayoría de las personas técnicas que conozco es la incapacidad de escribir algo que no sea código! Podrías ser un diferenciador si aprendes a escribir artículos sobre trabajo técnico.

Hay muchas otras cosas que se pueden hacer aquí, pero esto necesitaría una visión mucho más detallada de cuál es su objetivo final. Puedes ponerte en contacto conmigo en [correo electrónico protegido]

Tangibles = todo.
¿Estás contribuyendo a Github, Stack Overflow o algún tipo de repositorio de código abierto?
¿Jugar con algo en casa o como un proyecto para ayudar a un amigo (pro bono o pago)?
No importa cuál sea el contexto: escuela, hogar, iglesia, etc.
Lo que construiste es lo que construiste.

Asegúrate de catalogar tus tangibles.
Construye y ten este portafolio para mostrar.
Manténgase al día con los técnicos ‘modernos’. Aka, si estás estudiando Node and Backbone, aplícalo a algo, ya sea tan simple como escribir código usando lo mencionado anteriormente. APLICAR, APLICAR, APLICAR.

Para poder presentarse como un candidato calificado y viable para un puesto de tiempo completo, necesitará tener una buena cartera .

Esto es muy crítico. Tener una cartera con diferentes proyectos en los que trabajó, mostrará a los posibles empleadores su nivel de habilidad. Sería muy útil si tuviera proyectos relativos a su campo en él.

También es útil tener un buen repositorio de GitHub con muchas contribuciones. Hasta donde sé, la mayoría de los reclutadores solicitan su repositorio de GitHub.

También debe leer sobre las preguntas de la entrevista, cómo resolverlas y cómo manejar la presión.

Estás en el camino correcto al hacer algo en Rails. La clave para conseguir un trabajo es hacer cosas continuamente, bloguear sobre ellas (o cosas que aprendes en el camino) y hacer que la gente sepa al respecto.

Comience a escribir gemas de rubíes o corrija errores en los que usa en github. Comience a publicar sus proyectos interesantes en sitios como Hacker News ( http://news.ycombinator.com ) y Reddit en / r / programacion y / o / r / ruby. Asegúrese de tener un perfil de Github y mantenga sus proyectos allí también.

Hacker News es un buen recurso en general. Gran lugar para consejos y aprendizaje. Además, el primero de cada mes tienen un “¿Quién está contratando?” Publicación con la que probablemente tengas suerte.

Una vez que haya creado una cartera decente de proyectos personales, intente comunicarse con amigos y familiares. Ofrezca hacer un rediseño del sitio de una pequeña empresa por una tarifa competitiva. ¡Publique su cartera en Facebook! No hay escasez de pequeñas empresas que buscan un sitio web bien diseñado.

Como con cualquier carrera de artesano, necesita una cartera . Escribir o contribuir al software de código abierto es una excelente manera de construir ese portafolio, aprender de ingenieros más experimentados y contribuir a la comunidad.

Entre David y Jeff, lo tienen. En este campo, las credenciales en papel (como títulos, certificaciones, etc.) no reciben mucho crédito. (De hecho, ¡algunas certificaciones incluso se ven negativamente! ) Cree una aplicación no trivial, con la fuente disponible públicamente en Github. (O tal vez algún otro repositorio, pero Github es el más popular, y muchos empleadores buscarán allí sin que se les indique). Esto hace varias cosas:

  • Demuestre que puede escribir una aplicación que funcione.
  • Muestra tu creatividad al pensar en una idea original para la aplicación.
  • Muestre su estilo de codificación, desde “se ve bien” hasta “está bien pensado”.
  • Demuestre que tiene al menos alguna pista confusa sobre cómo funcionan el código abierto, git y Github. (Es posible que su empleador no use git y / o Github, pero son herramientas muy populares).

Asegúrese de poder explicar en la entrevista exactamente cómo funciona y por qué tomó cada decisión al respecto. Esto les ayudará a creer que efectivamente es su código, no algo que copiaron de otro lugar.

Para obtener más ideas, consulte el blog de Joshua Kemp. Dile que te envié. Pasó de ser un herrador (vinculado ya que el trabajo es tan anticuado que la mayoría de la gente moderna ni siquiera sabe cuál es ), al desarrollo de software y control de calidad. Ahora él ayuda a otros a hacer tales transiciones.

Aquí está mi solución directa a su problema.

Mes 1: Elige tu categoría de trabajo.
Ejemplo: desarrollador web, desarrollador front-end, desarrollador de aplicaciones.

Si elige el desarrollo web, aprenda los conceptos básicos de HTML / CSS / JS y Ruby on Rails, o PHP, SQL, MYSQL durante el primer mes.

Mes 2: profundice en las tecnologías anteriores y domínelo (aunque 2 meses es difícil de lograr).

Mes 3: Cree algunos proyectos, sitios web y contribuya al código abierto #Github, y cree su cartera, reanude.

A partir del mes 4, muestre sus cosas a los reclutadores @LinkedIn, @Angellist y otros sitios web.

O

Si elige el puesto de desarrollador de aplicaciones, aprenda C ++ o java, python, el primer mes y domínelo durante los 3 meses.

Mes 1: Aprende un idioma perfectamente

Mes 2: Aprenda algoritmos y estructuras de datos.

Mes 3: Resuelva problemas en @Codechef, Google Summer of Code (GSoC), @hacker earth.

Mes 4: solicite trabajos de ingeniero de software en @ LinkedIn, @ HackerRank
@HackerEarth.

Así es como empecé. ¡Ve a buscar a un amigo o alguien pobre y construye tu primer proyecto gratis! Entonces puede usar este proyecto en su cartera y, si es bueno, no importará que se haya hecho de forma gratuita, porque habrá adquirido experiencia … y buen karma 🙂

Primero, diría que involucrarse en su comunidad local es un gran primer paso que puede dar.

Su mercado laboral puede estar más cerca de lo que piensa.

En segundo lugar, trabajaría para desarrollar una presencia en línea que hable bien de mi conjunto de habilidades. Configurar un sitio web personal / aplicación web no es un mal lugar para comenzar. Sentarse en una URL valiosa también es un buen lugar para comenzar [autopromoción] Próximamente: PythonAnywhere [/ autopromoción]. Sin embargo, la mía se encuentra actualmente en la fase de reconstrucción.

Tercero, Github es tu mejor amigo. Bifurcar un proyecto, solucionar un problema. Sigue los eventos.

Cuarto, descubra cómo aprovechar quién es usted fuera de su trabajo como un activo. Aportas más que un conjunto de habilidades a cualquier empresa a la que vayas. No te olvides de eso.

También experimenté este problema cuando comencé como programador hace aproximadamente un año y creo que tengo algunos consejos bajo la manga.

paso 1 , comience su propia empresa como propietario único, de esa manera no tiene que preocuparse por el recaudador de impuestos y el nombre de su empresa no tiene que ser elegante o complicado, por ejemplo, si su nombre es John Doe y usted realmente quiero tener experiencia laboral en JavaScript y sus bibliotecas, React, angular, lo que sea … todo lo que tienes que hacer es nombrar a tu empresa recién formada después de ti (al menos nombrarla con algo que te conecte directamente contigo), por ejemplo … ‘Johns Desarrollo web ‘o’ Desarrollo de software Does ‘o’ Servicios web John Does ‘, entiendes el punto y luego te empleas como freelance en JavaScript o desarrollo web.

paso. 2 , si el nombre de su empresa era ‘John Does Web Services’, su próximo paso es abrir una página de LinkedIn para su empresa y enumerar su trabajo en su perfil de LinkedIn como ‘Mi nombre es John Doe y soy un desarrollador web senior en John ¿Servicios web? wolaahh

paso 3 , crea un sitio web oficial para tu empresa y lo aloja, comprar un tema de arranque es lo suficientemente bueno para este trabajo y tener tu nombre de dominio como http://johndoeswebservoces.com al menos asígnele un nombre claro. Consejo: no asigne a su nombre de dominio un nombre genérico como ‘http://Awesomewebsites.com’, esto no dice nada sobre usted o lo que hace.

paso 4, no es necesario, pero vale la pena mencionar aquí que puedes pensar en hacer tarjetas de visita para tu empresa, puede que no seas bueno en Photoshop y eso está bien, pero puedes buscar tarjetas de visita gratis en Google o contratar a alguien de fiverr.com para diseñar un tarjeta de visita tu a partir de $ 5

paso 5, comience a crear aplicaciones, sitios web y cárguelos en los sitios web de su empresa para mostrar su cartera y el código de inserción a Github. Si no sabe cómo insertar código en GitHub, puede aprender esto buscando en Google o tomando un tutorial en él.

conclusión, ahora puede decir que es un desarrollador web en John Does Web Services en su currículum vitae y dar a las personas sus tarjetas de presentación para probarlo. Eso fue lo que hice y una compañía de desarrollo de software local me contrató para una pasantía. Todavía estoy aprendiendo JavaScript y sigo codificando.

Gracias por el A2A!

No dice lo que está haciendo en sus 100 horas / semana, pero supongo que no se trata de programación, por lo que se pregunta cómo puede aprovechar sus habilidades informáticas existentes y aprender a programar.

Afortunadamente, es más fácil que nunca aprender programación en general, y programación web en particular. algunos recursos son:

  • Khan Academy: tiene una sección completa dedicada al aprendizaje de la programación de computadoras en general y JavaScript (el lenguaje utilizado para el desarrollo web front-end) en particular
  • Para Ruby on rails, visite http://www.codecademy.com/tracks … o http://teamtreehouse.com/library … (ambos vinculados a Khan Academy)
  • Youtube tiene muchos tutoriales: busque “Tutorial de Javascript” o “Tutorial de Ruby”
  • Sorprendentemente, algunas universidades, incluido el MIT, han puesto a disposición gran parte de su material.
    Gratis en línea. Por ejemplo, aquí está la primera hora de introducción del MIT a la informática:
  • Una vez que tenga tutoriales saliendo de sus oídos: código, código, código. Comience por escribir un programa simple (diga algo donde escriba algo en un cuadro de texto, presione ‘Enviar’ e imprima lo que escribieron, al revés, en negrita), y luego vaya desde allí. Google para ‘ejercicios introductorios de programación de JavaScript’ y verá muchos ejemplos, pero la clave después de comenzar es elegir cosas que le resulten personalmente interesantes / emocionantes. Intenta programar un juego simple.
  • ¡Buena suerte!

Adam tiene toda la razón. Convertirse en un excelente programador no será el resultado de ningún producto o seminario, sino horas y horas de práctica.

Sin embargo, existen excelentes herramientas que pueden ayudarlo a desarrollar sus habilidades mientras trabaja en proyectos interesantes. CodeAcademy.com ya se ha mencionado, y me gustaría agregar un complemento adicional a dos sitios web (divulgación completa: I para el primero).

OpenSesame.com tiene varios cursos altamente calificados por Mark Lassof de LearnToProgram.tv. El estilo de enseñanza de Mark es fácil de seguir y muy completo, perfecto si recién está comenzando con estos idiomas o necesita un repaso.

Sus cursos de desarrollo web front-end incluyen:

HTML y CSS para principiantes
https://www.opensesame.com/onlin

Desarrollo Ajax
https://www.opensesame.com/onlin

Comenzando con JavaScript
https://www.opensesame.com/onlin

Treehouse ( http://teamtreehouse.com ) es otra herramienta que debe considerar. Parece que cumplen con sus criterios: por una tarifa mensual, puede seleccionar varias lecciones del proyecto con tutoriales en video y entrevistas con profesionales.