La historia de cómo un adolescente escapó del trabajo manual a la programación



En el verano de 1982, literalmente unos meses antes de ir a la universidad, mi madre me llevó aparte y me dijo: "Tu padre quiere que encuentres un trabajo para el verano y pagues tus propios gastos del año escolar". Tenía dieciocho años, no había tenido tiempo de trabajar en ningún lado todavía, e incluso la sola idea, para ser honesta, me asustó un poco. Yo era un nerd, que se quedaba en casa y, para ser honesto, bastante vago; la perspectiva de trabajo no me atraía en absoluto. Pero entendí que era inútil discutir aquí, porque de alguna manera estaba de acuerdo con la posición de mi padre.



Toda su vida, comenzando desde que tenía menos de mis dieciocho años, trabajó como mecánico de automóviles. No hizo ejercicio en la universidad, pero, afortunadamente, no tenía nada en contra de mis estudios y estaba dispuesto a pagarlo con el dinero que recibimos por la casa de mi abuela después de su muerte. Entonces, en este sentido, tuve suerte: pude obtener una educación superior sin invertir prácticamente nada. Pero todavía se esperaba algún tipo de participación financiera de mi parte. El padre mismo no me habló de estos temas, actuó a través de mi madre, pero yo entendí que se trataba de un asunto serio y que estaría muy decepcionado si no organizaba nada.



Mamá siempre estaba dispuesta a ayudar: encontró varias vacantes en nuestro pueblo, entre las que se encontraba una en el departamento de carreteras. Ahí es donde caminé tímidamente para una entrevista una mañana de junio. En un edificio enorme con muchos camiones y montones de arena, un tipo duro con un chaleco naranja salió a recibirme. Me miró de arriba abajo con escepticismo. Yo era un adolescente larguirucho y lleno de granos; la palabra "nerd" aún no se había utilizado, pero yo parecía una encarnación viva de ella. Casi las primeras palabras que escuché de él después de este examen fueron (por Dios, no miento):



- ¿Sabes que el trabajo está relacionado con el trabajo manual?



"Por supuesto, por supuesto", respondí, tratando de sonar convincente. En mi opinión, no lo creyó, solo se encogió de hombros y dijo:



- Okey. ¿Cuando te vas?



Fue entonces cuando el pánico se apoderó de mí. A decir verdad, antes de eso de alguna manera no pensaba seriamente en el hecho de que tenía que hacer trabajo físico. Bueno, es decir, en algún nivel abstracto, entendí esto, por supuesto. Pero ahora imaginaba vívidamente largas horas bajo el sol abrasador cerca del camión, asfalto caliente que necesita ser esparcido con una pala, autos pasando a centímetros de mí. Y aunque no había nada mejor para un adolescente en términos de trabajo honesto que construye carácter, no quería hacer esto en absoluto.



Comprendí que tarde o temprano tendría que trabajar en algún lugar, y no se podía esperar nada particularmente agradable de esto. El trabajo es trabajo, se paga, a veces te pone de los nervios. Ni siquiera se me ocurrió entonces que esas cosas nerd que hago para divertirme me ayudarían a alejarme del trabajo físico durante casi toda mi vida. Pero la firme decisión de saltarme este trabajo en particular me llegó ya allí, en el garaje de la carretera.



Le dije al chico del chaleco naranja que iría a casa y averiguaría "cuándo vamos a descansar", y luego le diría la fecha (alerta de spoiler: nunca volví allí) y salí de la administración de carreteras. a máxima velocidad. Cuando mi madre preguntó si me habían contratado, no tuve valor para mentir. Dije que me habían llevado, pero no fui, y traté de explicar por qué, sintiéndome avergonzado. Estoy seguro de que no estaba contenta, pero me entendía en parte. Lo último que dijo sobre esto: "No se lo digas a tu padre".







No hablé, pero, sin embargo, sentí que tenía que encontrar otro trabajo, pero no tan parecido al trabajo. Fui a la universidad de la ciudad y traté de conseguir un trabajo allí: vendedor en una tienda de informática local, o tal vez asistente de laboratorio en el departamento técnico. No estudié allí y no planeaba ingresar, por lo que las posibilidades, de hecho, eran cero; todos esos puestos vacantes ya estaban ocupados por los estudiantes. Pero lo intenté: me obligué a hablar con la gente, probé diferentes opciones, aunque no particularmente realistas; creo que mis padres al menos apreciaron mis esfuerzos. Después de dos semanas de búsqueda, el resultado no apareció, y ya comencé a pensar que había cometido un grave error al dejar mi trabajo como trabajador vial.



