Cómo pasar de aficionado a desarrollador profesional

Hace unos años, iba y venía entre trabajos de jardinería y trabajos en restaurantes. Acababa de salir de la universidad y no sabía qué iba a hacer con mi vida.

Tenía muchas ideas, pero ninguna dirección. Durante ese tiempo, comencé a enseñarme a programar por mí mismo. Al principio fue un hobby. Pensé que era genial poder construir cosas usando nada más que mi cerebro y algo de código.

Pero luego comencé a pensar en el rumbo de mi vida y lo vi como una vida potencial.

Al principio, me quité la idea de la cabeza. No podía permitirme una educación real. Ya dejé la universidad una vez debido al dinero, y si me dedicaba a la informática, tendría que empezar de nuevo.

Me iría con 6 años de estudios y más de $ 50,000 en deuda si tomara esa ruta. Entonces esa no era una opción.

Luego comencé a pensar que podía aprender a desarrollar web por mí mismo lo suficientemente bien como para conseguir una pasantía.

Mi plan inicial era presentarme a algunas empresas de mi ciudad y preguntarles si querían reunirse conmigo. Quería hablar sobre el potencial de trabajar con ellos mientras estaba en la escuela. De esa manera podría pagar la escuela y adquirir algo de experiencia al mismo tiempo.

Así que me tomé en serio el desarrollo web.

En lugar de retoques, comencé a construir un portafolio real y documentar mis habilidades.

Comencé a estar activo en lugares como Stack Overflow.

Creé algunas aplicaciones prácticas y las puse en GitHub. No eran nada sofisticados, pero demostraron que sabía codificar.

Una empresa no me ofreció un trabajo a tiempo parcial. No dijeron que regresara después de que obtuviera mi título. Me ofrecieron un trabajo de tiempo completo con una prueba de 6 meses como su nuevo desarrollador junior.

Yo estaba sobre la luna. Resulta que una vez que me puse serio y comencé a desarrollarme con un propósito, aprendí bastante por mí mismo.

Pude responder a sus preguntas. Pude guiarlos a través de las modestas aplicaciones que había creado. Y pude explicar cómo funcionaban mis proyectos.

Me quedé en esa empresa durante dos años y medio y luego acepté un trabajo como desarrollador web para la ciudad en la que vivo.

Mírate a ti mismo como un aprendiz de por vida

Una parte importante de mi transición a un rol de desarrollador profesional fue ver el tiempo que pasé con mi empresa anterior como un aprendizaje. Aprendí todo lo que pude.

El conocimiento del mundo real adquirido al trabajar en una empresa es invaluable. Saber trabajar con clientes, compañeros de trabajo y dentro de las limitaciones es fundamental. Esto es algo que solo puede aprender sobre el terreno.

Si bien puedo saber más ahora que cuando comencé ese trabajo, nunca dejaré de verme a mí mismo como un aprendiz. Uno de los requisitos para ser un gran desarrollador es el deseo de seguir aprendiendo. En el momento en que nos veamos como dominando una habilidad es el momento en que dejamos de crecer.

Hemingway lo dijo mejor:

Todos somos aprendices de un oficio en el que nadie llega a ser maestro.

Hablaba de escribir, pero también se aplica al desarrollo.

La combinación de enseñarme a mí misma y trabajar para una empresa me ha permitido aprender mucho (incluso estoy escribiendo un libro). Entiendo la práctica técnica del desarrollo web y también cómo pasar de aficionado a profesional. Es un camino que cualquiera puede tomar, independientemente de su tiempo o habilidades.

Para darle un poco de perspectiva, estaba trabajando en dos trabajos a la vez, uno de los cuales consistía en levantarme a las 4 de la mañana para conducir un montacargas.

Aprender a codificar como un adulto ocupado requiere determinación, impulso y una persistencia obstinada.

Haciendo la transición de aficionado a profesional

Este es un proceso que puede seguir. El viaje exacto será diferente para todos, pero hay pasos que puede seguir para llevarlo por el camino correcto.

1. Date cuenta de que puedes hacer esto

