¿Tendré problemas como desarrollador de software si tengo dificultades para completar las tareas de programación en la escuela?

Lo estás haciendo mejor que yo. Tomé mi programación 101 dos veces … y luego tomé mi programación 201 dos veces. Entonces tiene la ventaja sobre mí de ser bueno en programas sencillos. Me gradué en 2005 y desde entonces he estado programando para vivir. Los algoritmos no son fáciles, y creo que nunca me sentí cómodo con ellos. Para mí son uno de esos “si no lo usas, fácilmente lo pierdes”. OMI, a menos que seas un superdotado, una clase universitaria de Algoritmos de calidad de cuatro meses, cuando también tienes que dedicar tiempo a otras clases, sería un desafío. Un error temprano que cometí fue saltar a la codificación sin comprender completamente el algoritmo. Resolver el algoritmo en un trozo de papel en seudocódigo o en inglés simple y asegurarse de que lo entendía, antes de escribir el código, ayudó. Además, rara vez obtuve el material en la primera pasada. Como dicen en Motherland “La repetición es madre del conocimiento”, o como dicen aquí “la práctica hace la perfección”. Por lo tanto, no te rindas, ¡hazlo de nuevo! ¡Salud!

Responde a esta pregunta, ¿quieres ser un desarrollador de software?

Desde que comencé la universidad, mi respuesta a esa pregunta fue “sí, sí”. A menudo escuché que las matemáticas se relacionan bien con la informática, así que intenté ir a una especialización en ciencias de la computación, pero fui con una especialización en informática y matemáticas. menor. Luché mucho en matemáticas y ciencias de la computación, pero lo pirateé hasta que terminé mis tareas.

Odio tratar con algoritmos que tienen que ver con muchas matemáticas …

Si crees que deberías poder elegir lo que quieres aprender en un curso universitario, tienes la actitud equivocada. Si realmente quieres convertirte en un software

Haz lo que sea necesario.

Si su objetivo es convertirse en un desarrollador de software, en sentido figurado tendrá que saltar a través de aros que no desea. Si tienes dificultades, pasa más tiempo. Encuentra ayuda de los tutores de la universidad. Ver al profesor. Toma más tiempo.

Al final, las luchas serán su insignia de honor y una base para su carrera como desarrollador de software.

Si “tiene problemas” depende de cómo sus tareas específicas coinciden con su nivel de habilidad.

Hay ingenieros con órdenes de diferencia de habilidad de magnitud que trabajan en el campo, y también hay problemas que difieren en dificultad por orden de magnitud. Un novato en una habitación es el héroe técnico en otra.

Sea cual sea su nivel, sin duda puede evitar problemas al tomar un trabajo menos exigente y tener menos problemas que los programadores más inteligentes del mundo.

Mi sugerencia: disfruta de la dificultad. Hazte bueno en las cosas difíciles que proporcionan valor, y siempre encontrarás un nicho en el que te valoran.

Los algoritmos fundamentales deben buscarse en libros y otros materiales de referencia. p.ej:

El arte de la programación de computadoras, vol. 1: Algoritmos fundamentales, 3a edición: 9780201896831: Computer Science Books @ Amazon.com

Es improbable que usted (o cualquier otra persona, sin importar cuán creativo sea) cree un algoritmo fundamentalmente nuevo para ordenar una lista en la memoria, por ejemplo. La ingeniería de software (trabajo de desarrollador de software formalizado) es la aplicación ideal de resultados conocidos y existentes de Computer Science para resolver nuevos problemas o para resolver problemas existentes en nuevos contextos (como nuevo hardware de computadora): permita que los profesores de CS desarrollen nuevos algoritmos y datos estructuras Los desarrolladores debemos concentrarnos en aplicar CS para diseñar soluciones a los problemas.

