¿Qué debo elegir entre codificación algorítmica y desarrollo?

Estoy en las primeras etapas de mi carrera como ingeniero de software, así que tome mi respuesta con un grano de sal.

Las habilidades de desarrollo y las habilidades algorítmicas son increíblemente importantes para ser un desarrollador fuerte. Estar familiarizado con muchas herramientas de desarrollo es genial. Pueden ayudarlo a realizar sus ideas en productos que funcionen. Sin embargo, es imposible ser un desarrollador sólido sin fundamentos sólidos en algoritmos. Esas habilidades básicas lo mantendrán sensible a los problemas de rendimiento y eficiencia en su trabajo de desarrollo día a día (hora a hora). Además, familiarizarse con los algoritmos y el pensamiento algorítmico puede mejorar sus habilidades generales de resolución de problemas, incluso al abordar problemas de “mayor escala” que no implican la implementación o formulación de algoritmos individuales.

No debe “continuar con el desarrollo” con la esperanza de hacer algo universalmente impactante. Debe continuar con él para convertirse en un desarrollador fuerte que escribirá código que se convertirá en herramientas o productos significativos. Aprenda las últimas tecnologías y marcos para que sus habilidades siempre estén en demanda y siempre pueda hacer las cosas que desea hacer de la mejor manera disponible. Del mismo modo, debe estudiar algoritmos para poder escribir código limpio de alto rendimiento y resolver cualquier problema de “informática” que pueda enfrentar en su camino como desarrollador.

No se desanime al no poder responder preguntas “algorítmicas” que son típicas de las entrevistas técnicas, pero tampoco las descarte como pruebas no esenciales o ineficaces de sus habilidades. Esas preguntas se hacen en entrevistas técnicas por una razón legítima: para evaluar las habilidades de resolución de problemas de los candidatos y la rapidez con que pueden convertir las soluciones en código de trabajo. Claro, las preguntas de la entrevista técnica se centran principalmente en problemas muy abstractos que enfatizan la velocidad, pero esas cosas también importan y, por suerte, no son demasiado difíciles de preparar. Tener una buena comprensión de Cracking the Coding Interview y analizar los problemas de HackerRank en una pizarra en una amplia gama de categorías de preguntas (principalmente programación dinámica, búsqueda / clasificación, estructuras de datos básicas, árboles y gráficos) durante 60-80 horas debería ser suficiente para aprobar la mayoría de las entrevistas técnicas “convencionales”, al menos en los Estados Unidos.

Si estás en la escuela superior, estoy seguro de que tienes un buen dominio de los algoritmos. Si está buscando ser contratado por gigantes tecnológicos de renombre, le resultará difícil sin un dominio de los algoritmos clásicos.

Pero la vida está llena de opciones.

En el mundo real, la mayoría de las aplicaciones comerciales necesitan un gran diseño funcional y eficiencia básica en forma de buenos algoritmos (clásicos). Por otro lado, el desarrollo de aplicaciones de negocios no paga mucho en India, ya que la mayoría de los trabajos en el campo no necesitan habilidades increíbles de computación / programación. Esto es especialmente cierto en el caso de aplicaciones basadas en Java.

A la larga, si se dirige a los roles de gerente de producto / desarrollo de producto, una vasta experiencia en desarrollo podría resultar extremadamente útil.

Aquí hay un caso intrigante de un programador novato (no realmente) que hizo algo tan impactante como lo expresó apasionadamente. La respuesta de Erin Parker a tengo 24 años y recién comencé a aprender codificación. Quiero ser programador ¿Estoy demasiado tarde en el juego?

¡buena suerte!

  • Mis opiniones pueden estar sesgadas como: He trabajado en el desarrollo de software durante casi una década sin educación formal en CS, pero con un conocimiento de programación principalmente autodidacta (y habilidades algorítmicas realmente básicas).

Yo diría que la codificación es como escribir poesía y los algoritmos son como su contenido.
Piense desde la perspectiva de una empresa, si está escribiendo código incluso para un producto simple como Word, aún necesita diseñar la aplicación de la manera más eficiente posible. Es posible que pueda escribir el código en 5 días, a diferencia de algunos que podrían tardar unas 2 semanas, pero si el producto final es inferior, será inútil.

Por supuesto, cuando comienzas en uno de los gigantes del software, generalmente se te asignarán tareas pequeñas, que requieren más codificación de lo que se piensa en los algoritmos. Pero a medida que avanza, se le valorará más en sus habilidades de diseño (algoritmo) que en la codificación y de eso dependerá su promoción.
¿Crees que muchos de los mejores productos de software en el mercado hoy en día fueron los primeros en la categoría?
En el mundo real, hay muchos productos, que fueron ideas realmente buenas que se codificaron muy rápido y se volvieron virales. Sin embargo, su código encontrará problemas con el escalado (debido a un diseño deficiente) y eventualmente alguien más hará una mejor versión de su producto y ganará toda la gloria.

OMI: se ha señalado correctamente que debe centrarse en los algoritmos en primer lugar.
El desarrollo es más o menos la ejecución de algoritmos.
Si tiene un mejor conocimiento de los algoritmos, puede implementarlo en sus códigos de manera mejor y eficiente. Sin un conocimiento suficiente de los algoritmos, está condenado a tomar rutas más largas para llegar a una solución que de otro modo podría haberse logrado fácilmente.

es decir, la mayoría de las veces se encontrará en situaciones como una persona tratando de alcanzar su nariz, alrededor de la cabeza en lugar de directamente desde el frente.

Gracias por A2A.

En una línea “Solo concéntrate en los algoritmos y aprende su importancia”

Intente persuadir la codificación algorítmica ante todo. Ayudará en la carrera lomg.

En lugar de leer un libro que me gusta desarrollar en mi tiempo libre. No sé si veo cómo es allí desde que estoy en los EE. UU., Pero sugiero ver si puedes sacar más provecho de la codificación algorítmica, mientras sigues haciendo tus propias ideas de desarrollo como hobby. Pronto puede llegar a un proyecto que impresione a una empresa, para que pueda volver a lo que más ama.

More Interesting

¿Qué es una lista de laboratorios de investigación que podrían ofrecer oportunidades de pasantías en el horario de verano y en el área escalable de aprendizaje automático y minería de datos, o en el área de sistemas distribuidos?

¿Puedo solicitar una pasantía de tiempo completo en una oficina durante seis meses en una empresa mientras todavía estoy estudiando en DU (segundo año)?

Cómo construir mi currículum para una pasantía

¿Debo buscar experiencia en investigación o pasantía como estudiante de informática en la universidad?

¿Cuánto es el salario general de una pasantía de ingeniería para un estudiante universitario?

¿Qué tan competitivo soy para obtener una pasantía en una empresa como Pixar, Goldman Sachs o Marvel? ¿Qué me aconsejarías para ser más competitivo? Comenzaré mi tercer año de universidad en SP 2018 con un GPA de 3.67 y un BBA en finanzas.

¿Qué compañía en Kolkata ofrece pasantías para estudiantes de electrónica?

Cómo obtener capacitación o una pasantía en una empresa de buena reputación durante las vacaciones de invierno

¿Cuál es la diferencia entre una pasantía y un proyecto de trabajo?

¿Cuál es el mejor y más relevante momento para que un estudiante de ECE B.Tech haga una pasantía?

¿Qué es un interno?

¿Cómo es hacer una pasantía en un programa de televisión?

¿Cómo podemos hacer una pasantía de investigación con Andrew Ng?

¿Por qué los estudiantes de JU y BESU tardan en encontrar pasantías de verano?

¿Dónde puedo hacer mi pasantía en el segundo año?