Hola. Este artículo es parte de una nueva serie en la que hablamos con desarrolladores de software profesionales, les preguntamos cómo es escribir código para ganarse la vida y quizás obtengamos algunos conocimientos sobre la industria del desarrollo de software en el camino.
Hoy hablamos con Sunil Kumar Arora también conocido como “Digitiger”. Sunil tiene su sede en Shillong, Meghalaya, India. Es MVP de Embacadero y desarrollador de Delphi desde hace mucho tiempo.
Table of Contents
Hola Sunil, gracias por hablar con nosotros.
Gracias por la oportunidad.
¿Podrías contarnos un poco sobre ti?
Pienso en mí mismo como alguien que continúa intentando recorrer el camino menos transitado y salir de las zonas de confort, una y otra vez. Siendo un niño de corazón que disfruta fantaseando y también apasionado por aprender ciencias puras y racionales, mi verdadero viaje profesional tiene sus raíces en el desarrollo de software, ventas y marketing y, sobre todo, en la gestión y el fomento de relaciones de todo tipo. Creo que soy un solucionador de problemas analítico, perspicaz y altamente disciplinado con una capacidad demostrada para identificar y asegurar los recursos del proyecto y proporcionar el liderazgo de calidad que invoca la participación profesional comprometida de todos los involucrados. Mantener una atención meticulosa a los detalles, inspirar el logro del equipo y entregar calidad y ejecución de proyectos a tiempo son áreas en las que se informa que sobresalgo.
Por mucho que me preocupen las relaciones humanas, siento que el enfoque del trabajo y la calidad del trabajo son igualmente importantes. He tenido la responsabilidad del diseño, implementación y ejecución de proyectos de desarrollo / soporte para todas las plataformas tecnológicas incluyendo SMAC. Durante ese tiempo, he desarrollado una sólida reputación por la gestión exitosa y rentable de numerosos proyectos simultáneos a través de todas las fases del proyecto, desde la concepción hasta la finalización, dentro de los parámetros de cumplimiento, calendario y costos específicos. Mantener una reputación de alto desempeño, mantener estándares de calidad y minimizar los costos corporativos y la responsabilidad ha sido un resultado constante de mi compromiso profesional.
Por último, pero no menos importante, mi empatía y compasión también me impulsa a seguir participando voluntariamente como trabajadora social a través de varias organizaciones / ONG, incluido el FOMI (Amigos de los enfermos mentales), el Rotary Club de Shillong y muchas otras.
¿Qué producto (s) de Embarcadero utiliza a) con mayor frecuencia b) con regularidad?
Aunque utilizo RAD Server, Interbase, etc., Delphi ha sido el producto Embarcadero más utilizado que he estado usando desde hace mucho tiempo. De hecho, comencé a usar Delphi con la versión 2 alrededor de 1996 si mi memoria no me falla.
¿Cómo y / o por qué te convertiste en desarrollador?
Puede que te rías, pero de hecho siento que mis dos principales hábitos / aficiones son las principales razones por las que me convierto en desarrollador. Una es mi pasión por la creatividad y la segunda es mi pereza. Porque me encanta ser creativo, pero también me gusta hacer las cosas de la manera más fácil posible con el menor esfuerzo o confusión, por lo que convertirme en desarrollador de software quizás era la opción más lógica.
¿Crees que alguna vez dejarás de ser desarrollador? Si es así, ¿qué sería lo siguiente?
No creo que en el sentido real haya un punto final hasta el momento en que mi cerebro esté funcionando, sí, el cuanto seguramente disminuiría tarde o temprano. De hecho, si comparo la cantidad de trabajo o tiempo que dediqué a actividades relacionadas con el desarrollo, digamos hace unos diez años, con lo que hago ahora, ya ha disminuido significativamente, pero tal vez en el frente de la calidad se haya movido a un nivel completamente diferente.
Para responder al siguiente punto de su pregunta sobre qué haré a continuación si dejo de ser desarrollador, creo que la siguiente mejor cosa que en algún momento echo de menos, especialmente desde que la pandemia llegó con bloqueos prolongados, es explorar…. explorando el mundo en todas sus dimensiones. Realmente disfruto expandiendo mi horizonte y explorando leyendo, aprendiendo, observando y, lo más importante, viajando y haciendo amigos. Entonces, si tuviera la oportunidad, tal vez cambiaría a algo relacionado con eso, tal vez un blog de viajes.😊
¿Qué le hizo empezar a utilizar Delphi?
A mediados de los 90 solía trabajar principalmente con VisualBasic / C / Lotus123 / FrontPage / Foxpro / OracleForms / Shell Scripting, etc. Fui administrador certificado de AIX Unix en los 90 y, por cierto, certificado Oracle DBA. Fue en algún momento de 1996 cuando un colega senior que regresó de San Francisco, trajo un juego de instalación y un manual a la India. Pero afortunadamente, o desafortunadamente, ese colega estaba ocupado con los sistemas de Defensa Aérea (ambos estábamos trabajando para la Fuerza Aérea de la India en ese momento) y, por lo tanto, me pidió a regañadientes que dedicara un tiempo a mirar este nuevo lenguaje y ver si podía haber alguna posibilidad. . Y ese primer día en el sistema Windows NT de 32 bits (creo que era un procesador 586 de segunda generación), pasé casi 18 horas con Delphi. Ese fue mi primer día con él y me voló la cabeza. Realmente me sorprendió la eficiencia con la menor cantidad de código, pude conectarlo con cualquiera de esas bases de datos desde Oracle a Foxpro a DBase a archivos planos e incluso en la base de datos de memoria, todo incluso en el momento del diseño sin escribir ni una sola línea de código en la mayoría de los casos. El hecho famoso del pescado fue el anzuelo que me enganchó desde entonces.
If you could give some advice to a student who is considering a career as a software developer, what would it be?
In my humble opinion few main abilities which a developer need to have or cultivate is ability to observe and more importantly to visualize to an extent which is even better then mind reading because more often then not, even the potential user does not even know what exactly they are looking for so during the development, one has to visualize lot of those things which are not explained or anticipated by users but still developer has to cater to. Next is assume that the users would like to follow a well laid out route with least possible clicks or efforts, so the software design and implementation needs to take care of that. Another most important thing is the habit to keep learning in all ways possible because in this field even a year of stagnation could result in death blow, and one could easily be thrown out of market. But most important of all is to be prepared for a Change. One should code and develop assuming that all the requirements could change, and all the assumptions could prove wrong in the long term.
Si pudiera darle algún consejo a un estudiante que está considerando una carrera como desarrollador de software, ¿cuál sería?
En mi humilde opinión, pocas habilidades principales que un desarrollador debe tener o cultivar es la capacidad de observar y, lo que es más importante, de visualizar en una medida que es incluso mejor que la lectura de mentes porque la mayoría de las veces, incluso el usuario potencial ni siquiera sabe qué es exactamente. lo que buscan durante el desarrollo, uno tiene que visualizar muchas de esas cosas que no son explicadas o anticipadas por los usuarios, pero aún así el desarrollador tiene que atender. A continuación, se asume que a los usuarios les gustaría seguir una ruta bien trazada con la menor cantidad de clics o esfuerzos posibles, por lo que el diseño y la implementación del software deben encargarse de eso. Otra cosa muy importante es el hábito de seguir aprendiendo de todas las formas posibles porque en este campo incluso un año de estancamiento podría resultar en un golpe mortal, y uno podría ser fácilmente expulsado del mercado. Pero lo más importante de todo es estar preparado para un cambio. Uno debe codificar y desarrollar asumiendo que todos los requisitos podrían cambiar y que todas las suposiciones podrían resultar incorrectas a largo plazo.
¿Cuál es el mejor día que ha tenido como desarrollador?
Una de las aplicaciones más grandes y ampliamente utilizadas desarrolladas con Delphi es la que utilizan las fraternidades médicas, especialmente en el Departamento de Asuntos de Veteranos (EE. UU.), Junto con muchos grupos de usuarios en Europa, Oriente Medio y otros países. Se relaciona con la Arquitectura de Tecnología y Sistemas de Información de Salud para Veteranos ( VISTA ), CPRS y sus aplicaciones periféricas. La mayoría de los desarrolladores relacionados con esto han estado trabajando ” pro bono público ” o mediante algunas asociaciones de voluntariado como WorldVista. Una de sus dependencias durante más de dos décadas ha estado en MS Office para cosas como el corrector ortográfico.
Cuando se lanzó Office 365, de alguna manera rompió el mundo tradicional de las aplicaciones COM hasta cierto punto, y también fue el caso de este CPRS. Por cierto, estaba asistiendo a una de las conferencias de Skype de los desarrolladores de WoldVista como una especie de espectador cuando varios asistentes senior compartieron sus preocupaciones sobre el efecto negativo de esta ruptura. Ahora, porque era una aplicación realmente prestigiosa y útil que también en el dominio médico y que afectaba a los veteranos también y, lo más importante, estaba basada en Delphi, así que, naturalmente, lo tomé como un desafío y en unos pocos días no solo pude analizar la compleja base de código. y su flujo de trabajo, sino que también reemplazó el corrector ortográfico basado en MS Office con alternativas de código abierto. Cuando compartí mi trabajo con la comunidad, la mayoría de los desarrolladores allí, sobre todo, han sido desarrolladores durante casi 40 años y estaban casi conmocionados y muy agradecidos. Creo que ese fue mi mejor día como desarrollador. Aunque en términos de monitorización y otros términos materialistas podría no haber recibido nada en absoluto, la satisfacción y la alegría real de esa entrega no han sido superadas hasta el día de hoy.
¿Qué es lo peor de ser desarrollador?
Para muchos desarrolladores apasionados, el equilibrio entre el trabajo y la vida es casi siempre la primera causalidad. Por mí mismo, recuerdo las veces, cuando estaba tratando de resolver algunos problemas difíciles incluso en mis sueños mientras dormía y sucedió no una sino varias veces que me despertaba con alguna solución, de repente en medio de la noche. (en realidad, en las primeras horas de la mañana, lo que equivale a media noche para las personas que duermen tarde como yo) y tendría que escuchar otra conferencia de mi media naranja.
¿Cuál es el consejo de desarrollo más genial que conoces?
Capacidad para aprender del código de otros. Esto es más aplicable a Delphi porque Delphi está hecho con Delphi, la mayor parte de su código fuente está disponible. Entonces, por ejemplo, durante los primeros días cuando no estaba seguro de cómo un código Delphi podía conectarse con la base de datos y obtener y mostrar los datos en vivo incluso en el momento del diseño (cuando teóricamente mi aplicación no se estaba ejecutando), simplemente tuve que mire bajo el capó el código fuente de componentes relacionados como TDataset, TDatasource, etc. para comprender y aprender cómo funcionaba detrás de escena.
¿Trabaja desde casa, trabaja desde una oficina, trabaja en un espacio abierto / compartido? Que prefieres y porque? ¿Puedes elegir?
En este sentido, he tenido mucha suerte. Durante casi 20 años, he estado trabajando principalmente en modo híbrido. Eso es, aunque he estado viajando por todo el mundo para interactuar con el usuario, trabajando en equipo desde ubicaciones de clientes en el sitio, etc., pero en su mayoría he estado trabajando de forma remota desde uno de los rincones más bellos de este mundo. Incluso cuando Internet era extremadamente lento y la banda ancha ni siquiera estaba disponible, la velocidad solía ser de solo unos pocos Kbps, ¡yo solía trabajar de forma remota incluso en esos días! Realmente amo trabajar desde mi habitación en la esquina de mi casa, en un entorno natural aún virgen en una esquina del noreste de la India en una ciudad conocida como Shillong muy cerca de Cherrapunji, que tiene el récord de ser el lugar más húmedo del mundo.
¿Has estado en Silicon Valley? Si es así, ¿cómo estuvo? Si no es así, ¿alguna vez has querido hacerlo?
Sí, fue un sueño hecho realidad, cuando fui contratado por una gran ONG llamada EMQ Families first, que tiene su sede en Silicon Valley. Viajé dos veces a sus oficinas repartidas por todo el valle y fue un verdadero placer estar allí. Una vez más, el valle está en la parte superior de mi lista de destinos para visitar en el momento en que se levanten las restricciones de viaje. Realmente me encantaría pasar un mes o dos en y alrededor de la Bahía de San Francisco – Mountain View – área de San José y volver a ponerme en contacto con amigos entre la comunidad de desarrolladores en Silicon Valley.
¿Rastrea los errores? Si es así, ¿qué recomiendas?
Sí, siempre es necesario realizar un seguimiento de los errores. Podría ser muy simple como comentarios en la parte superior del archivo de origen o etiquetas de tareas pendientes o alguna lista de palabras o podría ser una gestión formal de errores a través de herramientas como Jira, BugZilla, Mantis, BackLog, TFS, etc. Afortunadamente, o afortunadamente yo trabajando como consultor la mayor parte del tiempo, excepto en mis primeros días, cuando era demasiado joven para opinar en la selección de herramientas o quizás en algunos proyectos más largos en los que desempeñaba los roles principales, a menudo tuve que adaptarme a lo que sea que el equipo del cliente ya haya estado usando. Como en mi proyecto anterior hasta hace unos meses, estaba usando BugZilla pero ahora en mi proyecto actual con el que comencé a trabajar desde el mes pasado, estamos usando Jira para el seguimiento de errores.
¿Cuál es la mejor película de desarrollador / hacker / tecnología / geek?
De hecho, esta es una pregunta difícil de responder para mí. Desde mi adolescencia me sentí atraído y disfruté de las fantasías, así como del tipo de películas de ciencia ficción. Si necesito especificar una película o serie de ciencia ficción, entonces “Star Trek” es una elección indudable, pero como preguntas sobre la película de desarrollador / hacker / tecnología / geek, creo que diría que quizás “Office Space”, protagonizada por Ron Livingston, Jennifer Aniston. , David Herman y Ajay Naidu, lanzado un poco antes del Y2k. Otra película titulada “War Games”, estrenada en los ochenta y protagonizada por Matthew Broderick, podría estar entre mis “dos de las mejores”. También me gustó, pero en un género diferente, fue “Untraceable”, lanzado creo que alrededor de 2008-09 y protagonizado por Diane Lane, Colin Hanks.
Si se hiciera una película sobre tu vida, ¿quién te gustaría que te interpretara?
Oh, si quieres que fantasee con eso, entonces seguramente me encantaría que Morgan Freeman me hiciera el papel.
¿Tiene un libro, producto o servicio que le gustaría mencionar?
Algunos libros han estado en mi lista de deseos desde hace mucho tiempo. De hecho, un editor importante casi pudo hacerme firmar en la línea de puntos y comenzar con un libro de Delphi con un enfoque en la interfaz web (estaba planeando TMS WEB Core para eso) pero de alguna manera u otra el constante empuje y tirón de los proyectos en vivo. y mi pasión por la codificación práctica siempre me ha mantenido alejado de la autoría de libros. En cuanto a los servicios, sí, siempre estoy disponible para cualquier desarrollo de software desafiante, especialmente el que involucra ingeniería inversa o actualización de un producto antiguo para el que ni siquiera la fuente original está disponible.
¿Tiene un sitio web que la gente pueda visitar?
Sí, tengo un micrositio que se ejecuta en un pequeño servidor Raspberry Pi 3 en una esquina de mi casa usando IP dinámica de un ISP ultra lento y está disponible para que el público lo visite en https://digitiger.com
Si usa Twitter, ¿cuál es su nombre de usuario de Twitter?
Gracias por hablar conmigo Sunil y gracias por todo lo que hacen por la comunidad de desarrolladores.