Programación (para un desarrollador / ingeniero de software) En mi humilde opinión, se debe percibir como la parte fácil y divertida. La parte tediosa es documentar, especificar y asistir a todas esas reuniones: está creando algo abstracto, directamente accionable solo en y por computadoras. Esto significa que hay una alta sobrecarga de comunicación para los equipos que están haciendo el trabajo de codificación. Asegurarse de que todos trabajen en la misma abstracción utilizando los mismos requisitos y los mismos objetivos y los mismos detalles de interfaz: esa es la parte tediosa, difícil y aburrida. Si no percibe la codificación real y “acariciar la máquina” como la parte divertida, entonces tengo que creer que puede encontrar el trabajo del desarrollador de software tedioso y, en última instancia, poco gratificante.

Las tareas de programación universitaria a menudo tienden a concentrarse en requerir que el estudiante aprenda esta “parte divertida”. Si tiene problemas para completar las tareas que consisten principalmente en “la parte divertida”, tendría que aconsejarle con precaución sobre continuar en esta línea de trabajo.

OTOH, parece haber una tradición en la academia de Ciencias de la Computación, para presentar problemas que favorecen a aquellos que tienen inteligencia cuantitativa y matemática, a favor de aquellos que son “verbalmente” inteligentes. Me encontré con esto hace mucho tiempo en mi entrenamiento. Me encantó la codificación y la resolución reales, pero muchos de los problemas presentados para la solución parecían ser “científicos” y “matemáticos” en lugar de favorecer el lado “inteligente verbal” del cerebro. La codificación de negocios y redes sociales NO es necesariamente así, fuera de IRL (en la vida real).

Gracias por el R2A en esto, Sr. / Sra. Anónima. Aconsejo precaución, pero también una reflexión cuidadosa: ¿es solo el contenido del problema lo que lo está posponiendo o el trabajo de codificación real?

Probablemente no.

Me río porque ese era yo en la universidad. Luché con los algoritmos, particularmente porque pensé que eran una pérdida enorme de tiempo y porque no me gustaba C ++, que nos hicieron hacer nuestro trabajo a domicilio.

Sin embargo, ahora soy ingeniero en una empresa de tecnología de tamaño decente en la ciudad. La tarea es solo eso, tarea. No intentes disfrutarlo (si lo haces, eso es increíble), solo haz lo que puedas para superarlo y aprender el material.

En su carrera y en su tiempo libre trabaje en cosas que le interesen. Así crecerás como programador. Si tiene problemas para hacer eso o encuentra alguna programación interesante, entonces me preocuparía

No necesariamente. Encuentra hacia lo que gravitas. Yo diría que en muchos trabajos no estás escribiendo algunos algoritmos complejos muy a menudo, muchos trabajos haces un desarrollo web más tradicional que ciertamente puede ser bastante complejo, pero en general si lo comparas con la industria del juego, la industria del juego ciertamente requiere un pensamiento serio para resolver algunos de los problemas que enfrenta como desarrollador de juegos.

Encuentra lo que te gusta, apégate a él, aprende bien y estarás bien. No se desanime porque alguna clase le hace hacer algo en lo que simplemente no es bueno.

Es casi seguro que tendrás problemas.

La buena noticia es que cualquiera puede mejorar con la práctica, mucha, mucha práctica. Algunas personas nunca pueden obtenerlo; tienden a ser minoría.

Esto significa escribir software que no se te ha asignado para escribir, todo el tiempo, por ninguna otra razón que no sea practicar.

Elija algo para lo que algunos ya hayan escrito software para hacer, del cual puede obtener una copia, y copie su funcionalidad y apariencia, sin mirar su código fuente. Repite esto muchas veces.

Y oye: no todos están preparados para ser ingenieros de software; algunas personas obtienen un título en negocios y se convierten en gerencia.

Si. Se necesita tiempo y práctica, mucho tiempo y práctica, para desarrollar las habilidades cognitivas para resolver problemas de programación. Resolver un problema de programación significa crear un algoritmo como solución. Inicialmente, tendrá dificultades hasta que su cerebro se acostumbre al proceso de comprender el problema y llegar a los pasos lógicos para resolverlo. Cuanto más lo hagas, más fácil será. Comience con ejercicios de programación simples y vaya avanzando gradualmente hasta llegar a problemas más grandes y complejos.

No tengo forma posible de saber si tendrás problemas como desarrollador, porque hay demasiadas variables en juego.

