Siendo ingeniero electrónico, ¿cómo puedo estar a la par con los ingenieros de CS en codificación?

Creo que soy la persona adecuada para responder a su pregunta. También solía tener la misma pasión que tenía desde el tercer año. Intenté con empresas de productos CS como cualquier cosa. Pero fallé , encontré muchos recursos donde puede encontrar la forma de saber si está realmente interesado (la intención es que mi fracaso pueda estar listo para algún éxito)

Permítanme explicar mi historia. También soy un ingeniero electrónico que llegó a la electrónica debido a una orientación inadecuada (lo siento ahora) y lo peor que dicen mis parientes, incluso si tengo la oportunidad de ingresar en CS en pocas NIT y en las mejores universidades. de mi estado (basado en el rango estatal). Solían decir todos los méritos que los estudiantes recibirán de EC y si estudias EC puedes cambiar a cualquier rama después de 4 años y puedes conseguir un trabajo fácilmente. Eso es una tontería. Nada funciona.

Solía ​​sentir que debería ser el geek en lo que sea que haga. Del mismo modo, estudié durante 4 años, terminé la ingeniería con un promedio de 9.33 / 10, ocupé el segundo puesto en el departamento de EC y realicé prácticas en la primera unidad del sector público (PSU) de la India que revolucionó India hoy en el campo de las comunicaciones (U conocerá mucho sobre electrónica desde la adquisición de materias primas para completar el proceso en diferentes áreas) y está haciendo un proyecto financiado por el gobierno central de un instituto reputado del gobierno central de Chennai on Leather utilizando uno de los mejores softwares para industria de la electrónica (NI LabView), solía pensar si no yo, entonces, ¿quién conseguiría un trabajo en electrónica con una escala salarial gorda?

Aunque estoy inclinado hacia la electrónica, solía tener el mismo amor hacia la TI. Solía ​​pensar que el hardware es solo material de basura sin software. Esto me hizo amar el software. Con la pasión que tuve, aprendí algo en CS, bueno en DataStructures, UI y yo podemos hacer algo que otros estudiantes de CS pueden hacer.

Al llegar a las ubicaciones, solíamos tener 2 grandes reclutadores para la electrónica Qualcomm India y Hyundai Electronics y otras pequeñas empresas de electrónica. Solía ​​pensar que puedo eliminarlos a cualquier costo en función de los conocimientos que tengo, pero desafortunadamente no llegaron.

Primera compañía autorizada por la Armada de la India de alguna manera. Segundo segundo gigante de TI más grande de la India. Entré en la sala de entrevistas al ver mi%, se sorprendió por qué estoy interesado en el trabajo de TI y le expliqué el amor y la inclinación hacia ambos. Me llevó 1 hora y 20 minutos convencer al entrevistador de que mostraba algunos de los conocimientos que tengo sobre CS. (El descanso se hace con 10 minutos). ¡Finalmente seleccionado!

El error que cometí en ese momento me di cuenta de que no puedo ingresar a la compañía de productos CS está en 3-2. Entonces mis ojos se despertaron y me di cuenta de que el valor de CS son los paquetes que ofrecen. Realmente esta es una verdad. Poner en marcha paquetes de auge de 7-15L y no tengo ideas para estudios superiores y me encanta la TI. Así que preparado para ir por ese camino finalmente.

Revisé algoritmos y estructuras de datos de GeeksforGeeks | Un portal informático para geeks. Este es solo un sitio web fabuloso que te transformará en un verdadero geek si eres fuerte con los conceptos básicos de Datastructures. Luché en esto durante 3-4 semanas. Poco a poco solía volverme loco, solía usar C para codificar.

Solía ​​volverme loco escribiendo código. Entonces decidí que C no funcionaría para mí. Comencé a buscar lenguajes para reemplazar a CI y Python. De hecho, me enamoré profundamente de él y lo amaré para siempre. Esto me hizo sentir tan feliz que solía escribir código muy fácilmente en muy pocas líneas. Si quieres ser un desarrollador de fondo que no sea CS, te recomendaré 1000% de aprendizaje de Python.

