
Hoy felicitamos a las personas que diariamente se esfuerzan por hacer del mundo un lugar un poco más ordenado: los testers. En este día, GeekUniversity de Mail.ru Group para aquellos que desean unirse a las filas de los luchadores contra la entropía del universo. El programa del curso está diseñado de tal manera que se puede adquirir la profesión de 'Tester de Software' desde cero, incluso si antes trabajabas en un campo completamente diferente.
También publicamos la historia de la estudiante de GeekBrains María Lupandina (). María es candidata a doctora en ciencias técnicas en la especialidad de 'Acústica'. Actualmente trabaja como tester de software en una gran empresa de ingeniería que desarrolla software para instituciones médicas.
En este artículo quiero mostrar la posibilidad de un cambio profesional bastante drástico. Antes de convertirme en tester, no estaba muy involucrada con la tecnología de la información, salvo en los momentos que eran necesarios para mi trabajo anterior. Pero, bajo la presión de una serie de factores, que se describen con detalle más abajo, decidí dejar el ámbito científico por el IT puro. Todo salió bien, y ahora puedo compartir mi experiencia.
Cómo comenzó todo: tecnología más ciencia
Después de finalizar la universidad en 'Ingeniería Biomédica' conseguí un trabajo en una empresa industrial como ingeniera de laboratorio. Es un trabajo bastante interesante, en el que mis responsabilidades incluían medir y controlar los parámetros de los productos de la empresa, así como de las materias primas en diferentes etapas de la producción.
Quería convertirme en una buena especialista, así que poco a poco me sumergí en las tecnologías de producción y fui adquiriendo especialidades afines. Por ejemplo, cuando surgió la necesidad, estudié la metodología para llevar a cabo análisis químicos para el control de calidad del agua, utilizando como fuentes las normas estatales y los reglamentos industriales. Más tarde, enseñé esta metodología a otros laboratorios.
Al mismo tiempo, estaba preparando mi tesis doctoral, que defendí con éxito. Ya como candidata, logré obtener una gran subvención del Fondo Ruso de Investigación Fundamental (RFBR). En ese mismo momento, me invitaron a la universidad como profesora a tiempo parcial. Realizaba trabajos relacionados con la subvención, elaboré planes de estudio y materiales metodológicos para las disciplinas de la universidad, publiqué artículos de investigación, di clases, dirigí prácticas y desarrollé controles y pruebas para el sistema de educación electrónica. Me encantaba enseñar, pero, lamentablemente, el contrato terminó y mi carrera como empleada universitaria también.
¿Por qué? Por un lado, quería continuar mi camino en la ciencia, convirtiéndome, por ejemplo, en profesora asociada. El problema es que el contrato era temporal, y no pude establecerme en la universidad; lamentablemente, no me ofrecieron un nuevo contrato.
Fue entonces cuando renuncié a la empresa, ya que decidí que necesitaba un cambio; no quería gastar toda mi vida trabajando como ingeniera de laboratorio. Simplemente, no tenía a dónde crecer profesionalmente, la posibilidad de desarrollarme era inexistente. La empresa era pequeña, así que no había nada que discutir en términos de ascenso profesional. A la falta de perspectivas de carrera se suma un salario bajo, la ubicación incómoda de la propia empresa y el alto riesgo de accidentes en el lugar de trabajo. Esto crea un conjunto de problemas que simplemente tuve que cortar como si fuera un nudo gordiano, es decir, renunciar.
Después de renunciar, decidí trabajar por cuenta propia. Así, desarrollé proyectos por encargo en radioelectrónica, electromecánica y acústica. En particular, diseñé antenas parabólicas de microondas y desarrollé una cámara acústica aislada para investigar los parámetros de micrófonos. Había muchos pedidos, pero aún así quería algo diferente. En un momento encantador, me dio por probar fortuna como programadora.
Nuevos estudios y trabajo freelance
De repente, vi un anuncio de los cursos de GeekBrains y decidí intentarlo. Primero realicé el curso "Fundamentos de Programación". Quería más, así que también tomé cursos de "Desarrollo Web"; esto fue solo el principio: dominé HTML/CSS, HTML5/CSS3, JavaScript, después de lo cual comencé a estudiar Java en los cursos de "La formación fue un gran desafío para mis fuerzas, no porque el curso fuera difícil, sino porque muchas veces tenía que estudiar con un niño en brazos.
¿Por qué elegir Java? He leído y escuchado en muchas ocasiones que es un lenguaje universal que se puede utilizar, por ejemplo, en el desarrollo web. Además, leí que si sabes Java, puedes pasar a cualquier otro lenguaje si es necesario. Resultó ser verdad: escribí código en C++ y funcionó, a pesar de que no profundicé demasiado en los fundamentos de la sintaxis. También funcionó bien con Python; escribí un pequeño parser de páginas web en él.