Puedo decirle que muchos trabajos y proyectos requerirán al menos un nivel de comodidad decente con matemáticas y algoritmos avanzados.

Pero muchos trabajos y proyectos no lo harán.

De cualquier manera: solo le aconsejaría que reconozca sus debilidades y trabaje en ellas, ya que eso lo pondrá a la cabeza y hombros por encima de un gran porcentaje de los desarrolladores en la fuerza laboral.

¡Buena suerte y sigue aprendiendo y practicando!

No, no es normal. Y sí, deberías pasar un mal rato. Los mejores programadores fueron generalmente los mejores estudiantes de matemáticas en su clase de secundaria.

El talento matemático y el talento para desarrollar buenos algoritmos generalmente van de la mano.

El software de prueba paga bien y normalmente no requiere talento matemático.

Los probadores desarrollan algunos algoritmos muy sofisticados para probar completamente el software.

Yo llamaría a eso una señal de advertencia. Se supone que los desarrolladores de software deben hacer más que seguir instrucciones exactas, deben tomar problemas generales y ser creativos para encontrar soluciones económicas y efectivas. Hable con sus profesores o asesores académicos sobre cómo debe proceder. No hay vergüenza en tomar un curso diferente: la programación requiere un cierto talento que no todos poseen, incluidas las personas que son inteligentes y dignas de cualquier otra manera.

Deberías hacerlo bien en la escuela en tus tareas de programación. Las tareas están diseñadas y supervisadas por sus profesores o profesores. Se aplican al trabajo en programación después de sus estudios en la escuela. Puede ser útil ver los estudios en la escuela como capacitación para su trabajo posterior. Debe hacer la programación de acuerdo a cómo desea aplicar la programación más adelante. Por ejemplo, enseñar programación difiere del desarrollo de software usando programación.

Es dificil saberlo. Es posible que solo tenga una crisis de confianza o que sea alguien que no tiene la capacidad. No es una pena no poder programar, es un talento, como el arte o la música; si lo tienes, genial, pero mucha gente no.

La clave para generar confianza son los pequeños pasos: pruebe algo simple y luego mueva lentamente los postes. Si esto no funciona para usted, intente cambiar a un curso diferente.

More Interesting

¿Debo realizar prácticas en gestión de productos o ingeniería de software?

¿Cómo conseguir un trabajo de ingeniería de software en Amazon? ¿Qué calificaciones se requieren para conseguir un trabajo allí?

¿Cuánto puede ganar un ingeniero que se une a Pinterest en una próxima salida a bolsa? (a partir de mayo de 2014)

¿Qué tipo de proyectos buscan empresas como eBay, Amazon, Google, etc. en un currículum para un puesto de pasantía en ingeniería de software?

¿Necesitamos hacer un BCA para la ingeniería de software?

Una vez que me gradúe de la universidad, ¿debería realizar una pasantía o un puesto de nivel de entrada en una empresa de software?

¿Cuáles son algunas diferencias importantes que ha observado entre trabajar con un cliente indio versus uno global en el sector de TI?

Si eres lo suficientemente inteligente como para ser un ingeniero de software en Google, ¿por qué no crearías software o aplicaciones SaaS y las venderías desde tu propia empresa?

¿Qué tan fácil es encontrar un trabajo en Alemania en ingeniería o informática, sin una maestría?

¿Cómo conseguir un trabajo en QA Profile en Bangalore mientras actualmente se encuentra y trabaja en Kolkata como ingeniero de control de calidad y pruebas? Como dar la entrevista

¿Qué es mejor: aprendizaje automático (o todo en general) o ingeniería de software?

Soy un gerente de producto de software de 50 años. ¿Cómo puedo protegerme de la discriminación relacionada con la edad en la industria del software?

¿Cuánto tiempo lleva encontrar un trabajo como ingeniero de software después de graduarse de Hack Reactor?

Cómo administrar mi tiempo para aprender, trabajar y divertirme como estudiante de ingeniería de software

¿Se recomienda tener muchas habilidades técnicas antes de decidir ser un administrador de software? ¿Es posible ser un buen administrador de software sin suficiente aptitud técnica?