Hay muchos recursos para aprender. Comencé con Learn to code y usé varios otros sitios como Learn Python y, a veces, escribía mal, solía depurar dónde me equivoqué con Visualize Python, Java, JavaScript, TypeScript, Ruby, C, y ejecución de código C ++ y finalmente documentación de Python. La mayor parte del tiempo solía depender de Python Cloud IDE basado en la nube python IDE para codificar sin necesidad de configurar Python en su sistema y para C y otros lenguajes que solía usar ideone.com.

Ahora me siento cómodo con Python y puedo escribir código (no tan bueno como los chicos de CS en mi universidad …). Luego sigo buscando en la web cómo codificar y luego conocí https://www.hackerearth.com/ y en segundo lugar HackerRank. Estos dos son los mejores sitios reales que te harán sentir el verdadero sabor de la codificación. Incluso puedes aprender muchas cosas desde cero en HackerRank, donde hackerearth es principalmente para desafíos.

U puede usar estos recursos para obtener lo mejor de usted. Puede usar otros recursos como codecchef, topcoder, spoj y The Hour of Code está aquí. Puede usarlos después de convertirse en expertos en lo mencionado anteriormente.

Aprendí y, después de ser seleccionado en la universidad, intenté seriamente buscar empresas de productos de TI. Lo primero y más importante es Linux, UNIX, scripting de shell y algos y DS y cualquier lenguaje de codificación. Decir francamente hasta mi primera entrevista con la compañía de productos que no conozco los sabores de UNIX o el ciclo de vida del software. Intenté algunos pero tampoco funcionaron. Finalmente, con mi gigante de TI y trabajando allí, pero nunca me aburrí de mi trabajo, lo que me da una verdadera felicidad.

Hasta hoy también estoy aprendiendo nuevos. Pero mi curso de aprendizaje cambió. Completamente salí de Algo y fui a BigData, Cloud, NOSQL, Elastic search, UI y python

Los resultados son: –

Si usted es un tipo que no es CS, es mejor tener conocimiento de CS definitivamente. Debido a que la mayoría de los reclutamientos fuera del campus o en el campus es solo por ITES.

Si planeas aprender algo, lo mejor es aprender en la universidad. Aprende con total dedicación y seguramente ganarás.

Creo que sería mejor si algún chico de CS señalara cosas que me perdí para que sea útil para las personas que desean cambiar de EC a CS por interés

La programación es un campo altamente incomprendido en la India. Sin ofender a usted ni a nadie más, uno simplemente no se convierte en programador al tomar cursos y aprender nuevos idiomas.
Dicho esto, un gran programador que solo conoce C ++ puede programar un módulo para un cohete en Blue Origin (use Google) mientras que una persona que conoce 10 lenguajes de programación diferentes puede quedar fuera.

Mira, la programación no es solo aprender los idiomas y resolver los problemas que se dan en los libros. Sí, hacerlo te dará un título universitario o un certificado, pero a la larga ninguno de los dos tendrá importancia.
La programación necesita práctica y mucha de ella, y la práctica necesita tiempo. Los expertos en informática ya han pasado 3 años enfocados en aprender a programar, no hay manera de que puedas estar a la par con ellos en uno. Si realmente quieres hacer una carrera como programador, tendrás que tomarlo con calma.
No te apresures a aprender nuevos idiomas; debes aprender un idioma y practicar con él (puedes probar programación competitiva o trabajo independiente para eso). Solo aprender nuevos idiomas no te ayudará en absoluto, será como aprender a leer el guión de Portugal pero sin saber cómo escribir incluso en tu idioma nativo. El mejor enfoque para convertirse en programador es aprender con un idioma con el que se sienta cómodo y luego aplicar lo que aprendió en cualquier otro lugar.