Un día, mi madre trajo un consejo interesante del trabajo. Trabajaba para una estación de radio, programando anuncios. Uno de los patrocinadores vivía en nuestra ciudad y se dedicaba a la reparación y reventa de autos usados. Algo salió mal con su computadora, y preguntó en la estación si había algún "especialista en computación" aquí. Madre tomó su teléfono y me lo entregó. Llamé.



Permítanme ser claro: aunque durante los últimos cuatro o cinco años he aprovechado todas las oportunidades que se me presentaban para sentarme frente al ordenador, no era un especialista. Gracias a un programa que permitió a los estudiantes de secundaria aprender programación, tomé varios cursos universitarios en Fortran y estructuras de datos, antes del plan de estudios. También aprendí más o menos a escribir en BASIC como resultado de horas de intentar hacer juegos en un TRS-80 vecino . Pero en mi conocimiento de programación había, por decirlo suavemente, muchas lagunas. Nunca he escrito programas complejos y a gran escala, no he trabajado con extraños y nunca he realizado ninguna programación en un entorno de trabajo.



Lo que funcionó a mi favor, probablemente, se puede llamar un almacén de hackers: no le tenía miedo a las computadoras ni a las cosas desconocidas, me gustaba descubrir cosas nuevas por mí mismo, aprender a través de experimentos y pensar algo sobre la marcha.



En mi conversación con el propietario del taller de reparación de automóviles (llamémosle Jim), le ofrecí las siguientes condiciones: miraré la computadora, pero cobraré una tarifa solo si puedo arreglarla. Jim estuvo de acuerdo de todas las formas posibles: él, al parecer, ya recurrió repetidamente a otras personas y ofreció dinero sin ningún resultado.







Un retrato aproximado de Jim (es posible que haya discrepancias con el original)



Llegué al taller y conocí a Jim, quien correspondía casi por completo a la idea general de los dueños de un negocio de reparación y reventa de autos usados: amigable, ingenioso , pero al mismo tiempo impulsado por un interés algo malsano en ganar dinero. Reunió lo que podría decirse que es el negocio de venta de automóviles más grande de la zona, que, aunque no es una sala de exposición, también da servicio a automóviles, camiones y remolques. Tenía una amplia gama de actividades y ambiciones aún más ambiciosas. Me encantaría continuar: Jim era un personaje interesante, extraordinario y tendencioso, y a menudo sufría varias alteraciones. Pero volvamos a nuestra historia.



Los problemas informáticos de Jim se originaron en un acuerdo inicial con un desarrollador californiano por el que ordenó un sistema para hacer negocios. La empresa era muy pequeña, literalmente un par de personas. Le vendieron una mini computadora Data General Eclipse de 16 bits con múltiples terminales e hicieron un programa especial para procesar órdenes de reparación, pagos y nóminas.



En algún momento, la relación entre Jim y el contratista comenzó a deteriorarse. El contratista dejó de ajustar el sistema y comenzó a exigir demasiado dinero, para el gusto de Jim, para corregir errores que comenzaron a arruinar la vida del personal de la oficina. No conozco todos los detalles, pero llegó al punto en que dejaron de hablarse por completo, por lo que Jim se quedó efectivamente con un producto sin soporte en sus manos. Se dirigió a los programadores locales: resultó que el programa estaba encriptado. Aquí haré una reserva de precisión: debería haber dicho que el programa estaba protegido, no cifrado, pero el resultado sigue siendo el mismo: nadie pudo acceder al código fuente y arreglar algo en él.



Me conecté al sistema, hurgué en él y me di cuenta de que la cuenta que se me asignó tenía derechos limitados. Me acerqué a Jim para decirle que necesitaba más acceso y él quedó impresionado de inmediato. Resultó que él me dio deliberadamente una cuenta sin derechos para ver si me daba cuenta. Es como si tuviera una prueba así y la pasé. En el fondo, puse los ojos en blanco, porque los problemas eran claramente más graves que el nivel de acceso.



A saber. Todos los archivos del sistema que hicieron algo estaban escritos en BASIC; genial, gracias a muchos años de estudiar detenidamente los juegos de TRS-80, conocía BASIC bastante bien. Pero, si abre alguno de estos archivos, resulta que está vacío. El programa está ahí, pero no se muestra nada en el editor de código. A juzgar por el tamaño de los archivos, comprobé en el directorio donde estaban, el contenido estaba en ellos. Pero de alguna manera se hicieron inaccesibles para su visualización.



