Hace mucho tiempo (en 1983) me paré frente a esta enorme impresora de línea (que se muestra a continuación) afuera de la puerta cerrada al final de un pasillo en mi escuela secundaria. Era el Día de la Carrera y había seleccionado Procesamiento de Datos (Programación de Computadoras) como una carrera sobre la que quería saber más.
Antes de pararnos frente a esa impresora al final del pasillo, todos nos sentamos en un salón de clases y escuchamos a un maestro que explicaba qué era el procesamiento de datos. Mientras el profesor seguía parloteando y agitando las manos, era completamente obvio para todos nosotros que no tenía ni idea de lo que era el procesamiento de datos.
Sin embargo, lo único en lo que el maestro se quedó atascado fue en la conexión entre Matemáticas y Computación.
“Tienes que ser muy fuerte en matemáticas para hacer una carrera en Procesamiento de Datos”, dijo el maestro. “Si no eres bueno en matemáticas, entonces no tienes oportunidad con las computadoras”.
Me desplomé en mi silla. Ya sabía que era terrible en matemáticas. “Ellos” me habían dicho.
Al final de la conferencia de 30 minutos, el maestro nos acompañó a la sala de procesamiento de datos de la escuela secundaria. Finalmente, veía personas sentadas frente a las computadoras y realmente programando. Echaría un vistazo a los monitores de sus computadoras y vería lo que realmente hace un programador. No.
Cuando nos paramos frente a la enorme impresora, el maestro dijo: “Los programadores colocaron esta impresora aquí para que no tengan que escucharla todo el día. Es ruidoso.
Alguien en el grupo señaló la puerta cerrada y preguntó: "Bueno, ¿podemos entrar y ver qué hacen?"
El maestro negó con la cabeza y dijo: “Bueno, no podemos molestar al Departamento de Computación, así que no podemos entrar. Necesitan mucha tranquilidad para hacer su trabajo. Pero aquí está la impresora que usan”.
Así que eso fue todo. Miré la impresora gigante por un momento más y fruncí el ceño.
Mientras miraba al monstruo silencioso gigante (ni siquiera se estaba imprimiendo en ese momento, tan aburrido) pensé: “¡Ugh! Bueno, esto acaba con la idea de la programación informática para mí. Soy malo en matemáticas y el procesamiento de datos parece totalmente aburrido”.
Aquí en 2023, he trabajado en TI (tecnología de la información) durante 32 años (todavía trabajando) y he sido desarrollador de software desde 1999 (más de 23 años). He permanecido empleado continuamente en TI desde 1991. Es un gran problema porque he podido mantener a mi familia con algo en lo que el maestro de secundaria me aseguró que nunca podría tener éxito.
Ese maestro hace tanto tiempo estaba equivocado sobre la importancia de las matemáticas. Las matemáticas pueden ser útiles para convertirse en programador. Pero, no es absolutamente necesario. Es una lástima que no supiera lo que una persona realmente necesita para ser un buen (o gran desarrollador de software).
Renuncié a la idea de convertirme en programador de computadoras, pero comencé a jugar con las computadoras.
Adán Coleco
Mi primera computadora fue una Coleco Adam (wikipedia) que compré en 1984. La Coleco Adam fue construida por la misma compañía que creó el sistema de juegos Colecovision (usaba los mismos cartuchos para los juegos). Adam tenía un procesador de textos incorporado y un lenguaje de programación BÁSICO que podía cargar desde un casete de alta velocidad.
Imagen de Andrew Lih .
Intenté la programación BÁSICA
Escribía fielmente los programas de las listas de la revista Family Computing, pero invariablemente escribía algo mal o aparecía algo mal impreso en la revista y los programas nunca funcionaban.
Esto pareció confirmar lo que me había dicho el profesor: “Nunca serás programador de computadoras porque no sabes matemáticas”.
Sorprendentemente, uno de los programas originales que traté de escribir ha sido archivado por Archive.org en el siguiente enlace (esta es la revista Family Computing real que leí en 1984 ).
Aquí hay una instantánea del código que realmente traté de escribir:
TRS-80 - Tandy Radio Shack modelo 80
Luego, al año siguiente (1985) tomé una clase de programación en mi último año de secundaria y aprendí algo de BÁSICO en el TRS-80. Recuerdo haber copiado el código de otros estudiantes para el proyecto final, así que no estoy seguro de haber aprendido o entendido mucho.
1986 Comodoro 128
Finalmente, en 1986, compré un Commodore 128 en una tienda por departamentos local y comencé a jugar en él. Tuve que aprender a cargar juegos y en ese entonces tenías que leer manuales para aprender cosas.
Pero en el camino, lo que sucedió es que noté que comencé a tener muy buena memoria para todos los comandos que estaba usando. Solo me estaba divirtiendo y jugando, así que no pensé mucho en eso.
A medida que continuaba jugando con las computadoras, comencé a comprender mucho mejor y a sentirme cómodo con ellas. No estaba pensando en lo que había dicho el maestro y no me preocupaba por mi falta de habilidades matemáticas. Estaba aprendiendo pero ni siquiera lo sabía realmente.
Luego, alrededor de 1989, después de probar varios cursos universitarios y no tener ningún éxito real, finalmente tomé algunas clases de computación y noté que las cosas que estaba aprendiendo tenían sentido.
Pero también necesitaba generar algún ingreso, así que acepté un trabajo en el laboratorio de computación del Community College y comencé a ayudar a las personas que no sabían cómo iniciar un procesador de textos o cómo guardar sus archivos en un disquete.
Dos años de colegio comunitario fue suficiente
Tomé dos clases de COBOL (lenguaje común orientado a los negocios) y ¡fue perfecto! Realmente aburrido. Estaba a punto de graduarme con un título de Asociado en Sistemas Informáticos de Ciencias Aplicadas, pero estaba agotado, así que me detuve antes de terminar solo tres clases.
Todavía no he terminado las tres clases:
Fui a trabajar para una tienda local de computadoras. Construimos y vendimos PC compatibles con IBM (los procesadores Intel 386 y 468 estaban fuera y estaban ejecutando Windows 3.0).
En 1992 acepté un trabajo de soporte técnico para un paquete de software específico en una gran corporación. Ese fue el verdadero comienzo de mi carrera porque algo sucedió. Me di cuenta de que todas mis habilidades se unieron. También comencé a concentrarme en escribir pequeños programas que se ejecutarían en Windows. Empecé a aprender programación en C++.
Dejó de pensar en el requisito de matemáticas, comenzó a escribir software
Entonces, en lugar de preocuparme por lo que ese maestro había dicho en el pasado, comencé a concentrarme en producir algo. Trabajé en cosas que disfruté y nuevamente fue como "jugar".
Mi trabajo requería que entendiera cómo hacer que las personas configuraran DOS ( configurando himem.sys en el archivo config.sys), así que estaba aprendiendo cómo funcionaban las PC en el camino.
Por supuesto, a lo largo del camino, hubo guardianes. Cuando comencé a escribir programas, los desarrolladores con los que trabajé a menudo se burlaban de mi falta de conocimiento y hacían agujeros en los programas que escribía, recordándome que tenía mucho que aprender y que era poco probable que llegara a ser programador. .
Puede sonar como si me estuviera quejando u opinando sobre una vida triste y difícil, pero no es así.
O puede parecer que me estoy jactando de lo que he hecho. Realmente no es eso. En realidad, me sorprende que, aunque no tenía ninguna habilidad, haya podido desarrollar una carrera en informática.
Estoy tratando de revelar tres cosas en el artículo:
Sin embargo, he notado que hay un par de cosas que te ayudarán a tener éxito en el camino.
El primero no te lo puede dar ninguna persona ni Universidad. Pero eso no significa que no lo tengas.
Afortunadamente, a medida que me abría camino hacia (ya través de) el mundo de TI, me topé con las cosas que más me ayudaron.
Si está comenzando y se siente desanimado
Tal vez pueda revelar algunas de estas cosas y te ayudarán a continuar en tu camino si estás comenzando y te sientes desanimado.
Lo que he aprendido sobre desarrollo y aprendizaje de software
A lo largo de los años, descubrí algunas cosas que me ayudaron a permanecer en el mundo de TI (sin agotarse). Estas cosas me han ayudado a seguir adelante a pesar de que tengo muy poca formación formal (ningún título universitario).
Lo primero que debes saber es:
Aprender cualquier cosa es difícil y aprender un lenguaje de programación o tecnología puede ser extremadamente difícil. Aprender nuevas tecnologías e idiomas puede hacerte sentir abrumado e impotente al final de cada día. Puede sentir que nunca tiene éxito mientras lucha para que un programa o funcionalidad funcione. Pero, lo importante que debes preguntarte es: “¿Realmente me gusta hacer esto? ¿Realmente me gusta el desafío de resolver las cosas?”
Si honestamente lo hace, incluso si está atascado y siente que nunca lo entenderá, lo superará.
Por favor, comprenda que no estoy diciendo que tenga que estar locamente enamorado de todo lo que hace. Hay lenguajes de programación que he tenido que usar en el pasado que detesto (¡PERL, lo odio!). Hay maneras de pasar por las partes que no te gustan.
A veces, cuando nos abruma la tecnología (o cualquier cosa que no entendemos), en realidad es porque la tecnología nos hace sentir estúpidos.
La gente normal no dice lo que acabo de decir en voz alta, así que déjame decirlo de nuevo.
La tecnología a menudo nos hace sentir estúpidos. Empezamos a cuestionarnos a nosotros mismos, a nuestro conocimiento e incluso a nuestra vida. "¿Qué está mal conmigo? ¿Por qué no puedo entender esto? Debo ser estúpido.
He vivido la mayor parte de mi vida de TI sintiéndome estúpido
La industria de TI cambia constantemente y, por lo tanto, a veces todos nos vemos envueltos en situaciones en las que no tenemos conocimiento de las cosas con las que estamos trabajando. Esto es falta de conocimiento.
La falta de conocimiento se siente como una debilidad
Esto se siente como una debilidad. Estamos trabajando desde un lugar desconocido en una tecnología desconocida y es difícil ponerse de pie. La industria de TI cambia con tanta frecuencia y rapidez que a menudo trabajamos desde un lugar de debilidad.
Comprenda que muchas personas se sienten así (pero no lo expresan)
Muchas personas en la industria de TI se sienten así, pero no lo dirán en voz alta, porque sienten que exponer esta aparente debilidad podría hacerles perder su reputación o incluso su trabajo.
Tienes que darte la libertad de no saber cosas sin dejar de sentirte como una persona válida. No tienes que saberlo todo y saberlo todo es imposible de todos modos.
Todo este aprendizaje puede volverse extremadamente abrumador y llevarnos a sentirnos terriblemente débiles. La debilidad a menudo se convierte en malestar a medida que te aburres del tema. Tu cerebro se rebela y dice: “No necesitamos aprender esta basura. Ni siquiera me gusta aprender estas cosas”.
Todo lo que tienes que hacer en ese momento es:
Si te concentras en construir lo que quieres, obtendrás algo de energía y te ayudará a superar las partes difíciles.
Si no puede construir lo que desea, busque un ejemplo que haga algo similar y haga que funcione y concéntrese en cambiar ese ejemplo a lo que desea.
Tienes que hacer lo tuyo para sentirte empoderado al controlar tu propio destino.
En lugar de concentrarse solo en lo que está aprendiendo (que a menudo es bastante aburrido), cambie su concentración a cómo usará la tecnología para obtener lo que desea. Te energizará y saldrás del Tutorial Malaise.
Si se siente abrumado y tiene ganas de dejar de fumar:
Lancé todo mi software a código abierto y puedes ver todos mis proyectos en mi GitHub .
Puede verificar la fuente, bajarla y hacer modificaciones.
Enlace a la aplicación => https://cyapass.com/js/cya.htm
Enlace al código fuente (ElectronJS se ejecuta de forma nativa en (Linux, Mac, Windows) => https://github.com/raddevus/CYaPass-Electron
Vea la aplicación en la tienda de Windows : https://apps.microsoft.com/store/detail/cyapass/9PFD82D1Z7RW?hl=en-us&gl=us
Vea la aplicación en la tienda Snap IO (para distribuciones de Linux): https://snapcraft.io/cyapass
Lea el artículo detallado sobre cómo funciona en linkedIn ( Destruya todas las contraseñas: nunca vuelva a memorizar una contraseña )