Joel Spolsky: ¿Qué significa ser un desarrollador de software? (Prefacio al codificador para desarrollador)

imagen


Mike Ganderloy, libro "Codificador para desarrollador"

¿Sabes lo que me vuelve loco?

"¿Todas?" - usted pregunta. Bueno, algunos de ustedes me conocen muy bien.

Pero en serio, me molesta que la mayoría de los desarrolladores ni siquiera se den cuenta de lo poco que realmente saben sobre el desarrollo de software.

Tómame, por ejemplo.

Cuando era adolescente, tan pronto como terminé de leer la famosa guía de lenguaje de ensamblador de Peter Norton para IBM-PC, estaba seguro de que sabía todo lo que había que saber sobre el desarrollo de software. Sí, demonios, estaba listo para fundar una compañía de software y crear un procesador de textos. Estaba absolutamente seguro de que me esperaba un gran éxito. Incluso me imaginé cómo cada hora mi compañía de software organizaba descansos para tomar café con donas gratis. Bueno, en aquellos días, muchos de mis sueños se reducían a donas.

Después del ejército, me gradué de la universidad y recibí un diploma en ciencias de la computación. Ahora realmente lo sabía todo. Pero sabía mucho más solo porque estudié un montón de basura informática y científica sobre álgebra lineal, problema de NP completo y maldito cálculo lambda. Pero todo esto es obviamente inútil. Decidí que deben haber agotado el suministro de cosas útiles que necesitaríamos para ser entrenados, por eso rasparon las migajas en las tripas.

Pero no. En mi primer trabajo, me di cuenta de cuántas cosas el departamento de informática no consideró necesario llamar nuestra atención. Cosas como el trabajo en equipo en software. Consejos prácticos de diseño de interfaz de usuario. Herramientas profesionales como control de versiones, bases de datos de errores de código, depuradores y perfiladores. Cosas efectivas. Los departamentos de ciencias de la computación de incluso las universidades más prestigiosas no le enseñarán lo que no es puramente académico; y más aún para enseñar lo que los estudiantes de secundaria estudian en una escuela vocacional local, para luego convertirse en mecánico de automóviles, técnico de reparación de aire acondicionado o "desarrollador de software maloliente".

En parte, entiendo esta actitud. Al final, el objetivo de muchas universidades prestigiosas es preparar al estudiante para la vida y no inculcarle habilidades profesionales que se volverán obsoletas en 10 años.

Durante la próxima década, obtuve un conocimiento increíble sobre el desarrollo de software y los matices asociados con este proceso. Trabajé en Microsoft en el equipo de desarrollo de Excel, en Viacom, en el equipo web, en Juno, en su cliente de correo electrónico. ¿Y sabes qué? En cada etapa del entrenamiento, estaba absolutamente seguro de saber todo sobre el desarrollo de software.

"Entonces, ¿tal vez solo eres un presuntuoso imbécil?" - preguntas, e incluso quizás uses la palabra abruptamente "imbécil". Pido disculpas, pero esta es mi introducción; si quieres ser travieso, escribe tu maldita introducción, arranca la mía e inserta la tuya.

Hay algo extraño, un poder místico en el desarrollo de software que hace que las personas piensen que lo saben todo, qué y cómo hacerlo. Trabajé en dotcoms llenos de especialistas en humanidades. No tenían experiencia trabajando con software y nunca aprendieron esto, pero estaban convencidos de que sabían cómo administrar equipos de desarrollo y desarrollar interfaces de usuario. Esto es extraño, porque nadie piensa que saben cómo eliminar la apendicitis inflamada o restaurar el motor de un automóvil si en realidad no tienen las habilidades adecuadas. Pero por alguna razón desconocida, estas mismas personas están seguras de que son plenamente conscientes de cómo desarrollar software.

De una forma u otra, toda la responsabilidad recae sobre tus hombros. Es posible que tenga que aprender a desarrollar software usted mismo. Si tiene suerte, usted, por supuesto, trabajará con desarrolladores de software de primera clase y ellos le enseñarán, pero la mayoría no tendrá esta oportunidad. Por lo tanto, me alegra que Mike Ganderloy asumiera la responsabilidad de escribir el libro que ahora tiene en sus manos. Aquí encontrará una introducción agradable y bien escrita de muchas de las cosas más importantes que necesitará saber cuando pase de una persona que escribe código a una persona que desarrolla software. Captura la diferencia? Es como un niño de seis años que puede dibujar algunas palabras simples con un lápiz y convertirse en un novelista exitoso que escribe libros, recibe críticas favorables y vende millones de copias.Ser un desarrollador de software significa tomar un concepto, crear un equipo, configurar todos los procesos, desarrollar un producto de software (el producto de software deseado) y producirlo. Esto no debería ser solo un producto de software, sino un producto de software de alta calidad que resuelve problemas y agrada a los usuarios. Con la documentación. Página web. Programa de instalación. Prueba de guión. Versión en noruego. Conversacional y literario. Bocadillos, postres, fotos brillantes de veintisiete colores de ocho por diez pulgadas con flechas, círculos y explicaciones en la parte posterior. (Pido disculpas a Arlo Guthrie).Esto no debería ser solo un producto de software, sino un producto de software de alta calidad que resuelve problemas y agrada a los usuarios. Con la documentación. Página web. Programa de instalación. Prueba de guión. Versión en noruego. Conversacional y literario. Bocadillos, postres, fotos brillantes de veintisiete colores de ocho por diez pulgadas con flechas, círculos y explicaciones en la parte posterior. (Pido disculpas a Arlo Guthrie).Esto no debería ser solo un producto de software, sino un producto de software de alta calidad que resuelve problemas y agrada a los usuarios. Con la documentación. Página web. Programa de instalación. Prueba de guión. Versión en noruego. Conversacional y literario. Bocadillos, postres, fotos brillantes de veintisiete colores de ocho por diez pulgadas con flechas, círculos y explicaciones en la parte posterior. (Pido disculpas a Arlo Guthrie).círculos y explicaciones por otro lado. (Pido disculpas a Arlo Guthrie).círculos y explicaciones por otro lado. (Pido disculpas a Arlo Guthrie).

Y luego, un día, un buen día, finalmente te levantas y dices (aunque puede ser demasiado tarde): “Hmm. ¿Qué pasa si realmente no sé qué se necesita realmente para el desarrollo de software "? Y solo en este día, y no un minuto antes, es decir, en este día, y a partir de ese día, recibirá el derecho de llamarse desarrollador de software. Y ahora, si bien no todo se ha perdido, esta es mi bendición para ti si quieres comer donas cada hora.



imagen
Aprenda los detalles de cómo obtener una profesión solicitada desde cero o subir de nivel en habilidades y salario tomando los cursos en línea de SkillFactory:



Lee mas



All Articles