Día del niño contra el mal código

Día del niño contra el mal código

El post está dedicado al Día del Niño. Cualquier coincidencia no es una coincidencia.

A los 10 años obtuve mi primera computadora y un disco con Visual Studio 6. Desde entonces, he estado ideando tareas para mí: automatizar cosas, crear algún tipo de servicio web para tres personas o escribir un juego. que luego será retirado del mercado de juegos debido a su vejez. Por supuesto, perdí el código fuente y escribí código que me avergonzaba mostrarle a la gente. Y a mis 10 años, definitivamente no me negaría a recibir un archivo del futuro con todos los errores, para nunca permitir que sucedan.

Hace un par de semanas les pregunté a mis colegas de Yandex.Money qué le aconsejarían ahora a un niño que quiere convertirse en especialista en TI y luego recordé algo sobre mí. Así apareció este texto. Sugiero que hablemos de esto.

No recomiendo gastar mucha energía en la agonía de la elección; es mejor intentarlo todo y hacerlo todo. Cuando comprenda qué es qué en términos generales, podrá decidir por sí mismo en qué dirección debe moverse y qué dirección es mejor abandonar.

Sergey, programador junior

Infancia

¿Qué es lo más divertido que puedes hacer como programador cuando todavía no hay Internet?

Tenía dos: desmontar todos los juegos del disco "800 juegos en ruso" con todos los programas del disco "Todo lo que necesita un hacker" y luego reescribir todos los juegos en los que pasé más de 10 horas desde cero. en BÁSICO. No importa lo que suceda, incluso si resulta así.

Día del niño contra el mal código

Lo tomas, lo pruebas, reorganizas los bloques, experimentas y alcanzas todo lo que puedas alcanzar. Si derribas Windows, se necesitan 10 horas para volver a colocarlo. ¿Estás intentando recuperar a los conductores? Entiendes cómo funciona DOS. Averiguas cómo deben colocarse los puentes para que tu disco duro se inicie en la computadora de un amigo (¡hay 200 megabytes de juegos nuevos allí!). Giras el software, giras el hardware, desmontas y vuelves a montar la computadora. Después de todo, llevas 13 años escribiendo un simulador de fútbol.

Cuando no hay nada, te vuelves feliz por eso.

No se puede subestimar la importancia del autoexamen. En mi opinión, los recién llegados a TI subestiman cuán estrictamente tendrán que controlar su producto (y también en análisis) y cuánto tiempo les llevará en comparación con la parte puramente creativa. Y cuanto más interesante sea lo que hagas, más difícil y más larga será la prueba.

Este, por supuesto, es un consejo algo abstracto, pero si lo supiera de inmediato.

Y no recomiendo centrarse en un área de TI. Aquí también los horizontes importan.

Anna, analista senior de sistemas

Escuela secundaria

En algún momento, en el foro de la ciudad del condado de P, se discutía sobre programación y apareció un hilo con el título "Se buscan programadores PHP para una gran empresa". El texto del anuncio era:

В крупную компанию ищутся программисты PHP:

Для того, чтобы понять, стоит ли вам приходить на собеседование, выполните несложное задание: напишите программу на php, которая находит такие целые положительные числа x, y и z, чтобы x^5+y^5=z^5. (^ - степень).

Отвечать можете здесь.

Sólo unas pocas personas se dieron de baja de este hilo; yo también estuve allí. Con toda mi ingenuidad de dieciséis años, respondí:

Реально чет странное. Да и комп нужен неслабый, штоб ето найти...
Ибо от x,y,z <=1000 таких чисел нет-эт во первых (сел набросал в vb, большего ПОКА не дано), во вторых комп подсаживается намертво.

Не все равно чето нето, ИМХО.

Sí, es una broma, una trampa para novatos, sí, es un cabrón, y qué. Obviamente, dediqué mucho tiempo a un guión simple, pero me olvidé por completo de la existencia del teorema de Fermat, que el autor del hilo, el venerable The_Kid, aclaró al final.

Итог печален - в П. практически нет людей, знающих математику, но каждый второй мнит себя мего программистом. За три часа, на все форумах на которых я разместил сообщение, было суммарно около двух сотен просмотров... и всего два правильных ответа. А теорема Ферма - это ведь школьная программа, и условия ее настолько просты, что должны бросаться в глаза. Кстати, параллельно при опросе в аське 6 из 6 знакомых новосибирских студентов ответили «Это же теорема Ферма».
И кого после этого брать на работу?

Entonces esto me provocó una tormenta de indignación en el espíritu: "Si no escribí sobre el teorema de Fermat, eso no significa que no lo sepa", una excusa clásica. ¿Estoy triste ahora? No, esto también es una lección para la vida. Como cuando mi juego apareció en la tienda de Windows Phone de Indonesia y dos semanas después lo eliminaron porque no actualicé algunos de los términos del EULA.

