De acuerdo, dado que eres de la India y tienes un GPA bajo y te gusta la programación, intentaré ser lo más específico posible en esta respuesta.
En primer lugar, un poco de historia sobre mí para decirles de dónde vengo.
Estudié en una universidad no tan buena en Bangalore y me gradué en Ciencias de la Computación e Ingeniería en el año 2014. MI CGPA fue de 6.78 en el segundo semestre y de 6.27 en el tercer semestre. Había suspendido tres materias: Ingeniería Matemática 1, 2 e Ingeniería Eléctrica.
Mi desempeño en el mundo académico tuvo poco que ver con mi éxito en mi carrera.
- ¿Los musulmanes odian a Daesh?
- ¿Qué es una cosa que odias de ti mismo?
- ¿Por qué las películas de DC se odian tanto?
- ¿Los rusos siguen odiando a los alemanes?
- ¿Por qué a algunos británicos no les gusta / odian a Phil Collins?
Ahora, si sus planes fueran buscar más estudios inmediatamente después de la graduación, tal vez una maestría, entonces sí, su rendimiento académico será importante. Pero como su pregunta era si podía enseñarse a sí mismo a programar y conseguir un buen trabajo, entonces no importa en absoluto.
Ahora, ¿cómo vas a hacer eso?
Primero, debe rechazar la idea de unirse a cualquier empresa de contratación masiva . Son malos lugares para trabajar si usted es un ingeniero junior / de nivel de entrada. También debe dejar de confiar en las colocaciones universitarias para “conseguir” un empleo. Para saber por qué estos lugares son terribles, lea esta respuesta de Quora aquí: la respuesta de Nikhil Dadhich a ¿Qué hacen los ingenieros de software de Infosys, Wipro, CTS o TCS a diario? ¿Te gusta tu trabajo? ¿Es monótono?
La respuesta anterior es muy precisa para los ingenieros de nivel de entrada: tengo pocos amigos y otros conocidos que trabajan en esos lugares, y sus descripciones del trabajo coinciden exactamente con las de la respuesta. Uno de mis amigos que tenía un alto promedio de calificaciones y era muy bueno en el mundo académico, consiguió un trabajo en Accenture; ahora trabaja en Cobol, y generalmente se queja de que no hay motivación en él o en sus otros compañeros. Por supuesto, no hace falta decir que también hay excepciones, hay algunas personas que todavía se alzan en estas organizaciones y les va bien.
A continuación, trate de averiguar si la programación es realmente su taza de té.
Básicamente, la idea es que, cuanto antes se pueda imaginar si le gusta algo o no, mejor – y eso implica elegir un lenguaje de programación o un conjunto de herramientas que le permitan avanzar rápidamente, y de alguna manera darle una sensación. de cómo será la vida si tuvieras que hacer esto todos los días. Para entenderlo, lea la publicación de mi blog aquí, o en esta publicación de Medium, la describí en detalle allí.
Además, lee esta publicación también. ¿Qué lenguaje de programación debes aprender primero? – Da algunas estadísticas interesantes y considera otros factores como el mercado laboral, la facilidad de aprendizaje, etc.
Después de eso, hay una serie de cosas que podría hacer para ayudar a acelerar su aprendizaje y obtener mejores perspectivas profesionales:
- Únete a Free Code Camp. Son el campo de arranque en línea de código abierto más grande del mundo y la comunidad que le enseñan cómo codificar y ayudarlo a conseguir un trabajo. Como su nombre lo indica, es gratis, ahora y siempre. No sabía esto cuando comencé mi viaje de programación, pero si lo hiciera, habría progresado mucho más rápido.
¿Cuál es la ventaja de unirse a esta comunidad? - Puedes conocer a otros desarrolladores como tú, y emparejar el programa con ellos, obtener ánimo y consejos, y exponerte a proyectos de código abierto. Absolutamente debe unirse a su canal gitter.
- Tienes la oportunidad de leer sus asombrosos artículos que ofrecen una gran comprensión del ecosistema tecnológico, cientos de tutoriales para ayudarte a comprender conceptos técnicos, etc.
- La forma más fácil y, a menudo, más rápida de comenzar a programar es aprender a crear aplicaciones, a ser aplicaciones web específicas. Los dos enlaces de blog anteriores más o menos transmiten el mismo mensaje.
La creación de una aplicación web implica dos partes: desarrollo front-end (la parte que usted puede ver en un navegador) y desarrollo back-end (la parte que depende del servidor web, la base de datos, etc.).
Para empezar, el desarrollo del front-end es muy fácil, puedes comenzar aquí: de Zero al Front-end Hero (Parte 1) y luego a esto: de Zero al Front-end Hero (Parte 2)
- Mientras codifica, también asegúrese de seguir ingresando su código en Github, esto será muy útil para conseguir un trabajo. No puedo enfatizar lo importante que es esto: su perfil de Github es mucho más valioso que un currículum.
En este punto, si ha creado pocas aplicaciones front-end y ha comprometido regularmente su código en Github, en realidad puede emplearse . Debes actualizar tus perfiles de LinkedIn y agregar los enlaces a tus proyectos en Github allí. Y mientras tanto, continúen aprendiendo y progresando.
Aprenda cómo construir una aplicación en tiempo real – Cómo construir su propia aplicación Uber-for-X
- A continuación, comenzar a aplicar para las empresas. Hasjob es un sitio maravilloso para obtener buenos roles para desarrolladores de nivel de entrada. La mayoría de las empresas que publican aquí son empresas nuevas basadas en productos que tienen roles de desarrollador.
Lea estas dos publicaciones del blog: Diez reglas para negociar una oferta de trabajo
Y cómo no bombardear su oferta de negociación. Ofrecen información maravillosa sobre cómo acercarse a los entrevistadores y cómo negociar.
Además, lea la publicación de mi blog sobre cómo puede ser el viaje de inicio: la idea de una vida de inicio vigorizante a menudo puede ser una ilusión. La vida en una startup es un viaje en una montaña rusa, pero con la mentalidad correcta puede ser muy gratificante.
Espero que esto te ayude. La naturaleza de esta pregunta merece una respuesta bastante larga, por lo que podría haber omitido ciertos detalles. Hazme un PM si quieres discutir más. ¡Buena suerte!