Si hubiera tenido mejores computadoras en mi juventud, probablemente me hubiera levantado de inmediato y me hubiera ido sin idea de qué hacer al respecto. Pero pasé mucho tiempo detrás de máquinas antediluvianas o simplemente primitivas como la mini computadora PDP-8 / E.producido por Digital 1974, que estaba en la escuela, o mi instructor personal en la microcomputadora Netronics ELF II , donde un teclado con códigos hexadecimales y bombillas servía para E / S. Así que sabía un par de cosas sobre código de máquina, formatos de archivo, encabezados, utilidades del sistema, todo tipo de cosas de bajo nivel. Al menos sobre su existencia.



Y pensé: probablemente hicieron algo con estos archivos, ya que no son legibles, ¿tal vez sean los encabezados? Encontré un editor hexadecimal en el sistema con el que era posible mostrar y editar el contenido de los archivos en su forma original, incluidos los encabezados. El programa mostraba el contenido del archivo en forma de un conjunto de números hexadecimales, prolijamente dispuestos en una placa, así como los símbolos que representaban.







El editor definitivamente mostró el código fuente BÁSICO para todos los programas. Realmente existía, no había cifrado. Esta fue la primera observación que me tranquilizó, lo que significa que mi teoría podría resultar correcta. Quizás haya alguna forma de arrastrar este código de archivos antiguos a archivos nuevos que se abrirán normalmente.

Jim se dio la vuelta, obviamente muriéndose de curiosidad, pero, para su crédito, no interfirió particularmente. Estoy seguro de que le pareció que yo sabía lo que estaba haciendo, porque todo tipo de números y tablas cruzaban la pantalla. En realidad, actuaba al azar, tratando de encontrar una solución y arreglar los archivos.



Creé un archivo BASIC "normal" y lo examiné en un editor hexadecimal. Luego los comparó con "torpes". El contenido en sí, por supuesto, era diferente, pero los encabezados, que contenían información sobre los archivos (nombre, ubicación, tamaño, protección), tenían un formato similar. Dado que estos fragmentos se superponían bien, pensé que había algo que aprender de la yuxtaposición.



Había algunas áreas en los títulos que no entendía, en las que había diferencias entre archivos "normales" y "torpes". Empecé a experimentar ciegamente con el código, cambiando algunos símbolos en los archivos "torpes". Los primeros intentos solo dieron como resultado la corrupción del archivo, por lo que dejó de abrirse. Pero luego llegué a un lugar donde en los archivos "normales" estaba el carácter E, y en los "torpes" - el carácter F (E en notación hexadecimal corresponde a 1110 en binario y F a 1111). 1110 versus 1111, la diferencia es de solo un bit. Y simplemente tomé y reemplacé en el archivo "torpe" F con E.



Como por arte de magia, un código BASIC apareció en la pantalla. Me quedé impactado. La protección que el contratista dejó para sus archivos se redujo al reemplazo trivial de un carácter en cada uno de los encabezados para que los archivos se ejecutaran pero no se leyeran. Se puede comparar con el candado que algunos ponen en una maleta: puede estorbar, pero el que está decidido a llegar al contenido no se detendrá.



Mi corazón latía con fuerza: parecía cada vez más real que podía resolver el problema de Jim. Y, lo más importante, ¿puedo respaldar mi palabra con hechos o con lo que dicen? En ese momento, pasé aproximadamente una hora en la oficina, y me tomó alrededor de cuarenta y cinco minutos revisar todos los archivos y reemplazar los caracteres en todas partes. Ahora probablemente trataría de hacer algún tipo de script que lo volviera todo automáticamente, porque los programadores no tienen fama de ser vagos en vano. Pero tales cosas permanecieron más allá de mis capacidades a la edad de dieciocho años, y no es un hecho que Data General Eclipse fuera tan adecuado para la creación de scripts, no puedo dar fe de eso.



Al final, me tomó poco menos de dos horas quitar todas las protecciones. Cuando Jim vio que había arreglado los archivos, quedó asombrado y encantado (en ese orden). Felizmente me pidió que arreglara otro error en el formulario de entrada, lo que molestó mucho a su contador: no había forma de que pudiera completar un campo. El error resultó ser simple, medio minuto para buscar, medio minuto para arreglar. Pero para ellos significaba que ahora no tendrían que pasar horas enteras de tiempo extra llenando formularios a mano, porque no funciona en la computadora.



Cuando terminé la tarea en menos de un minuto, Jim estaba completamente abrumado. A partir de ese momento, me convertí en un genio de la informática a sus ojos. Simplemente me miró y dijo:



- ¿Cuánto pides?