Si desea saber por dónde comenzar, le sugiero que visite el sitio web oficial de la “Universidad Carnegie Mellon” (use Google) eche un vistazo a sus cursos de informática y repítalos.

Básicamente, aprender cómo convertirse en un desarrollador de software es lo mismo que seguir cualquier carrera profesional. Es la perseverancia y no el puro talento lo que determinará su éxito en el campo del software. El primer punto positivo para una persona que está haciendo ingeniería y que ya está familiarizado con las matemáticas y los procesos lógicos es que ya es lo suficientemente competente como para entrar en el campo del software. Otro punto a favor es que no solo será un desarrollador de software, sino también un experto en su profesión y en su caso en electrónica. Aunque es una falacia común que la gente considere el desarrollo de software solo para genio, genio de las matemáticas, geek, prodigio. Estas son falacias peligrosas que impiden que los profesionales de otras disciplinas se unan a las corrientes de creación de software. Discutamos estos mitos comunes:

1) MITO # 1: Necesito ser muy inteligente para convertirme en programador.

REALIDAD: Cualquier persona con enfoque lógico / sentido común y temperamento científico puede convertirse en un desarrollador de software.

Todos los ingenieros de software, programadores, desarrolladores no son genios natos o individuos con un alto coeficiente intelectual, sino que se rigen por una curva de distribución de probabilidad normal, lo que significa que casi el 80% son personas con un coeficiente intelectual normal como usted y yo. Excepto algunos genios, todos siguen el mismo camino riguroso de aprender la codificación, practicándolo a través de proyectos hasta alcanzar la perfección. Una fuerte motivación, perseverancia y firme determinación son el trampolín hacia el éxito. Por lo tanto, nadie viene marcado en su frente para ser un desarrollador de software, hay que sudar para convertirse en uno.

2) MITO # 2: ¡Aprender algoritmos es como aprender ciencia de cohetes, mecánica cuántica o cirugía cardíaca!

REALIDAD: Esta disciplina es como cualquier otra disciplina donde la aptitud lógica y la competencia numérica son las únicas habilidades requeridas.

Aprender a codificar no es tan difícil como existe la creencia común. Necesitas hablar lógicamente con una computadora, pero en un lenguaje especializado, como Python, Javascript, Ruby, R, etc. Debes hablar con la computadora y asignarle tareas para realizar, como la recomendación de películas a un fanático de las películas. Un sitio web de redes sociales. Lo que debe hacer es usar primero una API (interfaz de programa de aplicación) como MS Azure ML, IBM Watson, API de predicción de Google, API de Amazon Machine Learning, Big ML, etc. para realizar análisis de recomendaciones utilizando el conjunto de datos de ‘IMDb’, ‘ Rovi ‘,’ Rotten Tomatoes ‘. Puede usar ‘R’ o ‘Python’ o ‘SQL’ para la programación avanzada en la API. ¿Por qué se prefiere ‘Python’ o ‘R’ o ‘NoSQL’ sobre otros lenguajes de bajo nivel? Bueno, Python tiene una curva de aprendizaje baja con un estilo de código muy limpio y nítido, mientras que R es un lenguaje orientado a datos que se especializa en el manejo de datos grandes, mientras que ‘NoSQL’ es bueno para manejar la implementación de Hadoop para Big Data. La programación se compone de una serie de tareas muy pequeñas y fáciles que parecen ser difíciles y tediosas cuando pueden parecer complejas debido a la gran cantidad de comandos que se utilizan para resolver cualquier problema. La estrategia para abordar tareas complejas es muy simple: ¡Divide y vencerás! Por lo tanto, aprender “cómo codificar” es muy simple, pero luego tiene una curva de aprendizaje empinada. Este problema se puede resolver haciendo un enfoque sistemático, lógico y analítico. Si puede comunicarse bien en cualquier sitio de redes como Facebook, LinkedIn, Quora, etc., entonces seguramente puede comunicarse con la computadora y puede convertirse en un programador exitoso.

