¿Puede un desarrollador web beneficiarse de la CS teórica? ¿Cómo puede ser eso?

No tengo un título de CS o una base de CS, y soy autodidacta. He estado haciendo desarrollo web durante ~ 10 años y recientemente acepté mi primer trabajo a tiempo completo como desarrollador web en LinkedIn. Estoy hablando desde la vista de un desarrollador front-end aquí 🙂

No creo que lo necesites. Como en, puedes ser un buen desarrollador web sin él. Pero será muy difícil elevarse a un rol de ingeniero superior o de software sin él. De hecho, el mayor desafío que enfrentarás es conseguir un trabajo.

No solo es realmente difícil obtener entrevistas para trabajos de desarrollo en las principales empresas sin un título de CS, sino que sus entrevistas se adaptan específicamente al conocimiento de CS. Recientemente realicé mi primera búsqueda de trabajo con la intención de conseguir un trabajo en ingeniería de front end en una empresa líder en el área de la bahía. Entrevisté a un montón de empresas, y diría que al menos el 70% de ellas agrupan a todos sus desarrolladores en un proceso de entrevista. Como en, se esperaba que conociera estructuras de datos que ni siquiera existen en mi idioma principal (JS), y algoritmos para problemas que nunca enfrentaré en el front-end. Cosas que enseñan los programas de grado de CS. Esto se consideró el conocimiento básico mínimo que un “ingeniero” debería tener, y si pasa esa etapa, entonces obtiene entrevistas especializadas para el front-end o el back-end.

LinkedIn tiene específicamente desarrolladores web como una organización separada que tiene la libertad de realizar entrevistas de la manera que deseen. Si hubieran intentado entrevistarme de la misma manera que sus ingenieros de software, habría fallado. Pero me hicieron preguntas relevantes para el desarrollador web, y sabía las respuestas. El mayor conocimiento de CS que necesitaba era la recursividad básica.

Otra compañía con la que hablé me ​​dijo que solo contratan nuevos graduados para la ingeniería full-stack. Cuando les dije que aún no estaba calificado para eso y que me gustaría postularme para el puesto de front-end abierto que habían publicado, me dijeron “intentemos la pila completa de todos modos” y me enviaron una prueba de HackerRank que inevitablemente fallé. Decidieron darme otra oportunidad y entrevistarme para el front end, y llegué muy rápido al final del proceso (acepté la oferta de LI antes de mi entrevista final y terminé la conversación).

Dicho todo esto, estoy tomando clases en CS ahora porque quiero poder entender cómo funciona todo y tomar decisiones más informadas sobre los marcos, el rendimiento y, finalmente, convertirme en un ingeniero de pila completa.

Mi punto es que creo que la mayoría de las empresas lo tienen al revés para los desarrolladores web (nota: no estoy hablando de ingenieros de software aquí, específicamente desarrolladores web). En primer lugar, un desarrollador web debería poder escribir código para la web. ENTONCES, el conocimiento de CS puede ayudarlo a tomar mejores decisiones. No como una línea de base.

Sí. Una forma es familiarizarse con varias estructuras de datos y algoritmos y cómo verlos. Entonces estás mejor equipado para determinar cuál es el mejor para usar.

More Interesting

¿Cuáles son algunas historias menos conocidas sobre Alan Turing?

¿Cuáles son algunas de las ofertas de colocación dadas a los estudiantes de matemáticas de IIT-K? ¿Son equivalentes a los chicos de CS?

¿Cuál es la correlación entre las matemáticas y la informática? ¿Por qué es necesario?

¿Se pueden replicar completamente todas las funciones matemáticas utilizando una secuencia de operadores '+', '-', 'x', '/' (como puede y para la potencia x)?

¿Volver a la Universidad para estudiar Matemáticas me ayudará a comprender completamente la lógica del algoritmo de la IA y la Programación Funcional?

¿Cuál es la diferencia entre teorema y lema?

Mi profesor de informática me dice que debería hacer solo una cosa por función. ¿Cuál es la práctica aceptada con respecto a cuánto deben hacer las funciones de trabajo?

¿Cuáles son algunos buenos canales de matemáticas en YouTube por los que todos los estudiantes de CS deben pasar?

¿Todos los espacios nulos son subespacios? y todos los subespacios tienen un espacio nulo?

¿Qué es un algoritmo para encontrar la mediana de la complejidad en o (n) tiempo?

¿Dónde y cómo se superponen la programación y las matemáticas?

¿Cómo convertiría un número binario en un número decimal en la menor complejidad de tiempo?

¿Hay algún buen sitio web para aprender matemáticas avanzadas paso a paso?

Cómo encontrar las soluciones integrales de ecuación usando un programa C / C ++ de manera eficiente, donde A, B, C, D y E son enteros, sabiendo que solo tiene una solución en enteros

Si desmantelo un cubo de Rubik y luego lo vuelvo a montar de todas las formas posibles, ¿cuántos cubos distintos de Rubik son posibles?