¿Cómo es el día típico de un ingeniero de software?

Hmmm … bueno, para mí (como programador senior de juegos), es así:

Llego al trabajo temprano (7 am) porque soy una “persona mañanera”, pero la mayoría de mis compañeros de trabajo no llegan a trabajar hasta las 9 o 10 am. Tenemos “tiempo flexible”, siempre que estemos allí entre las 10 a.m. y las 4 p.m. y trabajemos 40 horas a la semana, vamos y venimos a nuestro antojo.

Tenemos una cocina completamente equipada (¡gratis!), Así que tomaré un café y un refrigerio para el desayuno (generalmente tenemos cereales, bolsas, barritas energéticas y fruta disponibles), revisaré el correo electrónico mientras mastico y luego me acomodaré para trabajar en cualquier tarea de programación que dejé de hacer el día anterior.

A las 10am, tenemos “scrum” (también conocido como “standup”) donde el equipo se reúne alrededor del “tablero scrum”. Nuestro jefe nos cuenta cualquier noticia de tipo gerencial del día anterior, luego damos una vuelta por el equipo con cada persona describiendo lo que hicieron el día anterior y lo que planean hacer hoy. También explicarán los “bloqueadores” que son impidiéndoles hacer algo. Puede haber BREVE discusión de esto … pero breve. Todo se hace en 15 minutos.

Para los líderes de equipo (como yo), podemos ejecutar un “scrum-of-scrums” donde los líderes de equipo se reúnen alrededor del tablero de scrum y cada uno de nosotros resume lo que acaba de escuchar de su equipo para que todos los equipos tengan alguna idea de lo que otros están a la altura.

Cuando se realiza el scrum, generalmente socializamos durante 10 o 15 minutos, luego nos separamos y nos ponemos a trabajar. La gente vaga a la sala de descanso esporádicamente para tomar bocadillos, refrescos o café. A veces tenemos pequeñas reuniones emergentes alrededor del escritorio de alguien cuando hay un problema que necesita solución. Como todos se están concentrando ahora en su trabajo, nos esforzamos por evitar distracciones. A menudo nos comunicamos con la persona sentada a nuestro lado usando el correo electrónico o una sala de chat para evitar distraer a otras personas con conversaciones.

Algunas personas se reúnen para almorzar; encuentre un restaurante cercano. Otras veces, las personas toman comida y comen en sus escritorios mientras trabajan o simplemente se juntan. Los miembros del equipo también son amigos … y quizás también “familiares”.

A menudo, las personas necesitan una breve distracción de su trabajo, y muchas empresas tienen cosas como mesas de billar o videojuegos en la sala de descanso para que las personas socialicen durante las horas de trabajo. No puede hacer esto en exceso, pero a nadie le importa si hace esto durante media hora aquí y allá. Reconocemos que es imposible poner 8 horas de concentración al 100%.

A menudo habrá reuniones: todos toman su computadora portátil y se dirigen a una sala de reuniones cercana … algunas de estas se programarán, como nuestras reuniones de “planificación de sprint” y “retrospectiva de sprint” que suceden cada dos semanas … otras serán cosas que surgen que necesitan discusión con un grupo de personas. Algunos días son (afortunadamente) libres de reuniones, otros están tan llenos de reuniones que es difícil hacer el trabajo.

No todo es trabajo: a menudo habrá discusiones tontas prolongadas en la línea de chat; la administración a menudo tendrá cosas como almuerzos gratis, fiestas después del trabajo, salir juntos de la oficina para ver una nueva película, o hacer una ronda de mini- golf o lo que sea. Normalmente hay media docena de esos eventos repartidos durante todo el año. Ponga esto en “trabajo en equipo”. También tenemos “happy hour” el viernes: todos tomamos una cerveza (¡tenemos un “refrigerador de cerveza” en la oficina!) Y nos sentamos a masticar la grasa. Algo de esto puede ser material tecnológico, pero a menudo es solo un geek-chat general.

Terminé con el trabajo alrededor de las 4 p.m. (porque empiezo a las 7 a.m. y tomo una hora para el almuerzo), pero las personas que vienen a las 9 o 10 trabajarán hasta las 6 o 7 p.m. NUNCA respondo correos electrónicos o chats de trabajo cuando estoy fuera de la oficina, pero algunas personas lo hacen.