MITO # 3 Necesito un título de software formal para desarrollar la aptitud de un desarrollador de software

REALIDAD: La mayoría de los programadores en la industria no tienen un título formal y son de campos aliados.

Puede ser escéptico sobre este hecho, pero es cierto que la mayoría de los desarrolladores de software son de campos aliados y son autodidactas y no tienen un título formal en ingeniería de software. Además, la industria del software está cambiando tan rápidamente que los cursos formales para esas disciplinas como Data Science aún no se han introducido o están en etapa de infancia. La programación de computadoras no es una profesión pura, sino también una empresa comercial donde se aprende la habilidad según las necesidades del mercado y se puede enseñar de la misma manera que alguien puede aprender a usar Autocad, Staad, Adobe Photoshop o Azure ML. Cuando uno comienza en el campo del software, es posible que no sea un programador completo o un científico de datos, pero puede conocer ciertas herramientas para ejecutar aplicaciones particulares y lo mismo puede ser suficiente para obtener un trabajo. Después de estar en el trabajo por algún tiempo, uno puede construir una cartera y comenzar a capacitarse para dominar su oficio. Así es como se convierten en exitosos programadores autodidactas. Ahora muchos lenguajes de programación como Python, R, NoSQL; Las tecnologías y los entornos están ampliamente documentados en línea y cuentan con el respaldo alentador de la comunidad en línea, lo que crea un entorno propicio para el aprendizaje y la práctica en línea.

MITO # 4: requiero una base matemática pura para aprender habilidades de software

REALIDAD: El dominio de la programación no depende directamente de la experiencia en matemáticas.

No es necesario ser un genio matemático para convertirse en un programador competente. No necesita ser un experto en la resolución de ecuaciones diferenciales, series infinitas, integración, etc., sino que solo requiere conocimientos básicos de álgebra básica, temperamento lógico, habilidades analíticas y una mente fría. El conocimiento de las matemáticas avanzadas puede ser necesario en algunos proyectos de ingeniería específicos, pero el requisito en el campo general del software no es tan importante. Por ej. si está diseñando interfaces de usuario con Visual Basic, Shiny o Java, difícilmente usará matemáticas.

MITO # 4: Tengo que aprender el lenguaje de programación más difícil (generalmente lenguaje de bajo nivel), que también es el mejor lenguaje de programación para impulsar mi carrera en el campo del software.

REALIDAD: No hay nada como el “mejor” lenguaje para aprender, ya que puede no ser el mejor para todos los escenarios

No hay nada como el “mejor” lenguaje y la eficacia de un idioma se decide según los requisitos del proyecto. A menudo, debe dominar varios idiomas en su campo profesional, ya que diferentes proyectos pueden requerir diferentes idiomas o múltiples idiomas. Los idiomas se complementan entre sí y tienen un sabor especializado particular para un trabajo o entorno particular. Podemos encontrar que R es más adecuado que Python en la interfaz de Data Science como Azure ML, pero Python es preferido para una sintaxis analítica sólida y de código limpio en problemas de ingeniería. Para el desarrollo de la interfaz de usuario, Javascript puede ser la opción ideal para ser un lenguaje front-end, mientras que PHP puede ser bueno para el desarrollo de back-end. Comparar diferentes idiomas puede ser como comparar una espada con un cuchillo; Se fabrican para diferentes tareas, pero juntas se complementan entre sí para un objetivo común.

