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

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 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 las pruebas escritas 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! Pon esas cosas de Guthub en tu 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.

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 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

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. 😉

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.

conclusión, ahora puede decir que es un desarrollador web en John Does Web Services en su Currículum Vitae y entregar 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.

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.

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 trabajos en 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]

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 usted 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 si está ahí.

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) )

Las respuestas que le aconsejan que ponga su conocimiento a trabajar en problemas reales es su mejor plan.

Sin embargo, tenga en cuenta que los proyectos de desarrollo de software generalmente implican un equipo. Trabajar con un equipo de desarrolladores, preguntas y respuestas, bases de datos y otros ingenieros variados es muy diferente a dominar las tecnologías.

Cuando haces todo el trabajo como desarrollador exclusivo, te pones todos estos y más sombreros para el desarrollo de software. En ese sentido, le recomiendo que “sepa” cuando tiene el sombrero puesto frente a otro e intente practicar las mejores prácticas y metodologías de cada uno. Finjo que puede haber futuros miembros del equipo cuando trabajo solo. Así que cosas simples como los compromisos de control de versiones y los comentarios leídos como un esfuerzo de desarrollo sustantivo están en juego. Esto se aplica a los documentos de código o al momento de detenerse y crear una solución OO frente a un montón de código de espagueti o mirar enfoques de diseño de bases de datos relacionales e intentar hacer el que mejor se adapte.

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 escribiendo 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!

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.

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.

Soy un desarrollador de UI y aquí hay una hoja de ruta que planeo tomar, si mi carrera va hacia el sur y estoy solo.

Paso 1: crea un sitio web personal.
Paso 2: Cree un perfil independiente en odesk o upwork.
Paso 3: Cree un perfil de linkedin / skillpages que enumere todas las áreas de especialización.
Paso 4: esta parte es crucial. Enlace su blog / sitio web personal a estos perfiles.

Paso 5: Busca trabajos / conciertos.

Por supuesto, nunca he llegado a hacer todo esto personalmente, ya que casi siempre encuentro un trabajo a través de mi consultoría.

Si desea poseer habilidades que lo contraten, adquiera las habilidades que figuran en las ofertas de trabajo. En este momento, puede encontrar una gran cantidad de ofertas de trabajo en busca de angularJS, goJS, extJS, Knockout, Backbone, etc. Aprenda. Luego afirma que los conoces. Aprenda lo suficiente para responder algunas preguntas básicas de la entrevista. Más allá de eso, nadie va a cavar demasiado profundo.

Otro aspecto clave de todo, es la capacidad de codificar rápidamente. Practique el uso de estos marcos. Comience con un marco y pronto aprenderá a buscar en Google y aprender nuevos marcos sobre la marcha. Esto es lo que necesita el mercado; alguien que puede aprender rápidamente y usar su conocimiento limitado de la mejor manera posible; No es un sabelotodo.

Bueno, dado que soy de la India, y la mayoría de las universidades aquí tienen solo una pequeña o ninguna porción de WebDev en el plan de estudios. La mayoría de los estudiantes aquí JS de fuentes en línea solamente.
Entonces, para responder a su pregunta, puede escribirla en su currículum sobre todos los proyectos que ha realizado en JS.
Todos los marcos que haces.
Verá, al final, las empresas buscan personas que puedan ayudarles a desarrollar sus productos y, dado que usted ha trabajado con JS, les demostrará su talento.
Tu título no decide tus calificaciones, tus habilidades lo hacen.
Intenta convencer a tus reclutadores de que aprendiste JS aparte de tus asignaturas habituales.
Espero que esto ayude. Gracias por A2A.
También “Si conoces JS, conoces JS”.
La mejor de las suertes.

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.

Gracias por A2A.

Su pregunta ya ha sido respondida por Gabe, Ahmed y Ken.

Le ayudará a armarlo y agregar mis puntos con un enfoque para obtener un trabajo en unos meses.

  1. Comience con HTML, CSS, Javascript y JQuery: estos son lenguajes importantes independientemente del tipo de tecnología de back-end que decida elegir. Puede usar todos los recursos mencionados Ahmed y Ken, todos son buenos. Puede recoger esto dentro de los 3 meses que necesita mucha teoría de práctica de código que no sirve de nada. Hay escasez de buen talento en estas habilidades. Entonces, si realmente puede dominar estos, puede obtener un trabajo como aprendiz.
  2. Una vez que sea suave con Front-end, puede pasar lentamente a tecnologías de back-end como Ruby y Ruby-on-Rails.
  3. Sigue practicando tu código trabajando en proyectos de práctica (lee Udemy aquí), acepta desafíos en Hacker Rank y Hacker Earth y aumenta tus puntuaciones.
  4. Cree su perfil de Github y comience a contribuir de la manera más pequeña posible al proyecto de código abierto.

Recuerde tener una actitud de aprender, practicar y compartir.

Espero que esto ayude,
Salud

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.

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.

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.

3 meses es un marco demasiado pequeño para llamar a alguien desarrollador de software. La profundidad es inmensa y al mismo tiempo muy implacable.

La programación tiene que ver con la práctica y esa práctica muy consciente. Aunque en 3 meses puedes obtener un puesto junior en cualquier empresa.

Elija un lenguaje / marco de programación y manténgalo. (Nunca lo hago y me arrepiento después).
Cree proyectos, y esa es la única manera de sentirse cómodo con el lenguaje / marco de programación

Aprende a pensar algorítmicamente. La mayoría de las veces, es bueno tener una solución en general y luego traducirla al código.

Y tenga una cosa en mente, para aprender cualquier cosa, uno necesita dar 10 años de trabajo duro para convertirse en experto en ello.

Lea esto Programación para aprender en diez años

More Interesting

Cómo prepararse para el examen escrito de Tech Mahindra

Bombardeé la entrevista en una empresa de ensueño hablando demasiado. ¿Qué tengo que hacer?

¿Qué sucede si alguien selecciona para el trabajo en la entrevista pero no sabe nada relacionado con ese trabajo?

¿Seguiría contratando a un desarrollador de software si él / ella es débil en algoritmos pero tiene un historial exitoso de desarrollo de nivel de producción?

¿Qué podría estar haciendo mal si obtengo el 99% de las entrevistas de selección para los roles de SDE en compañías como Google, Facebook, Amazon, pero no entrevistas en el sitio?

¿Qué puedo esperar de una entrevista telefónica con Directi? ¿En qué temas debo concentrarme para prepararme?

¿Qué pasatiempos son seguros para una entrevista?

¿Qué hago si fallé en la entrevista de TISS?

Cómo prepararse para una entrevista en Google y Facebook en 2 meses si llevo 2 años trabajando como SDE

Cómo obtener una entrevista en Bridgewater Associates como estudiante de una universidad canadiense

¿Son 14 horas al día durante 9 meses suficientes para prepararse para la entrevista de Google y Facebook?

¿Es mejor recibir llamadas de entrevista y luego ir a una ciudad como Bangalore o simplemente mudarse allí e ir a pasear?

Soy una tolva de trabajo. ¿Cómo obtengo entrevistas ahora que tengo mala reputación?

Cómo hacer una presentación impresionante como oficial de seguridad en una entrevista

¿Cómo debe prepararse un estudiante universitario de CS reciente para una entrevista de trabajo de nivel de entrada?