Cualquiera puede aprender a ser desarrollador. Existe la idea de que ser autodidacta es algo que solo un cierto tipo de persona puede hacer. Tienen razón en cierto sentido. Debe ser autónomo y estar motivado por algo más que el pago inmediato. Pero cualquiera puede convertirse en este tipo de personas.

Existe esta idea presente en nuestra sociedad de que algunas personas nacen con ciertos rasgos y otras no. Es perjudicial para el crecimiento y una de las razones por las que tanta gente se siente insatisfecha en la vida.

Si siempre sintió que “lo tenía” o no lo tenía, sería muy fácil desanimarse.

Quiero acabar con ese mito ahora mismo. Cualquiera puede aprender a motivarse y aprender a programar por sí mismo. O inicie un negocio exitoso. O lograr un objetivo a largo plazo.

No se trata de tener una gran oportunidad o nacer con los rasgos adecuados. Se trata de perseverancia.

Si puedes agachar la cabeza, superar los tiempos difíciles y comprometerte, puedes hacer lo que quieras.

Esa última parte es muy importante, pero quiero dar una advertencia antes de continuar.

Las personas a menudo son demasiado rápidas para aceptar sus propios éxitos y los éxitos de los demás. Se conoce como sesgo de supervivencia.

Hay un elemento de suerte en todo. A veces, las cosas simplemente funcionan. Por ejemplo, me puse en contacto con una agencia de desarrollo web y tuve la suerte de que estaban buscando a alguien en ese momento y yo encajaba con lo que estaban buscando.

Pero que es la suerte?

Claro, tuve suerte de conseguir ese trabajo, pero nunca habría tenido suerte si no hubiera tomado la decisión de enseñarme a desarrollar por mí mismo. Y luego tomó la decisión de postularse para ese trabajo.

La suerte juega un papel importante, pero el mito es que todo depende de la suerte. Puede aumentar sus probabilidades de tener suerte, solo tiene que estar dispuesto a exponerse.

Pero la suerte nunca te encontrará si no te comprometes a ser bueno en algo.

2. Comprométete a ser increíble en tu oficio

Una de mis mayores debilidades es que me aburro y me distraigo. Quiero saltar al próximo proyecto. Esta tendencia acabará con tu éxito.

Se siente como libertad. Ser capaz de saltar entre cualquier proyecto que suceda para adaptarse a tu estado de ánimo ese día, pero ...

¡Es una trampa! Si no quita nada más de este artículo, que sea esto:

La clave número uno para tener éxito en convertirse en un desarrollador profesional es comprometerse. Comprométete y nunca te detengas hasta que lo hagas realidad.

Esto se aplica a todo.

Las personas se estresan sobre qué marco usar. Pero lo que importa es elegir uno y seguir con él. Puede transferir y aprender nuevos lenguajes y marcos más adelante.

Lo que importa son las habilidades de resolución de problemas que adquirirá al desarrollar. La capacidad de pensar como un desarrollador.

Me enseñé a programar por mí mismo usando Laravel, pero la empresa que me contrató usó CakePHP. No importaba. Sabían que podía adquirir las habilidades técnicas necesarias para cambiar de marco.

Elija una dirección y consúltela, pase lo que pase. Tienes que eliminar la posibilidad de distraerte con otra cosa.

Pocos sentimientos pueden compararse con la incesante búsqueda del dominio de un oficio.

No es facil. Una vez que aprenda a ignorar las distracciones, notará un aumento en el disfrute de su trabajo.

A Mike Rowe le gusta decir que la gente no debería empezar por encontrar su pasión.

La gente se siente muy infeliz porque busca la carrera perfecta. Buscan el que les apasiona.

Pero la pasión proviene de un deseo imparable de ser increíble en tu oficio. Una vez que adopte esa mentalidad, sus habilidades como desarrollador cobrarán una nueva vida.

3. Empiece a construir cosas de inmediato

Los aspirantes a desarrolladores pueden quedarse atrapados en la trampa de leer demasiado sin tomar medidas.

Los tutoriales y los libros son excelentes para aprender los conceptos básicos. El problema es que inculcan una falsa sensación de confianza en el desarrollador.