Y no está del todo claro: si en una gran empresa no hay nadie a quien contratar, ¿quién debería ser usted? ¿Qué hacer? ¿Dónde crecer?

No deberías pensar que después de recibir una educación te convertirás en programador/taxista/matemático o cualquier otra cosa.

Ha llegado el momento en que las materias básicas (matemáticas, física, informática, filosofía) cobran mucha más importancia en una diplomatura, que las aplicadas (programación, diseño en áreas específicas, etc.). La educación superior comenzó a dividirse en capas: básica (ingeniería) y aplicada. No debes aprender habilidades específicas, sino pensar, un enfoque científico, comprender cómo resolver problemas, habilidades sociales.

Se trata de la universidad. Una persona todavía tendrá el resto de su vida para utilizar habilidades aplicadas.

Oleg, analista de sistemas líder

Университет

Escribes código en "ventajas", escribes código en Java. Tocas el ensamblador, alejas la mano, te quedas atascado en Qt y piensas por qué te están haciendo esto. En el cuarto curso, a nadie le importa en qué escribas las próximas prácticas de laboratorio importantes: los profesores miran el código de alguna manera.

Esto, por supuesto, no es el caso en todas partes: hay universidades donde es poderoso y bueno, pero llevan a la escuela a niños que resolvieron problemas de ACM, exprimieron todo de la teoría de grafos en clases adicionales y llenaron de memoria todos los algoritmos del mundo. para todo lo que en el mundo requiere.

No me decidí, no tomé clases extra, simplemente completé mis estudios en mi clase de matemáticas, haciendo cosas interesantes en el camino. Spoiler: nadie los necesitará en las entrevistas.

Primero, es mejor decidir qué te gusta de TI. Si te gustan todas las direcciones, será difícil. Aprende algo de idioma - no conducirá a nada, sólo habrá confusión en el futuro.

Jan, especialista finlandés. supervisión

Una historia real: para un simulador de Windows hecho con un amigo de rodillas en décimo grado, en la universidad puedes realizar un par de exámenes y pruebas automáticamente. Incluso podrás contarles a todos más tarde lo genial que fue. El problema era que no era genial: tenía una arquitectura confusa, un código terrible y una completa falta de estándares para cualquier cosa.

Estas cosas deben hacerse con un propósito: tener su propio catálogo de rastrillos. Aunque esto no te protegerá del síndrome del impostor, cuando te encuentras en una gran empresa con algunos conocimientos superficiales de todo y crees que estás a punto de quedar expuesto.

Día del niño contra el mal código

Lo apoyaré, es más importante ayudar con consejos sobre qué se puede hacer y dónde obtener información, y no al revés. Y no da nada de miedo si al principio intenta hacer algo con el tacto, - la conciencia vendrá más tarde. Es importante que te guste.

Eric, ingeniero de pruebas

Todos redactamos planes de desarrollo: qué debemos estudiar, qué hacer en el futuro próximo y cómo mejorarnos. Pero parece que todos podríamos beneficiarnos al escribir una carta a nuestro pasado: aquí está la mía.

  1. Tómate tu tiempo, busca un libro e instala la distribución de Ubuntu que Canonical te envió gratis. Claramente hay un problema simple: Ubuntu se inicia en todas partes. Y Linux te será de gran utilidad.
  2. No tengas miedo de la consola. Volkov Commander, por supuesto, cabe en un disquete, pero intente descubrir por qué necesita todos estos comandos y familiarícese con la línea de comando. Y los disquetes morirán. Los discos morirán. Las unidades flash también morirán. No te preocupes demasiado.
  3. Lea sobre algoritmos, comprenda la clasificación, los árboles y los montones. Leer libros.
  4. No necesitas cursos pagos para comprender los conceptos básicos. YouTube aparecerá pronto; te sorprenderás.
  5. No se obsesione con el BÁSICO. Hay cien tecnologías en el mundo que merecen su atención y un millón de cosas que son más interesantes que volver a dibujar formularios de usuario en Excel. Simplemente toma Python y lo resolverás.
  6. Aprenda a usar Git, haga una copia de seguridad de todas las fuentes. Escriba al menos una aplicación cliente-servidor para comprender cómo funcionan. Comprender redes, conmutadores y enrutadores.
  7. Y si estás leyendo esto ahora, significa que no todo ha sido en vano.

Cuéntanos en los comentarios ¿qué le escribirías a tu yo pasado? ¿Tiene algún consejo para los escolares y estudiantes actuales que todavía se encuentran en una encrucijada y tratan de encontrar su camino? Hablemos de esto.

Fuente: habr.com

Añadir un comentario