Me estoy moviendo a un rol de desarrollador de SDET. ¿Qué puedo esperar y cómo puedo prepararme para sobresalir en mi nuevo cargo?

Gracias por el A2A!

Bueno, si ya tienes experiencia escribiendo un buen código, las cosas no deberían ser muy diferentes. Si tiene 5 años de experiencia, debe saber cómo escribir un código de calidad de producción. Su posición en SDET es un poco diferente, pero probablemente tenga que probar el software asignado a la producción, y eso significa al menos una considerable calidad y facilidad de mantenimiento (ya que se convierte en la parte en la que las personas confían para garantizar que el software haga lo que debería hacer).

También debería decir que mi respuesta será desde la perspectiva de lo que creo que es el papel de un arquitecto / ingeniero de software, porque de eso se basa mi experiencia. Lo que eso significa: no un tipo que toma una tarea aislada y qué tecnologías debe usar y hace lo que se le dice, sino un tipo que ve y crea software en su conjunto y trata de diseñarlo (con patrones o tecnologías) de la mejor manera disponible para él. La programación es solo el paso para aplicar esto.

Lo que creo debería ser el foco de sus esfuerzos para calificar mejor para este nuevo rol:

  1. Una gran cantidad de componentes y reutilización, su código siempre será parte de algo más grande: he visto y hecho un código básico que creo que haría un SDET (pruebas de comportamiento para la usabilidad de aplicaciones web usando CasperJS) pero, la mayor parte de mi experiencia con Las pruebas automatizadas están tratando de aplicar mejor los principios TDD a mis proyectos, de la manera más efectiva posible. Lo que aprendí es que el código de prueba fácil de mantener y eficiente es muy independiente desde el punto de vista atómico, ya que todos mis intentos de “componente” demasiado llevaron a más cosas que necesitaban pruebas o, cuando una de las pruebas que lo usaba, generaba demasiado lado trabajo. También observé básicamente que, en las pruebas automatizadas, algunos de los mejores códigos eran contrarios a mi intuición. En el código de la aplicación, usted tiene el axioma de ” alta cohesión, acoplamiento flojo” , por lo que todo lo que haga debe ser parte de algo más grande, debe ser muy coherente y debe ser capaz de preocuparse lo menos posible por lo que está haciendo el otro código contenido . El código de aplicación perfecto es como Lego. Cuanto más perfecto, más cercano a imposible es lograrlo, pero eso no significa que no deba desearse. Algunas cosas para recordar:
    1. Casi todo lo que necesita hacer lo ha hecho alguien. La investigación debería ser lo que más pasa tiempo haciendo si no sabe algo;
    2. No se concentre solo en un buen código, concéntrese en un buen diseño. Un buen diseño elimina el espacio para el mal código. Aprenda cosas comprobadas y respetadas, como el diseño impulsado por el dominio, los patrones de diseño de software, la aplicación The Twelve-Factor, etc. El software bien diseñado es algo hermoso. También sepa cuándo no aplicar algo, ser flexible es muy importante en el mundo real;
  2. Gestión de recursos: también, en mi experiencia, el código de prueba casi nunca se preocupa por el uso eficiente de la memoria, el uso de E / S, el subprocesamiento múltiple y cosas por el estilo. Una prueba es generalmente un proceso independiente y corto que comienza, hace algunas cosas y termina. La plataforma de pruebas generalmente se encarga de la mayor parte del trabajo duro. Una aplicación se vuelve más compleja. Puede usar marcos muy buenos para ayudar, pero en algún momento será necesario administrar algunos recursos. Es mejor comenzar al menos a lidiar con lo básico, como cerrar y no retener lo que no necesita. Las cosas de acceso global te matarán. Las sesiones y transacciones serán comunes;
  3. Lidiando con la complejidad: en el código de la aplicación, se encontrará con un mundo de posibilidades y las cosas serán mucho más grandes en su conjunto. Prepárate para lidiar con eso. Hay una infinidad de plataformas y herramientas, cada una puede ser mejor o peor para algo. No se suba al carro de prejuicios y encuentre lo que mejor se adapte a sus necesidades.

Bueno, eso es lo que puedo recordar por ahora! ¡Buena suerte en el nuevo rol!

More Interesting

¿Cuántos proyectos debo mencionar en CV?

Tengo más de 40 años. ¿Es demasiado tarde para convertirse en compositor?

¿Existe realmente una diferencia salarial entre un B.Tech y un M.Tech para un ingeniero mecánico?

Quiero hacer un robot de eliminación de bombas para FYP como ingeniero eléctrico. ¿Cómo hago esto?

¿Cuáles son las posibilidades de que desarrolle mesotelioma al trabajar como Electrician Mate en la Marina de los EE. UU.?

Cómo postularse para el puesto de analista en McKinsey India

¿Cómo debemos prepararnos para obtener la admisión al IIMA (Instituto Indio de Administración de Ahemdabad) desde el primer año en IIT Kanpur?

¿Cómo es trabajar en la alta gerencia / nivel superior?

Como líder de equipo en un incipiente inicio de tecnología, ¿qué estrategias puedo aplicar para fomentar las habilidades de liderazgo dentro de cada uno de los miembros de mi equipo?

Estoy interesado en ingeniería neuronal, neurociencia e inteligencia artificial. ¿Hay alguna relación entre estos tres campos?

Estoy persiguiendo B.Tech en informática e ingeniería. ¿Soy elegible para solicitar MS en el departamento de ingeniería biomédica?

¿Puedo ejecutar el software CAD, CAM y FEA en MacBook?

¿Por qué el asesoramiento conjunto de NIT e IIT de este año es histórico? ¿Es este el comienzo de una fusión de IIT y NIT?

No obtengo ninguna colocación a pesar de dar buenas entrevistas, ¿tengo mala suerte?

¿Qué áreas de programación debería necesitar para ser fuerte para ingresar a Ubisoft como desarrollador de juegos?