El código de vestimenta es “debes usar ropa”, y los pantalones cortos y camisetas o jeans y sudaderas con zapatillas o sandalias son comunes. Un tipo que conozco se viste con ropa de “SteamPunk”, ¡y nadie se inmuta con eso!

Nuestros escritorios generalmente están en cubos o en áreas de trabajo abiertas; a menudo no tenemos oficinas. La mayoría de los programadores tienen dos monitores grandes y una computadora portátil de última generación o una computadora portátil grande, pesada y totalmente cargada. Podemos elegir nuestros propios teclados y ratones. Si estamos trabajando en el desarrollo de la consola, habrá otro monitor con Xbox o Playstation (¡tal vez ambos!) Con los controladores necesarios. Por eso necesitamos escritorios GRANDES.

La gente escucha música o lo que sea con auriculares, por lo que la oficina es * TRANQUILA *. ¡Las personas que tienen audio proveniente de teléfonos y parlantes de PC sufren una muerte inmediata y horrible! Si tiene que hacer una llamada telefónica, salga al pasillo para hacerlo.

Debido a que utilizamos el “desarrollo ágil”, el trabajo tiende a caer en “sprints” de 2 semanas, que comienzan con optimismo y entusiasmo por las nuevas tareas en las que nos estamos metiendo, tienden a calmarse un poco en el medio, y generalmente hay actividad frenética hacia el final del sprint a medida que las tareas se terminan y se registran en nuestro sistema de control de revisiones.

Esto establece un “ritmo” de trabajo al que nuestras familias se adaptan gradualmente … mi esposa sabe que puedo llegar tarde a casa hacia el final del sprint, que puedo relajarme totalmente y descansar el fin de semana antes del comienzo de un nuevo sprint, pero puede estar algo absorto y distraído con preocupaciones laborales en el fin de semana de mitad de carrera. (Intento no hacer eso … pero sucede). Intentamos programar vacaciones alrededor de la estructura del sprint.

En el negocio de los juegos, a menudo tenemos que sacar nuestro producto “por la puerta” para una fecha límite que deja el juego en los estantes de las tiendas a tiempo para Navidad. Esta es una fecha límite “no se puede perder”. Si el juego no sale para Navidad, obtendrá ventas patéticas para el lanzamiento de mediados de año, o tendrá que retrasarse un año entero, lo que lo haría obsoleto, y le costará a la compañía otro año de salarios. , lo que lo haría poco rentable.

Entonces, si nos atrasamos en el horario, estaremos trabajando horas locas (lo llamamos “tiempo de crisis”) en los meses previos a la fecha de lanzamiento. En esos momentos, a veces se le pide a la gente que trabaje 50, 60 o incluso 70 horas a la semana … comeremos todas nuestras comidas en el trabajo, trabajaremos durante los fines de semana, detendremos el tiempo de vacaciones … esto es tiempo extra no remunerado y es horrible.

Las malas compañías hacen esto mucho, a menudo hasta el punto de abusar de su personal, pero existe la tendencia de evitar el tiempo de crisis tanto como sea posible, y si un juego está bien planificado y ejecutado profesionalmente, no es necesario.

En general, es una vida que amo.

Un día típico para mí es bastante atípico, pero aquí hay algunos puntos destacados.

Por lo general, comienza aproximadamente a las 7 a.m. revisando el correo electrónico y haciendo un seguimiento con otros. Pronto encuentro una fuente de cafeína y placer. Luego paso tiempo leyendo noticias, mirando publicaciones interesantes en los blogs que sigo, revisando los cómics que me gustan y cualquier otra cosa que pueda encontrar para distraerme mientras preparo mi computadora para el día.

Luego, trato de averiguar qué necesito hacer y qué debo hacer. Haré todo lo posible para cumplir las tareas de mi lista. Realizo entre 1/2 y 1/3 de mi trabajo total realizado durante el día en una o dos horas desde la mañana hasta la media mañana. Trato de exprimir una pequeña siesta allí también.

A lo largo del día, tomaré descansos para estirar mi cuerpo. También hablaré con compañeros de trabajo o encontraré algo interesante en Internet. Tomo el almuerzo alrededor de las 11:30 a.m.

Por lo general, necesito un refuerzo de cafeína y azúcar a media tarde, así que hago eso o salgo a caminar. Una vez que alcanzo mi zancada de media tarde, obtengo 1/2 a 2/3 del trabajo real que haré por el día. Normalmente encuentro un buen lugar para parar entre las 4 y las 5 p.m.