Esta pregunta habría encabezado la lista de las cosas más espantosas que me han hecho si no fuera por "¿Cuándo saldrás?", Lo había escuchado un par de semanas antes de un trabajador de la carretera. Y así ocupó un honorable segundo lugar. Después de todo, yo, un adolescente de dieciocho años que nunca trabajó en ningún lado, nunca tuvo un salario en sus manos y escapé de la única entrevista en su vida, me pidieron que decidiera por mí mismo cuánto dinero me debía. De alguna manera no me concentré en el aspecto financiero del problema. Cuando entré a la oficina, todavía pensaba que tal vez sería posible conseguir un trabajo aquí, pero luego toda la atención fue absorbida por un problema técnico.



¿Cuál es el número para nombrar? No tenía ni idea. No sabía cuánto cobran los programadores en principio, qué es un "consultor" y cómo calcular su tiempo. No quería ofender a Jim con peticiones altísimas, pero tampoco quería ser un tonto. Por lo tanto, elegí una cantidad que personalmente me pareció ordenada, pero que difícilmente hubiera arruinado a Jim: cien dólares.

Al escuchar mi respuesta, Jim sonrió. Era la sonrisa de un hombre que, después de una espera ansiosa, fue sacado de la soga y liberado. O, podría decirse, la sonrisa de una persona que acaba de hacer un buen trato. Jim miró al contador y dijo:



“Escriba a Ned un cheque por cien dólares.



Luego me dijo que todavía tiene muchas de esas tareas, si por casualidad necesito un trabajo, el sistema aún necesita ser refinado y refinado. Me ofreció cuatrocientos dólares a la semana durante el verano para que viniera a arreglar errores y escribir nuevos programas que se estaba perdiendo.

Así que lo dejé con cien dólares y un trabajo de verano en el bolsillo. Mis padres estaban felices y yo también. Trabajé para Jim ese verano y el siguiente, tenía suficiente dinero para los gastos de vida y educación, y aún así me fui para comprar mi primera computadora "real": la Commodore VIC-20 . Gané mucho dinero haciendo lo que amo.



Durante un tiempo, me obsesionó la sensación de que me había equivocado en este primer trato con Jim. Estaba claro que en ese momento yo dictaba los términos y fácilmente podía quitarle más de cien. Él habría pagado y, probablemente, sería justo; después de todo, nadie más que yo podría hacer frente al problema. De hecho, antes de eso, dio a los programadores y sumas de trabajo más importantes, incluso infructuosas. Y me pregunté: ¿cuánto dinero más podría llevarme a casa ese día? ¿Quizás le mostré a esto mi falta de profesionalismo?



El tiempo pone todo en su lugar. Al recordar esta historia ahora, me doy cuenta de que en esos días el salario mínimo era poco menos de cuatro dólares la hora. Es decir, por estos cien, habría tenido que esparcir el asfalto con los trabajadores de la carretera durante veinticinco horas, o, en realidad, más, considerando que Jim, en su estilo corporativo, me pagó por toda la empresa "en un sobre". . Al final, conseguí un trabajo en el que probablemente me pagaran unos veinte dólares la hora, porque por mis cuatrocientos dólares no tenía que trabajar más de la mitad de la semana laboral. Y al mismo tiempo estaba comprometido con lo que hasta el día de hoy no percibo como "trabajo" en el sentido que mi padre puso en esta palabra. Considerándolo todo, no es un mal negocio.



Jim tampoco perdió: consiguió un programador talentoso a un precio reducido, y luego probó este esquema y comenzó a contratar a otros estudiantes para trabajar en el sistema. Pero ahora ya miro todo esto no desde la posición de "quién estafó a quién". Al final, la colaboración fue mutuamente beneficiosa.



En ese trabajo ocurrían muchas tonterías de todo tipo, si al menos un artículo fuera suficiente; recuerde al menos cómo la esposa de Jim decidió llevarme con su hija adolescente o cómo conduje a Jim en un nuevo Thunderbird Turbo Coupe. , presumiblemente por negocios, pero cómo resultó más tarde: en los bares. Pero eso esperará.



En realidad, este artículo estaba destinado a ser una guía para alejarse del trabajo serio para los adolescentes, pero no puedo imaginar qué consejo dar en base a mi experiencia personal. Solo vienen a la mente todo tipo de trivialidades como “Haz lo que te fascina y el dinero vendrá después” o “Encuentra un trabajo que te guste y no tendrás que trabajar ni un día”. En mi caso, había una pizca de verdad en estas frases comunes. Entonces, solo puedo agregar una cosa: si va a una entrevista, elabore inmediatamente un plan de respaldo en caso de que comience a hacer preguntas aterradoras como "¿Cuándo se va?"



All Articles