¿Qué es mejor para conseguir un trabajo en Google, Facebook, etc.: informática o ingeniería de software? Cuál me convertirá en un buen programador?

No puedo responder sobre cómo conseguir un trabajo en esas empresas en particular – aunque creo que las Ciencias de la Computación para aquellos.

Los mejores programadores con los que trabajo, sin embargo, son buenos en la ingeniería de software, que es una disciplina muy diferente, que requiere un conocimiento diferente.

Hay un solapamiento, ya que gran parte de las Ciencias de la Computación son prácticas e implican la programación para demostrarlo. Pero aún más implica matemáticas e ideas abstractas.

Escribir un programa generalmente requiere más habilidades de ingeniería de software – como la forma de organizar un programa, cómo diseñar un programa para que pueda ser probado, cómo codificar para que sus intenciones sean claras para los colegas.

Creo que es desafortunado que ‘ciencia’ suene mejor que ‘ingeniería’ para muchas personas. Quién es más inteligente? Un científico o un ingeniero? Entonces, ¿qué titulación es mejor CIENCIA informática o INGENIERÍA de software? Todos sabemos que los ingenieros utilizan llaves inglesas, ¿verdad? Pero los de ciencias son los verdaderos listos.

Y sin embargo no es así en el desarrollo comercial.

Para mí, la respuesta es ingeniería porque es lo que hacemos comercialmente. No nos pagan por hacer informática – generalmente. Nos pagan para construir cosas que hagan dinero, usando software bien diseñado.

Y ahora esperaré la habitual avalancha de comentarios sobre cómo sólo los desarrolladores básicos CRUD/mediocres no hacen informática. Que los «verdaderos desarrolladores» utilizan la informática todo el tiempo – especialmente con grandes conjuntos de datos como los que se encuentran en GoogleFaceTube y otros, propiedades web de clase mundial. Estoy seguro de que algunos lo hacen.

Así que esos lugares valoran el estudio de las Ciencias de la Computación. Yo valoro la Ingeniería de Software.

Recibirás una tonelada de consejos contradictorios sobre esto; pero si realmente estás desesperado por comenzar tu carrera en esas empresas, sólo podría aconsejarte que obtengas una licenciatura o una maestría en Ciencias de la Computación – y haz todo lo posible para aprender buenas prácticas de ingeniería en el camino.