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.
- ¿Debería vestirme bien para una pasantía de software cuando el propietario dijo que el código de vestimenta es informal?
- ¿Puedes tomar la última semana libre como pasante de Google?
- ¿Cuál es la mejor pasantía de verano para un estudiante de ingeniería de Berkeley?
- Cómo aumentar mis posibilidades de obtener una pasantía / tesis en Alemania
- ¿Vale la pena hacer una pasantía virtual en el campo del marketing en verano en comparación con las pasantías de tiempo completo?
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.