¿Alguna vez ha terminado un libro de programación y ha ido a construir algo por su cuenta solo para darse cuenta de que no tenía idea de cómo hacerlo? Entonces sabes de lo que estoy hablando.

La solución a esto es simple, pero no fácil.

Empiece a construir.

Haz algo. Cree una aplicación que resuelva un problema que tenga en su propia vida o que aborde un problema de alguien cercano a usted.

Haz algo para divertirte.

Haz algo y ponlo ahí. Hágalo de código abierto y colóquelo en GitHub. No lo estás haciendo por nadie más, es por ti, así que no te preocupes por la opinión de otras personas al respecto.

Tu código será feo al principio. Miro hacia atrás en parte del código que escribí incluso hace unos meses y quiero vomitar. Pero no se puede aprender a desarrollar sin construir cosas. Los libros son fantásticos y estoy obsesionado con leer tantos como sea posible. Entonces debes aplicar ese conocimiento.

Te encontrarás con problemas y tendrás problemas. Eso es bueno. Esos son los momentos en los que más aprendemos.

Comience construyendo cosas que resuelvan problemas, hablaré más sobre eso en el paso 6 a continuación.

4. Configure una presencia en línea

Tan pronto como comience a construir cosas, querrá configurar una presencia en línea. Tu cuenta de GitHub será un gran comienzo.

Aquí es donde podrás albergar los proyectos en los que estás trabajando y compartirlos con el mundo.

Pero quieres ir más lejos que esto. Recomiendo configurar su propio sitio de cartera.

Este sitio hará algunas cosas:

  1. Servirá como un lugar público para contarles a los posibles empleadores sobre usted.
  2. Será otro lugar donde podrás exhibir tu trabajo.
  3. Te servirá de plataforma

Ese último es enorme. Una vez que comiences a construir cosas, debes comenzar a escribir sobre ellas de inmediato. Inicie un blog sencillo en el que comparta en qué está trabajando y enseñe todo lo que sabe.

Esta es una de las mejores formas de darles a los empleadores potenciales una idea de quién es usted y qué puede hacer. Es una forma de dar a conocer su nombre y comenzar a construir una plataforma para usted.

Esto puede generar oportunidades laborales y la posibilidad de obtener más ingresos al escribir libros o trabajar independientemente.

Su sitio debe tener un propósito muy específico.

La mayoría de las personas crean un currículum en línea, pero debería hacer más. ¿Cuál es tu objetivo específico? Su sitio web debe diseñarse y crearse en torno a ese objetivo.

Si desea obtener un trabajo en un determinado tipo de proyecto o con un determinado marco, colóquelo en su sitio.

Recomiendo tener 4 áreas principales para su sitio:

  1. Página de inicio

Su página de inicio es el punto de entrada a su sitio. Debe proporcionar una descripción general muy breve sobre quién es usted y qué hace. Y debe orientar a las personas para que vayan donde sea más relevante para ellos.

Por ejemplo, podría tener dos botones principales. Una que lleva a las personas a tu sección de redacción para obtener más información sobre el desarrollo web y otra que lleva a una página de contrátame si alguien está interesado en contratarte.

2. Escritura

Aquí es donde vivirán tu blog y tus tutoriales. Escriba todo lo que pueda aquí y no tenga miedo de compartirlo.

3. Acerca de

Una sección sencilla acerca de que entra en más detalles sobre quién es usted y qué hace. No hagas de esto una historia de vida. Nuevamente, oriente esta sección para que sea relevante para lo que desea hacer.

En lugar de hablar sobre su vida personal, hable sobre lo que lo llevó al desarrollo web, su viaje hasta ahora y hacia dónde quiere ir. Mencione algunos de sus proyectos favoritos y vincúlelos.

4. Contratame

Una parte esencial de su sitio, aquí es donde las personas irán si están interesadas en contratarlo como desarrollador.

Asegúrese de encontrar el equilibrio adecuado entre venderse a sí mismo y ser honesto. Puede haber cierta superposición entre esta página y su página Acerca de, pero esta página será más específica sobre sus habilidades y lo que aporta.

Esta página también debe tener un formulario de contacto para que las personas puedan ponerse en contacto.