Algunos lenguajes pueden ser comparables y pueden servir para el mismo objetivo y funcionalidad, pero pueden diferir en otros aspectos como código abierto frente a comercial, soporte bueno / deficiente, curva de aprendizaje, accesibilidad, etc. PHP es comparable a otros lenguajes de fondo como Java, Perl , o Roby, sin embargo, esto no significa que PHP pueda ser sustituido por otros lenguajes de fondo. Python con Pandas puede cumplir la misma función que R en las soluciones de bases de datos, pero puede que no reemplace a otra. Cada uno tiene su propio sabor y es irremplazable. Uno no debe perder su tiempo simplemente mojándose los pies en el río, sino que debe saltar en la jungla de codificación y aprender a nadar. Comience a jugar con el código para aprender el meollo de la arena del software. Uno debe participar en un proyecto piloto personal para abrir su apetito de software que se convertirá en una gran fuente de motivación para ser un desarrollador de software y luego uno puede decidir sobre la idoneidad de los idiomas que se aprenderán.

MITO # 5: Ya he invertido tanto esfuerzo y tiempo en mi profesión y es demasiado tarde para ser un profesional del software.

REALIDAD: Nadie puede desafiarte a traer cambio, innovación y transición en tu vida. Nunca es demasiado tarde para cambiar de profesión.

Lo que realmente necesita es una fuerte motivación, persistencia, fuerte voluntad, perseverancia y optimismo. Tienes todas las habilidades básicas para convertirte en programador, lo que realmente necesitas es una fuerte motivación, perseverancia y horas de práctica.

Como ya conoce bien algunos lenguajes de programación, puede probar Python, R y NoSQL ya que son muy buenos para el análisis de datos. Hay muchos recursos en línea para ellos. Como Data Science será la principal disciplina en términos de perspectivas de trabajo en las próximas dos décadas, intenta especializarse en el análisis de datos. Te aconsejaría que te unas a cursos gratuitos en línea sobre estructuras de datos en Edx y Coursera y los completes. Esto lo ayudará a seguir un plan de estudios sistemático y terminar estos cursos dentro del tiempo. Aprendes mucho discutiendo en esos foros sobre programación. Luego prueba varios sitios web de codificación como Kaggle para perfeccionar sus habilidades de codificación. La mejor manera es desarrollar un proyecto piloto a nivel personal, ya que eso le dará mucha confianza en el desarrollo de software.

La codificación o programación es algo que cualquiera puede hacer independientemente de la transmisión, incluso si usted es un ingeniero mecánico, puede ser un buen programador. si me preguntas, la práctica es muy importante en lo que respecta a la codificación.

More Interesting

Cuando busca un nuevo trabajo, ¿qué es lo PRIMERO que hace / busca?

¿Cómo es ser contratado para un puesto que no solicitó directamente?

¿Cómo es trabajar como ingeniero de control de procesos en Yokogawa?

¿Acepto el trabajo 'fácil' o me arriesgo y me mudo para una mejor oportunidad?

¿Existe un lugar para las personas artísticas / creativas / de espíritu libre dentro de las consultorías de gestión (marketing) o siguen siendo secas / formales / corporativas?

¿Cuáles son algunas razones por las cuales el gobierno impide que las empresas ingresen a una industria en particular?

¿Qué sería mejor: el curso PGD de CDAC PUNE o la capacitación laboral de RAVINDRABABU RAVULA en tecnologías a partir de 2016?

¿Cómo es trabajar como gerente técnico de programas en Amazon?

¿Qué sitio web es mejor para hacer currículums que no impliquen gastar dinero o imprimir su propia marca de agua?

Cómo ganar experiencia si su trabajo no le permite ir más allá de sus tareas laborales asignadas y cierra sus preguntas

¿Terminaste con un buen trabajo con solo un título de secundaria?

¿Cómo puede un médico indio trabajar a tiempo parcial en Oriente Medio?

¿Cuánto gana un conductor de ferrocarril BNSF? ¿Cuál es su trayectoria profesional?

¿Cómo pueden los jóvenes indios ganar dinero sin migrar a las principales ciudades como Mumbai, Delhi, Pune, Bangalore, Hyderabad o Chennai?

¿Cuán capaz es la Organización Nacional de Investigación Técnica (NTRO) de la India?