A veces, tenía que trabajar así: metía al niño en una mochila ergonómica, le daba un juguete y esperaba que eso fuera suficiente para poder cumplir con el siguiente pedido.
Tan pronto como tuve cierta base de conocimientos y experiencia en programación, comencé a aceptar trabajos de freelance. Así, escribí una aplicación para la gestión de finanzas personales y un editor de texto por encargo. En cuanto al editor, es sencillo, tiene varias funciones básicas para formatear texto, pero cumple su propósito. Además, resolví tareas de procesamiento de texto y también me encargué del diseño de páginas web.
Cabe destacar que el aprendizaje de la programación amplió mis posibilidades y horizontes en general: no solo puedo escribir programas por encargo, sino que también trabajo en proyectos para mí misma. Por ejemplo, escribí un pequeño pero útil programa que permite saber si alguien está dañando tus artículos en Wikipedia. El programa analiza la página del artículo, encuentra la fecha de la última modificación y, si la fecha no coincide con la última vez que editaste tu artículo, recibes una notificación. También escribí un programa para calcular automáticamente el costo de un producto tan específico como la mano de obra. La interfaz gráfica del programa está hecha con la biblioteca JavaFX. Por supuesto, usé un libro de texto, pero desarrollé el algoritmo yo misma, utilizando principios de POO y el patrón de diseño MVC.
El freelance está bien, pero la oficina es mejor.
En general, me ha gustado ser freelancer, ya que puedo ganar dinero sin salir de casa. Pero aquí hay un problema con la cantidad de pedidos. Si hay muchos, todo va bien con el dinero, pero a veces hay proyectos urgentes con los que he tenido que quedarme trabajando hasta tarde en modo de emergencia. Si hay pocos clientes, sientes la necesidad de dinero. Las principales desventajas del freelancing son el horario irregular y el nivel de ingresos inconstante. Todo esto, por supuesto, afecta la calidad de vida y el estado psicológico general.
Llegué a la comprensión de que la contratación oficial es lo que ayudará a eliminar los problemas mencionados. Comencé a buscar vacantes en sitios especializados, desarrollé un buen currículum (gracias a mis profesores, con quienes a menudo consulté sobre qué incluir en el currículum y qué mencionar personalmente a los posibles empleadores). Durante la búsqueda, realicé tareas de prueba, algunas eran bastante difíciles. Los resultados los añadí a mi portafolio, que al final se volvió bastante extenso.
Finalmente pude conseguir un trabajo como tester en una empresa que se dedica al desarrollo de sistemas de información médica para la automatización del flujo de documentos en instituciones de salud. Encontrar trabajo fue posible gracias a mi educación superior en el campo de la «ingeniería biomédica», además de mis conocimientos y experiencia en desarrollo de software. Me invitaron a una entrevista y al final conseguí el trabajo.
Ahora, mi tarea principal es verificar la solidez de las aplicaciones escritas por nuestros programadores. Si el software no supera la verificación, es necesario mejorarlo. Además, reviso los mensajes de los usuarios del sistema de nuestra empresa. Para resolver varios problemas, tenemos un departamento completo, y yo soy parte de él. La plataforma de software desarrollada por nuestra empresa se ha implementado en hospitales y clínicas, y si surgen dificultades, los usuarios envían solicitudes para resolver problemas. Esas solicitudes las analizamos. A veces elijo la tarea con la que trabajaré, y a veces consulto sobre la elección de tareas con colegas más experimentados.
Una vez que la tarea está asignada, comienza el trabajo. Para resolver el problema, investigo el origen del error (siempre existe la posibilidad de que la causa sea un factor humano). Después de aclarar todos los detalles con el cliente, formulo un documento técnico para el programador. Una vez que el componente o módulo está listo, los pruebo e implemento en el sistema del cliente.
Lamentablemente, la mayoría de las pruebas deben realizarse manualmente, ya que la implementación de la automatización es un proceso de negocio complejo que requiere una justificación seria y una preparación meticulosa. Sin embargo, he tenido la oportunidad de familiarizarme con algunas herramientas de automatización. Por ejemplo, la biblioteca Junit para probar un bloque a través de API. También existe el marco Twin de ebayopensource, que permite escribir scripts que imitan las acciones del usuario, muy similar a Selenium, que se utiliza en la web. Además, he dominado el marco Cucumber.
Mis ingresos en el nuevo lugar han crecido el doble en comparación con el trabajo freelance, gracias en gran parte a que trabajo a tiempo completo. Por cierto, según las estadísticas de hh.ru y otros recursos, el salario de un desarrollador en Taganrog oscila entre 40,000 y 70,000 rublos. En general, estos datos son precisos.
El lugar de trabajo está equipado con todo lo necesario, la oficina es espaciosa, con muchas ventanas y siempre hay aire fresco. Además, hay una cocina, una cafetera y, por supuesto, ¡galletas! El equipo también es genial, no hay aspectos negativos en este sentido. Un buen trabajo, buenos colegas, ¿qué más necesita un programador y tester para ser feliz?
Cabe destacar que la oficina de la empresa está en Taganrog, que es mi ciudad natal. Hay bastantes empresas de TI aquí, así que hay espacio para crecer. Si lo desean, pueden mudarse a Rostov, donde hay más oportunidades, pero por ahora no planeo mudarme.
¿Qué sigue?
Hasta ahora, estoy contento con lo que tengo. Pero no pienso detenerme, así que sigo aprendiendo. Tengo un curso de "JavaScript. Nivel 2" en espera, y tan pronto como tenga más tiempo libre, definitivamente comenzaré a estudiarlo. Repaso regularmente los materiales ya aprendidos, además de ver conferencias y webinars. También participo en el programa de mentoría de GeekBrains. Así, para los estudiantes que han completado los cursos con éxito y han entregado las tareas, existe la oportunidad de ser mentor para otros estudiantes. El mentor responde a las preguntas y ayuda con las tareas. Para mí, esto también es una forma de repasar y consolidar lo aprendido. En mi tiempo libre, cuando tengo la oportunidad, resuelvo problemas de recursos como ,,.
También estoy aprendiendo un curso de desarrollo de Android, que imparten los profesores de ITMO. Estos cursos son gratuitos, y si se desea, se puede presentar un examen de pago. Cabe destacar que el equipo de ITMO mantiene el primer lugar mundial en competiciones de programación.
Algunos consejos para aquellos interesados en la programación
Ya con cierta experiencia en desarrollo, quiero aconsejar a quienes planean entrar en el sector IT que no se lancen de cabeza. Para ser un buen especialista, hay que estar apasionado por lo que se hace. Para ello, se debe elegir una dirección que realmente guste. Afortunadamente, no es difícil en absoluto; actualmente, hay una gran cantidad de reseñas y descripciones sobre cualquier área de desarrollo, lenguaje o framework en Internet.
Y también hay que estar preparado para un proceso de aprendizaje constante. Un programador no debe detenerse; es como una muerte profesional, aunque no física. Si estás listo para esto, adelante, ¿por qué no?
Fuente: habr.com