Dependiendo del día y la carga de trabajo, volveré a iniciar sesión y trabajaré entre las 8 y las 10 p.m.

Ese es mi día de trabajo, que supuse que realmente te importaba. Soy padre soltero de 3 hijos, por lo que el resto de mi día se divide entre alguna actividad escolar / deportiva / musical con uno de los niños y hacer cualquier otra cosa que necesiten (comidas, ayuda con la tarea, etc.). Intento limpiar cuando puedo. Duermo cuando tengo la oportunidad. De vez en cuando, veo Netflix o Hulu. Últimamente, paso más tiempo del que debería llevar a mis hijos a cazar Pokémon con Pokemon GO.

Un día típico de ingeniero de software es similar a todas las demás personas que trabajan en la industria.

Mi día comienza apagando la alarma a las 8 a.m., preparándome para el trabajo mientras desayuna.

9 AM Me voy a la oficina, me toma casi 1 hora llegar a mi oficina en metro. Mientras viajo (si tengo la suerte de conseguir un asiento) reviso todo el código erróneo en el camino.

10 a.m. Oficina alcanzada. Comienza a ver qué tareas quedaron ayer y qué tareas se deben lograr hoy, corrige si hay errores presentes en el código.

Avance rápido 3 horas.

1 p. M. Portátil en modo de suspensión y carga, va a almorzar y charlar con sus compañeros sobre qué funciones se pueden incorporar y planificar las tareas por delante.

2 PM Almuerzo terminado. Volver al trabajo.

Avance rápido 3 horas.

5 PM Revisa todas las funciones escritas con las pruebas, escribe un correo al gerente con respecto al trabajo realizado y toma nota de todas las tareas que se deben realizar.

6 PM Izquierda para el hogar.

7 PM Alcanzado a casa.

Interactuar con miembros de la familia, discutir asuntos cotidianos, ayudar a la familia con el trabajo de la casa durante la cena.

9 PM Nuevamente volviendo a la codificación, trabajando en proyectos personales, contribuyendo a github, aprendiendo algo nuevo.

11 PM Portátil apagado. Quora en. Paso al menos media hora leyendo varios temas.

11 30 PM Me voy a dormir y repito otra vez.

PD: solo obtén los domingos para la fiesta

Yo:

En casa

05.00–06.00 – Despierta, leyendo algunos libros

06.00–09.00 – Haga algún ejercicio de programación, algunos MOOC o aprenda nuevos idiomas (no lenguajes de programación, el verdadero como el mandarín)

En el trabajo

09.00 – 12.00 La primera mitad, lea toda la holgura, vea el gráfico de monitoreo, lea los correos electrónicos y siga / revise algunas Solicitudes de extracción (PR)

12.00 – 13.00 Descanso, almuerzo, algo de azúcar

13.00 – 18.00 Segunda mitad, 10 minutos de pie, haga la codificación real, a veces discutiendo los requisitos

En casa

18.00 – 19.00 Chill (Lea libros, llame a madres, etc.)

19.00 – 22.00 Haga un trabajo de código abierto

22.00 – 05.00 Dormir

Todos somos diferentes, incluso más, yo no soy el principal.

El día típico dependerá de cosas como la antigüedad del ingeniero de software, si dirige un equipo o lo respalda, y cuál es el proyecto. Los ingenieros de software principiantes generalmente pasan la mayor parte de su día desarrollando código y los ingenieros de software senior pasan la mayor parte de sus días en reuniones. Pero hay tantas excepciones a esta generalización que probablemente no te ayudarán mucho. Jim

Llegar a la oficina. Siéntate en tu escritorio.

Comience a instalar el sistema operativo + producto que está probando en 6 sistemas diferentes a la vez.

Ir a tomar un café mientras instala acabados.

Comience a configurar el producto en los 6 sistemas.

Explore Facebook mientras finaliza la configuración.

Ejecute sus pruebas. Llegaste a un problema.

Corre por la oficina preguntando a las personas si han visto este problema antes. Nadie tiene.

Ve a almorzar porque estás cansado de correr.

De mala gana, comience a depurar el problema.

Después de 15 minutos, llame al desarrollador y dígale que es su código el que causa problemas.

Dale tu preparación y ve a tomar un café mientras trabaja en el problema.

El desarrollador dice que la configuración fue incorrecta y la corrige él mismo.

