Les contaré cómo un chico kazajo común decidió convertirse en programador, pasó de una pila de tecnología a otra y por qué finalmente eligió Java. En primer lugar, estoy escribiendo este texto para desacreditar el mito sobre la dificultad de cambiar una herramienta de trabajo.
Historia de la formación
Antes de hablar sobre cambiar la pila (escribiré sobre esto en detalle en el segundo artículo ), quiero compartir mi historia. Decidí que la historia estaría incompleta sin ella.
Me ha interesado la tecnología desde pequeño. La magia para mí fue insertar una pieza de plástico en una grabadora y escuchar la música. Más tarde me interesé por la electricidad. Una vez intenté arreglar un portador defectuoso, después de haber visto cómo lo hacía mi tío, un electricista. Cinta aislante, un cuchillo y mi ingeniosa idea de conectar cables entre sí provocaron un cortocircuito, cortaron enchufes y un par de bofetadas de mi madre. En 2007, cuando estaba en séptimo grado, obtuve mi primer teléfono móvil, el Nokia 6151.
Después de un par de meses, ya quería hacer una especie de análogo del sitio web tegos.ru. El teléfono solo tenía WAP (viejos, creo, se acordaban), y yo no tenía una computadora con Internet. Pero todavía estaba buscando opciones para implementar la idea. Me encontré con un constructor de sitios de wap wen.ru, el más primitivo, pero esta era su peculiaridad. Así que tuve que aprender el marcado WML, una extensión XML para WAP. Sí, en ese momento ya existía xHTML, pero todavía no entendía nada.
Encontrado en el archivo :)
Creé un sitio web, que albergaba principalmente enlaces útiles para los propietarios de Nokia, y también encontré un servicio para organizar un chat. Así comenzó la minifiesta de los fanáticos de Nokia en el sitio, que solo contenía un par de docenas de páginas. Aquí conocí a muchas personas de ideas afines de Bielorrusia, Azerbaiyán y Rusia. Por cierto, si hay alguien de esa fiesta aquí, responda en los comentarios.
La siguiente etapa de mi evolución técnica son los sitios con formularios de registro, libros de visitas y formularios de comentarios. La característica principal en ellos es la abundancia de colores e imágenes de fondo. Aquí me familiaricé con xHTML y PHP4. En ese momento, tenía una computadora, una panadería basada en un procesador AMD Athlon XP, 2 GB de RAM, 128 GB de disco duro. Lo compró la jefa de mi mamá, quien notó mi pasión por la tecnología. En 2008, una computadora usada costaba 18,000 tenge (ahora es alrededor de $ 40). Mi viaje al mundo de la programación real comenzó con la lectura de un montón de artículos sobre PHP y comencé a escribir código para encontrar soluciones a varios problemas.
Ya en el 11 ° grado, me dediqué a proyectos freelance de aplicaciones en PHP, y desde el segundo año encontré un trabajo oficial en una pequeña empresa de TI dedicada al desarrollo de productos. Era necesario programar en C #. Para aprobar la entrevista, creé y completé una tarea de prueba para mí: descripción aquí , código aquí . Se implementó en PHP, gracias a los seniors, que en ese momento solo querían entender si podía escribir al menos algo.
Luego comencé a ir a conferencias y nuestros competidores me notaron. Los chicos me atrajeron a una empresa cuyo idioma principal era Java. El motivo de mi transición fue mi interés por las cosas nuevas y el deseo de experimentar.
Luego, un par de transiciones más de una empresa a otra, nuestro propio proyecto gamedev, trabajamos en un sistema de gestión de servicios (MRO o MMS) con el uso activo de tecnologías RFID. Por cierto, en este proyecto, mis colegas y yo creamos un marco para el marco, que los líderes nos permitieron llevar a OpenSource. El código está aquí .
Ahora trabajo en Beeline Kazajstán, donde escribimos en Java, pero me di cuenta de que estaba lista para contar la historia completa de mis transiciones de un idioma a otro. Quizás le sea útil a alguien.
Mi primer proyecto .NET
Me encontré con .NET en mi primer lugar de trabajo oficial: una pequeña empresa de TI que coopera con la industria petrolera. Mi primer proyecto consistió en calcular el tiempo de funcionamiento de las tuberías en los pozos de petróleo. Obtuve una implementación de muestra funcional de esta idea, escrita en ASP.NET, .NET 4.1. Honestamente, entonces no entendí en absoluto cómo funcionan estas tecnologías.
Tenemos un proyecto que funciona, pero no podemos construirlo.
Pasé una semana entera ensamblando el proyecto sin éxito, después de lo cual decidí contactar a un desarrollador senior para que me ayudara con la construcción. No fue fácil. Ahora puede pensar en esto como un gran problema en ASP.NET clásico sobre el complicado sistema de dependencias vinculantes.
Después del montaje, me esperaba otra sorpresa: el proyecto proporcionaba una interfaz para cargar un archivo de Excel. Para leer, lanzó un MS Office completo y revisó las celdas, leyendo los valores en la memoria. Después de leer en la memoria y realizar cálculos, la aplicación volvió a abrir Office y anotó los datos de la celda. Si si, directamente una aplicación gráfica mediante interoperabilidad.
Me sorprendió, porque me dijeron que el proyecto ya está funcionando y que solo necesita implementarlo en IIS en Windows Server. Aquí es donde comenzó mi verdadero conocimiento del mundo .NET.
Naturalmente, nada funcionó en el servidor. La razón es obvia: el servidor IIS no tiene acceso al subsistema de gráficos y, por lo tanto, no puede iniciar nada, incluida la interacción con el escritorio.
Me arremangué y comencé a buscar una solución para llamar al Office gráfico y analizar el archivo de Excel manualmente, así que dominé la biblioteca OpenXML, lo cual no fue fácil para mí, pero resolvió rápidamente todas las preguntas. Ahora el archivo se analizó usando OpenXML, después de lo cual los datos se guardaron en la base de datos. Los datos de salida se pueden obtener en forma de informe con los filtros necesarios.
Me alegré mucho de haber podido quitarme la muleta como junio.
.NET con el tiempo me pareció una tecnología aún mejor y dejé por completo de escribir en PHP. En algún momento, comenzó a participar en disputas y discusiones sobre la frescura de esta o aquella tecnología, y habló específicamente por .NET. Ahora mi opinión ha cambiado.
Lo peor que tuve que enfrentar fue el desarrollo para Windows Mobile en .NET Compact Framework. Por cierto, esto fue en el marco de la empresa sobre la que escribí anteriormente. Tales proyectos fueron tan difíciles de desarrollar que el senior respondió constantemente a nuestro gerente "es imposible" a una solicitud de cualquier característica :)
En general, me gustó el lenguaje C # y la plataforma .NET, pero escribiré en detalle sobre todos pros y contras en el próximo artículo . Allí también les diré cuántas veces pasé de una pila a otra y por qué me detuve en Java.