Además de su propio sitio, comience a ofrecer escribir para otras publicaciones importantes. Luego, puede proporcionar un enlace a su sitio en la sección de biografía.

5. Empiece a enseñar todo lo que sabe

Nathan Barry es un gran fanático de enseñar todo lo que sabe. Cuenta la historia de Chris Coyier, fundador de CSS Tricks.

Ese sitio comenzó cuando Chris escribía públicamente sobre lo que estaba aprendiendo para que otros pudieran seguirlo. Ahora es uno de los sitios de desarrollo web más grandes que existen.

La lección aquí es que no es necesario ser el mayor experto del mundo para comenzar a escribir sobre algo y enseñarlo.

En el mundo de los negocios en línea, existe esta idea del experto relativo. Es la idea de que todo el mundo es experto en algo relativo a otra persona.

Tengo mis problemas con esto, especialmente cuando alguien lo usa para justificar la venta de algo que tal vez no debería vender. Pero es una comparación útil.

Lo que me molesta es el uso de la palabra experto. No creo que haya nada malo en enseñar lo que sabes, e incluso potencialmente vender esa información si es valiosa para otra persona.

Pero llamarse a sí mismo un experto puede llevarlo demasiado lejos. Entonces, cuando escriba su contenido, acérquese a él con honestidad.

Prefiero el término aprendizaje en público.

Hay muchas personas que comenzaron simplemente siendo un aprendiz público. Estaban aprendiendo un oficio y documentando lo que estaban aprendiendo en el camino.

Esta es la manera perfecta de abordar la enseñanza de todo lo que sabe. A medida que aprende más y más, aumenta su contenido y se convierte en un mejor escritor en el proceso. Con el tiempo, otros en su industria comenzarán a verlo como una autoridad en su espacio.

Esto será invaluable tanto cuando se trata de encontrar un trabajo como si alguna vez desea emprender una actividad por su cuenta.

6. Construye para resolver problemas

Uno de los aspectos más importantes de convertirse en un desarrollador profesional es hacer todo con una intención específica.

Una cosa es crear aplicaciones aleatorias por diversión, y otra es crear aplicaciones y sitios que resuelvan problemas específicos.

Las tiendas de desarrollo web no están realmente en el negocio de la codificación, están en el negocio de resolver problemas. La codificación es solo su herramienta preferida para que eso suceda.

Lea cualquier libro de marketing o redacción y le dirán que venda los beneficios de su producto, no las características.

Los desarrolladores web deben comercializar sus aplicaciones para mostrar cómo resuelven eficazmente los problemas de un cliente. Y luego respalde sus afirmaciones con métricas específicas. Los clientes generalmente responden mejor a este enfoque que si los desarrolladores hablaran sobre las tecnologías de vanguardia que utilizan.

Serás un prospecto muy atractivo para los empleadores si puedes demostrar tus habilidades de programación, así como tu habilidad para codificar con la intención específica de resolver problemas y hacer aplicaciones significativas.

Piense en los beneficios frente a las características cuando se comunica con posibles empleadores o clientes y cuando escribe el contenido de su sitio.

Por supuesto, también debe mencionar su competencia en codificación, pero la mayoría de las personas dedican todo su tiempo a esto. Menciónelo brevemente para que los posibles empleadores sepan lo que hace. Si tiene una cartera de aplicaciones efectivas, sus habilidades de codificación hablarán principalmente por sí mismas.

7. Adopte una mentalidad de aprendiz

El día en que crea que ha dominado algo es el día en que deja de aprender.

Adopte la mentalidad de un aprendiz de por vida. Siempre hay más para aprender y siempre más para mejorar.

Esto es especialmente importante en las primeras etapas de su carrera. Si obtiene un trabajo a tiempo parcial o una pasantía o consigue un puesto como desarrollador junior, debe tener de inmediato la mentalidad de aprender y crecer tanto como sea posible.

Realmente debería hacer esto de inmediato, incluso antes de tener un 'mentor' real.

En su libro, El arte del trabajo, Jeff Goins habla sobre la versión del siglo XXI de la relación aprendiz-maestro.