Diríjase a su gerente y presuma de cómo encontró un problema que podría afectar al cliente.

Cree una nota innecesaria para la documentación sobre el problema.

Envíe la nota al escritor técnico y envíele un cc a todo el equipo.

Vete a casa.

a las 8:00 am, despertar y desayunar

a las 10:00 a.m., ir a la compañía

a las 11:00 am, codificación o reunión

a las 12:00 pm, almuerzo y descanso

a las 2:00 pm, codificación codificación codificación

a las 6:00 pm, ve a cenar

a las 7:00 pm, codificación o resumen

a las 8:00 pm, vete a casa

a las 9:00 pm, vida nocturna

Me despierto, tomo un café, reviso mi correo electrónico, que generalmente incluye algunos correos electrónicos de interrupción, pero espero que se hayan resuelto de la noche a la mañana. Por lo general, empiezo a trabajar en mis historias que no pude terminar o, si lo hice, empiezo con una nueva. A las 10 de la mañana, tengo mi standup diario donde discuto con el resto del equipo lo que hice ayer y lo que planeo hacer hoy. A lo largo del día, ayudo a otros ingenieros, a veces me ocupo de una revisión de código, una solicitud de extracción y, si es un mal día, trabajo en un error que debe corregirse en PROD o al menos repararse y enviarse a DEV antes que cualquier otra cosa, o si Veo una vulnerabilidad de seguridad, audito el riesgo y tomo las medidas apropiadas. También paso mucho tiempo pensando en cómo puedo mejorar los muchos servicios que construí y mantengo.

Me despierto, generalmente tengo llamadas de conferencia con ingenieros en otros países. Entonces me preparo para el día. Por lo general, me dirijo a la oficina después de que el tráfico ha disminuido un poco. Luego llego a la oficina, pero generalmente ya he recibido correos electrónicos durante las llamadas de conferencia y esa parte de mi día ya ha terminado. Luego verifico qué tickets (tareas) me han asignado y los ordeno en orden de importancia. Luego empiezo a trabajar en el boleto más importante. Algunos de los más grandes pueden demorar un poco, tal vez pueda obtener algunos boletos pequeños en un día. Tomo un descanso para almorzar durante el día, y tal vez una caminata al final de la tarde. Luego me dirijo a casa y podría tener una conferencia telefónica por la noche con otros países una vez más.

En mi equipo les dejé jugar juegos en su teléfono móvil o incluso en sus PC a través de LAN, pero no por mucho tiempo, tomarán pausas para el té, las pausas para fumar se burlarán unos de otros y así es como pasan el día. Suele ser un día divertido. A menos que tengas una fecha límite, será horrible.

More Interesting

¿Cómo puede un ingeniero de software ganar un Premio Nobel?

¿Cómo alguien que teme programar entrevistas se convierte en ingeniero de software?

En las casas de software actuales, ¿qué técnica se usa comúnmente para estimar su software?

¿Qué tipo de trabajos realizan los ingenieros de software normales en caso de aprendizaje automático e inteligencia artificial en India?

¿Cuáles son algunas diferencias de pensamiento entre los ingenieros de desarrollo de software y los ingenieros de prueba?

Soy un ingeniero de software que gana alrededor de Rs 30,000 por mes en India. ¿Cómo puedo ganar más dinero durante las tardes y los fines de semana?

¿Cómo prepararse para una entrevista telefónica con un ingeniero de software de Facebook? ¿Qué tan difíciles son las preguntas que necesito practicar?

¿Vale la pena asistir a un programa de doctorado para ser cuantitativo en los fondos de cobertura y los bancos de inversión?

Me colocaron en MNC como ingeniero de software pero quiero hacer más, aparte de esto. ¿Qué tengo que hacer?

Recibí una oferta de trabajo de Microsoft India, Hyderabad como Nivel 64 (Ingeniero de Software Senior). ¿Qué factores debo considerar antes de unirme?

¿Te consideras un programador 'bueno' y efectivo, pero uno que no es natural en la programación?

¿Cómo es ser ingeniero de software en Pakistán?

¿Son los ingenieros de software en el banco más ricos que los ingenieros de software en las empresas de inicio y software?

¿Los ingenieros de software de las principales compañías tecnológicas usan Python para multiprocesamiento o subprocesamiento múltiple?

¿Debo solicitar un trabajo solo por obtener experiencia en entrevistas?