Como desarrollador de nivel superior (Sr / Lead / CTO), ¿qué aspectos de la informática teórica consideras obligatorio para un candidato de nivel de entrada que tiene un BA / BS en CS?

Muy poco de lo que cubrí en mis cursos “teóricos” de informática ha sido necesario para mí en mi carrera de desarrollo de software. Todavía tengo mis libros de texto a mano en caso de que alguna vez necesite referirme a esos elementos, particularmente al “Libro de la Cenicienta”.


Incluso la clase de ingeniería de software que tomé está desactualizada … lo que abarcaba era, básicamente, el modelo de “cascada”, que ya nadie en su sano juicio usa.

Las clases más útiles de mis días de división superior fueron probablemente las clases sobre estructuras de datos y algoritmos, diseño de compiladores, sistemas operativos (que incluían algunos conceptos de programación distribuida), computación numérica y diseño lógico y teoría de conmutación (que en realidad implicaba un poco de hardware). Lamenté no haber tomado el curso de criptografía, que, en UCSB, fue enseñado por uno de los muchachos que realmente diseñó DES. Sin embargo, mi compañero de cuarto lo tomó, y fue bastante difícil, o eso me dijo. En su lugar, tomé gráficos, que resultaron no ser tan útiles como había pensado.

Supongo, entonces, que buscaría candidatos con una formación académica similar a la mía … pero sospecho que eso sería cierto para muchos desarrolladores senior que responderían a esta pregunta.

Punta de sombrero: Aryeh Friedman para la A2A.

Como académico que dirige un programa de desarrollo de software, definitivamente puedo ver ambas caras de la moneda.

Por el lado de la industria, deseé que los estudiantes salieran de la escuela con una amplia gama de algoritmos, habilidades de depuración locas, habilidades de programación de élite en la plataforma X elegida y familiaridad con el control de fuente y CI.

En el aspecto académico, es difícil ajustar o ajustar los currículos al campo realmente amplio y creciente de la informática. El ajuste para un área como la programación empresarial deja menos espacio para la administración de la red. El objetivo difícil es hacer que la mayor parte de lo básico se ajuste y esperar que los estudiantes elijan buenas asignaturas optativas u obtengan educación externa adicional. Debaten sin cesar sobre los conceptos básicos, pero en su mayoría estamos de acuerdo con matemáticas discretas, estadísticas y problemas, PLI, algoritmos y teoría del lenguaje de programación (dfa, gramáticas, lex, análisis). Algunos han hecho obligatoria la base de datos y la red. El resto son electivas. Las asignaturas optativas se ajustan a las necesidades del mercado.

Esta pregunta es injusta. Usted pregunta desde un punto de vista práctico , ¿cuáles son los temas obligatorios en CS teórica ?

TBH, los profesores deberían responder esta pregunta por sí mismos. Los profesores en la academia deberían pasar un par de años en la industria para aprender qué habilidades realmente importan para sus estudiantes. Que los académicos enseñen a académicos que enseñan más académicos, sin que nadie trabaje nunca en la industria, es un ciclo autodestructivo.

En mi humilde opinión, los algoritmos son el tema más útil que se enseña en la universidad CS. Si iba a obtener un título de CS, trataría de tomar tantos semestres de algoritmos como me ofrecieran.

Las estructuras de datos avanzadas (más complicadas que una matriz o tabla hash) rara vez aparecen. El 98% de los programadores obtendrían más de las habilidades pragmáticas como aprender bien un idioma, computación distribuida y API de almacenamiento. Básicamente, los temas pragmáticos que no se enseñan en las universidades.

Un título universitario es muy importante y absolutamente ayuda en el mercado laboral, pero la universidad es realmente un lugar horrible para aprender a programar.

Mi asesor de tesis dijo “en teoría, la diferencia entre teoría y práctica es menor que la diferencia entre práctica y teoría, en la práctica”

La entrega del producto es cuestión de práctica. No es teoria.

Si estoy construyendo algo nuevo que empuja los límites de la práctica de ingeniería conocida al margen de la investigación teórica actual, voy a hacer algunas preguntas específicas de dominio bastante difíciles. Me gustan ese tipo de conciertos, pero son bastante raros.

Si, por otro lado, como es el caso de casi todo el mundo que está creando un equipo de desarrollo, estoy creando un producto utilizando herramientas y técnicas estándar, no es eso lo que voy a preguntar. Asumiré que cubrieron las bases de la teoría de grafos, la complejidad computacional, la prueba de corrección, el determinismo, etc. en su trabajo de curso y que si se topan con algo donde necesitan saber más, preguntarán, encontrarán recursos o fallar En cuyo caso, entrevistaré a otra persona, con el mismo sesgo.

Para el registro, casi nunca tengo un desarrollador “falla”. Si están luchando, me aseguro de que reciban tutoría. Antes de que fallen.

La capacidad de probar el problema de detención es indecidible en sus propias palabras y método de prueba. Puede demostrar por qué la limitación finita en la definición de algoritmos es el resultado de esto. Puede estimar el big-O para un algoritmo que diseñaron.

More Interesting

¿A qué clubes debería unirse un estudiante más nuevo en VIT Pune CSE?

¿A qué escuela debo unirme para una maestría en CS - Universidad de Illinois, Chicago o la Universidad de Indiana, Bloomington?

Quiero cambiar mi campo profesional, pero la única forma en que puedo comenzar de nuevo es ser un interno. Cumpliré 24 pronto. ¿Debo ir por eso?

Soy un desarrollador Java recién graduado con experiencia en el desarrollo de WordPress. ¿A qué debo aspirar exactamente, una generalización o una especialización en un campo?

¿Cómo ajusto mis antecedentes, logros, metas y planes de investigación en 500 palabras para mi solicitud de doctorado?

¿Cuáles son las oportunidades de carrera después del certificado en estudios ambientales?

¿Cuáles son los paquetes promedio que ofrecen DRDO e ISRO? ¿Puede un estudiante de ingeniería de instrumentación y control de una buena universidad como NSIT ser ubicado en DRDO o ISRO? En caso afirmativo, ¿cuál es el procedimiento para ello?

¿Cómo gana la gente en la política de la oficina?

¿Cuáles son las habilidades más demandadas en los Big Four (E&Y, PWC, Deloitte y KPMG)?

¿El trabajo de ciencias actuariales solo implica sentarse frente a las computadoras, y es estresante y aburrido?

¿Cómo es conseguir tu primer trabajo fuera de la universidad?

¿Debo hacer el curso preparatorio para el asiento IIT o ir a la universidad NIT que estoy recibiendo ahora?

Estoy atrapado en una empresa basada en servicios de TI. Fui probador manual durante 3 años y luego hice mi MBA. El salario es bueno, el trabajo es aburrido. ¿Qué tengo que hacer?

¿Cuál es la calificación educativa mínima requerida para trabajar en BPO de compañías como HCL, HP, DELL, TCS, Accenture, Amazon, Flipkart, etc.?

¿Cómo se consigue obtener un artículo registrado?