En la época medieval, la relación era muy formal. Un maestro tomaría a un aprendiz durante años, y poco a poco comenzarían a dominar su oficio hasta que alcanzaran el título de maestro, momento en el que tomarían un aprendiz.

La relación ha cambiado, pero sigue siendo muy importante que te consideres un aprendiz. La principal diferencia es que ahora debe estar atento a posibles mentores y oportunidades de aprendizaje, y habrá muchos a lo largo de su viaje.

En el mundo del desarrollo web, estamos constantemente en Internet, por lo que esto puede presentarse de varias formas.

Los libros, tutoriales, cursos, foros y otras formas de aprendizaje son valiosos. Sin embargo, creo que la forma más valiosa de aprendizaje proviene de aprender de alguien que se encuentra actualmente en la posición en la que quieres estar.

Por eso es tan importante estar ansioso y dispuesto a aprender. Conseguir su primer trabajo de desarrollo no es el final del viaje, es el comienzo.

Es entonces cuando realmente comenzará a aprender y a aumentar exponencialmente sus conocimientos.

8. Aprenda a colaborar

Una de las mayores diferencias entre la codificación como pasatiempo y la codificación para ganarse la vida es aprender a colaborar con las personas.

Deberá interactuar y trabajar con compañeros, jefes, colegas, clientes, empresas asociadas y todo tipo de personalidades a lo largo de su carrera.

Aprender a trabajar eficazmente con otras personas es importante.

En el campo del desarrollo web, la comunicación es clave. Cuando una empresa llega y le dice lo que quiere, y usted no tiene claro exactamente cómo se ve, puede causar muchos problemas y dolores de cabeza en el futuro.

Del mismo modo, si no puede comunicarse con las personas con las que trabaja, su trabajo se verá afectado y no podrá hacer su trabajo también.

Mientras todavía está aprendiendo, hay algunas formas excelentes de hacer esto.

Parte de esto vendrá cuando empieces a enseñar todo lo que sabes. La gente interactuará contigo, a veces de manera negativa, y aprenderás a lidiar con esas situaciones.

También recomiendo encarecidamente contribuir a proyectos de código abierto. Esto le da una idea de cómo es colaborar en un proyecto en el que diferentes personas pueden tener diferentes ideas sobre la mejor manera de hacer las cosas.

Contribuir a proyectos de código abierto puede ser intimidante, pero hará maravillas en su carrera de desarrollo.

Visite este sitio para comenzar.

Sal y gana la vida

Ser desarrollador web es difícil. Significa una vida de aprendizaje continuo y adaptación a las nuevas tecnologías. Es una de esas carreras en las que necesita estar bien versado no solo en tecnología, sino también en negocios y comunicación.

Es un camino extremadamente gratificante. Puedes hacer cosas que resuelven los problemas de las personas y les hacen la vida más fácil, al mismo tiempo que ganas una vida fantástica.

Hay innumerables recursos para ayudarlo a aprender a codificar, muchos de ellos completamente gratuitos, pero parece haber una falta de recursos que ayuden a las personas a hacer esa transición a un desarrollador profesional.

Espero que esta breve guía le proporcione una buena hoja de ruta para que comience a convertirse en un desarrollador profesional.

Recuerde, no sucederá nada a menos que tome medidas. Cree un sitio web de cartera simple, envíe un correo electrónico a algunos empleadores potenciales, escriba algunas publicaciones en Medium. Empiece a hacer algo.

Cuanto más se exponga y cuanto más haga, antes pasará de ser un aficionado a lo profesional.

Hola, soy Ken. Diseño y codifico aplicaciones web. También escribo guías, ensayos, diatribas y manifiestos para desarrolladores y diseñadores en Medium. Si desea mantenerse al día con mi escritura y recibir una notificación cuando escriba algo nuevo, puede registrarse aquí mismo o suscribirse a través de RSS. Recibirá un correo electrónico de vez en cuando cuando escriba algo nuevo, eso es todo. También puede enviarme un correo electrónico a [email protected] si tiene una pregunta, comentario, mensaje de odio o simplemente quiere saludar. Gracias por leer ?