Aviso de cookies

Estoy de acuerdo Este sitio web guarda pequeños fragmentos de información (cookies) en su dispositivo con la finalidad de ofrecer un mejor contenido y para finalidades estadísticas. Usted puede desactivar el uso de cookies modificando la configuración de su navegador. Navegar por nuestro sitio web sin cambiar la configuración del navegador hace que usted nos esté autorizando a guardar esta información en su dispositivo.

Entrevista En Diferido 21: Francisco Oldani

18 de Diciembre de 2019 a las 08:00| entrevista

Comenzamos una nueva  entrevista con un invitado con perfil de desarrollador, su nombre es Francisco Oldani.

Antes de todo, gracias por aceptar la invitación y apoyar a este proyecto. La primera pregunta es una presentación por parte del entrevistado, para que los lectores te puedan conocer un poco.

Entrevista En Diferido: ¿Te puedes presentar en unas líneas?

 

Francisco Oldani:  Gracias a ti por invitarme.
Soy desarrollador en una empresa pequeña desde hace ya bastantes años. Profesionalmente empecé con gestión pura y dura programando en FoxBase bajo DOS, luego estuve bastante tiempo programando comunicaciones con CNC (en GWBasic) y PLCs (GWBasi y VB clásico) y actualmente estoy otra vez dedicándome a la gestión ya en VB.NET y SQL.
Soy autodidacta y cogí el 'vicio' con un MSX2 que me regalaron mis padres. Como véis, un 'dinosaurio' de la programación ;-)

 

EED: Para empezar , unas cuantas  preguntas cortas para conocerte mejor  y conocer tu entorno tecnológico.

¿Qué ordenador utilizas habitualmente?
¿Sistema operativo?
¿IDE o Editor con el que trabajas?
¿Lenguaje de programación?
¿Herramienta imprescindible en tu ordenador?
¿Microsoft o Google?
¿nos puedes explicar qué historia hay detrás de las chuletas?

 

FO:  Te contesto entre líneas:

¿Qué ordenador utilizas habitualmente?
En el trabajo un PC de sobremesa clónico. i7, 16 Gb de RAM, SSD de 512 Gb y secundario mecánico de 512 Gb también y dos monitores (fundamental para desarrollo). En casa un portátil Asus i7, 16 Gb de RAM y disco mecánico de 7200 revoluciones de 1Tb con dos particiones (muy infrautiizado).

¿Sistema operativo?
Windows 10 64 bits tanto en el trabajo como en casa, aunque en casa aspiro a cambiar a algún Chromebook en un futuro

¿IDE o Editor con el que trabajas?
IDE de visual studio, para Winforms lo considero imprescindible.

¿Lenguaje de programación?
Actualmente VB.NET (me apaño más o menos en C#), en el pasado FoxBase, GWBasic y algo de Cobol. De hecho recientemente tuve que refrescar un poco el Cobol para hacer una rutina de exportación de datos.

¿Herramienta imprescindible en tu ordenador?
Dos fundamentales, aunque hay más, claro
Database.NET(https://fishcodelib.com/Database.htm) para SQL y FreeFileSync (https://freefilesync.org/) para copias

¿Microsoft o Google?
Buf! Vaya preguntita. Mi herramienta de trabajo es de MS y no uso Azure, así que como servicios Google, sin duda. 

¿nos puedes explicar qué historia hay detrás de las chuletas?
😂😂😂😂 Me puedo imaginar de quien proviene esa pregunta ...
No es nada emocionante, soy un tío bastante grande (en altura) y digamos que me gusta comer y cuando los amigos salimos por ahí me doy el gustazo de comerme el típico chuletón de kilo o kilo y pico con sus pimientos, patatas ... y como además tengo la costumbre de contarlo, pues tengo cierta fama de que mejor comprarme un traje que invitarme a comer, eso dicen algunos, ¿verdad Rafa?. Nada emocionante como ves 😊.

 

EED:  Pregunta fija en todas las entrevista, donde solo cambia el contexto. En tu caso, siendo desarrollador enn VB.NET  y C#, desde el punto de vista del desarrollador y su ecosistema para desarrolladores.

¿Qué añadirías a Microsoft?
¿Qué modificarías de Microsoft?
¿Qué eliminarías de Microsoft?

 

 

FO:  

¿Qué añadirías a Microsoft?
Esta es fácil. Que vuelvan a tener un departamento para probar sus productos. Dejan todo a la telemetría y es absolutamente desesperante que parche tras parche persistan errores absurdos que hacen perder el tiempo y la paciencia. 'Me se' llevan los demonios cada vez que sufro el mismo fallo haciendo lo mismo, ¡es deseperante!

¿Qué modificarías de Microsoft?
Tienen que mejorar la claridad de la documentación, la organización de la información me parece anárquica (es mi opinión). Me es mucho más sencillo encontrar respuestas fuera de la Web de MS que en ella.

¿Qué eliminarías de Microsoft?
Esta pregunta es complicada, al menos desde el punto de vista del desarrollo. Que narices, me voy a mojar! Alguno me va a aplaudir y otros me atarán a un mástil, pero sinceramente creo que deberían quitar VB.NET y centrarse en C#, proporcionando las herramientas de transición adecuadas, claro. Está loco! Si el tío trabaja con VB! Vale, cierto, pero hay que ver la realidad, cuando uno busca un ejemplo está en C#, cuando uno busca documentación encuentra 10 veces más en C# y aunque es trivial (casi siempre) traducir de un entorno a otro, las preferencias de la gente están claras. Si se unificaran esfuerzos creo que al final sería beneficioso para todos y sinceramente, tampoco es tan sumamente complicado pasar de un lenguaje a otro. Más complicado fue pasar de VB clasico a .NET o de entorno DOS a Windows (se nota que llevo unos años en ésto, no?)

 

EED:  Hacia mucho tiempo que no conocía un desarrollador en VB.NET , desconozco el ecosistema de ese lenguaje; IDE, recursos, versiones, librerías...

¿Porqué utilizas VB.NET?
¿Como es su ecositema y en qué estado se encuentra VB.NET?
¿Te gustaría aprender otro lenguaje de programación?

 

FO:  El IDE es el de Visual Studio, el mismo que C#, F#, etc. Los recursos ... pues básicamente los mismos que los de C#, es lo bueno de .NET, no es excesivamente complicado pasar de un lenguaje a otro y la versión va pareja con C#, actualmente Visual Studio 2019. Las librerías que se pueden usar en VB son exactamente las mismas que en C#, de hecho mis librerías internas están programadas algunas en VB y otras en C#

¿Porqué utilizas VB.NET?
Pues por simple comodidad. Cuando empecé a programar en entorno Windows lo hice con VB 3.0 y por aquel entonces era de lo 'mejorcito' (nótense las comillas), seguí con el 4, 5 y el 6. El salto natural era VB.NET, aunque rápidamente vi que debía dejar atrás las librerías de compatibilidad con VB clásico y usar .NET puro, cuánto me alegro de esa decisión! La alternativa evidente es C#, pero ... salvo que por alguna inexplicable razón algunas cosas se hacen de forma totalmente distinta (se ve que los equipos de desarrollo no se hablan entre ellos), se puede hacer exactamente lo mismo. Lo que si es cierto es que creo imprescindible conocer algo de C#, aunque solo sea por la cantidad de recursos que hay.

¿Como es su ecositema y en qué estado se encuentra VB.NET?
El ecosistema de VB.NET es el de todo .NET Framework y a pesar de los vaivenes de MS es razonablemente homogéneo y funciona razonablemente bien casi siempre. Hay integración con Office, con Web, creo que es un entorno bastante completo.
Lo que no veo tan claro es el futuro de VB.NET (algo comenté en la pregunta anterior), no veo sentido a que MS duplique esfuerzos en desarrollar VB.NET y C#. Creo que poco a poco VB.NET se irá quedando atrás y las verdaderas mejoras se verán en C#.
Ojo! No digo que VB sea malo o que no sirva, ni mucho menos, pero a esa duplicación de equipos no la veo futuro.

¿Te gustaría aprender otro lenguaje de programación?
Me gustaría aprender demasiados (PHP, Phyton por lo distintos que son a lo que estoy acostumbrado), pero el día tiene pocas horas. De momento mis esfuerzos se concentran en ir acostumbrándome a C#,  me vuelven loco las diferencias con VB, no son grandes, pero si desesperantes ;-)

 

 

EED:  Desarrollas en Visual Studio , el IDE de Microsoft,  todos los conozco que lo han utilizado , no tienen muchas quejas. Ahora también tienen Visual Studio Code que también tiene muy buenas críticas. Parece que Microsoft desarrollando este tipo de herramientas sabe lo que se hace.

Volvamos a Visual Studio, es un producto que lleva  bastante tiempo en el mercado y con muchas versiones lanzadas.Me imagino que habras probado y utilizado bastante versiones.

¿Cuál ha sido la mejor versión de Visual Studio?

 

 

FO:  Yo no utilizo VS Code, pero si un par de compañeros de trabajo y están muy contentos. El IDE de VS no está nada mal, aunque hay ún fallo en concreto al dividir la pantalla que me trae por la calle de la amargura.

¿Cuál ha sido la mejor versión de Visual Studio?
He trabajado con todas desde la 2003 y los infames Dataset (puaj!)
Vamos a ver, todas han tenido sus historias, pero sin duda con las que más contento estuve fue con la 2010 y 2015. Lógicamente el nivel de satisfacción depende del leguaje utilidado y el tipo de programación, a veces hay problemas que se presentan cuando trabajas con C# y no con VB y viceversa. Con VS 2010 se abrió un nuevo mundo para mi, apareció LinQ to SQL y LinQ to object, claro, y eso fue un giro de 180º De repente era cómodo trabajar con BD, el cambio fue brutal. Solo por eso tengo un estupendo recuerdo de VS 2010, pero creo que para mi forma de trabajar la que menos problemas me causó fue la 2015. A partir de ahí se ve que debió ser cuando MS debió decidir que la Telemetría era el Santo Grial y los problemas se fueron sucediendo uno tras otro hasta llegar a la 2019 que es el origen de mis pesadillas.

 

 

EED:  En el mundo actual de desarrollo de aplicaciones, podemos decir que es el desarrollo web es el mas utilizado. Lenguajes como PHP, JavaScript o Ruby son especificos para ese ámbito y otros lenguajes como Java o Python , tienen framework web muy utilizados. En el ecosistema .NET creo que existe ASP.NET, no se si hay algo mas, para el desarrollo web ,pero comparado con los lenguajes anteriores su utilización es minoritaria.

Desde el desconocimiento, me da la sensación que ha Microsoft no le interesa mucho el desarrollo web.

¿Porqué el ecosistema .NET no tiene la presencia en el desarrollo web que tienen otros lenguajes?
¿Crees que a Microsoft le interesa, o le interesará, el desarrollo web para sus producto?

 

FO: ¿Porqué el ecosistema .NET no tiene la presencia en el desarrollo web que tienen otros lenguajes?
Bueno, la programación Web no es mi especialidad (lo único que hago relacionado con la Web son WebServices para consumir desde móvil o página Web), pero creo que ASP si que se utiliza bastante, lo que pasa es lo de siempre, el mal endémico de MS, se acomodan en su trono y reaccionan tarde y mal. La sensación que tengo es que otros leguajes han sabido adaptarse mejor a las necesidades existentes y además MS centró todo en IE sin mirar a los lados, creo que eso fue un gran error.

¿Crees que a Microsoft le interesa, o le interesará, el desarrollo web para sus producto?
Creo que si que están haciendo esfuerzos. Recientemente han sacado un entorno de VS On Line (tengo pendiente probarlo), no podemos olvidar Azure que es un gran producto, tienen un Office casi competo On Line, SharePoint ... pero todo son servicios, que es lo que da dinero.
En cuanto a leguajes como tal ... quien sabe! MS nos tiene acostumbrados a giros insospechados, pero una vez la gente se acostumbra a un lenguaje y ese lenguaje cumpla las espectativas es dificil hacer que cambien. Actualmente la Web y el móvil van de la mano, ahí es donde deberían incidir. En realidad si que tienen algo, ASP.NET Core, pero habrá que esperar un tiempo para ver como se desarrolla. MS no se caracteriza por cuidar a los desarrolladores.

 

EED:  Llevas muchos años en el mundo de la programación, has aprendido y desarrollado mucho . Desde tu experiencia , si viene una persona y te comenta  que quiere ser programador pero no sabe nada de este "mundo".

¿Qué lenguaje le recomendarias  y tres consejos que le darías?

 

 

FO:  ¿Qué lenguaje le recomendarias  y tres consejos que le darías?
No tengo ninguna duda, C# y dependiendo de a que tipo de desarrollo se vaya a dedicar tambien C++. Refiriéndome siempre al escritorio, para Web/Móvil la cosa no está tan clara, pero JS sería un buen comienzo. También existe un gran olvidado que podría abrir muchas puertas, pero tiene que acompañar la suerte, el Cobol. Si ese dinosaurio de la informática. Hay cantidad de bancos que tienen un enorme desarrollo montado en Cobol y no hay gente que lo mantenga, pero no sería mi prioridad por lo limitado del campo, sería un buen complemento.

Tres consejos? Vaya, no es tan sencillo como parece. A ver:

1.- Es una profesión fundamentalmente vocacional, tiene que estar mentalizado que no es un camino de rosas. No es como sale en las películas ni como lo enseñan (o enseñaban) en clase. Va a tener que hacer de todo, de analista, de programador y hasta de comercial si me apuras.

2.- Hay que estar siempre aprendiendo, leyendo, leyendo, leyendo, leyendo mucho. No es una profesión para acomodarse, la evolución es muy rápida y hay que adaptarse rápido. Es importante tener contacto con desarrolladores de fuera de tu entorno, ver que se hace en otros sitios, absorber ideas.

3.- Que no se obsesione con aprender cosas de memoria, no lleva a nada. Tiene que conocer sus herramientas, claro, pero hace falta una gran dosis de intuición, saber ver como puede evolucionar el soft que estás desarrollando para no hacer algo monolítico y que luego sea imposible de mantener. Hacer un programa es como montar un gran puzle en el que las piezas pueden cambiar. Hay que tener la mente abierta.

Como coletilla le diría que es una profesión que puede dar grandes satisfacciones a nivel personal, a fin y a cuentas creamos cosas que funcionan a partir de una idea y eso es genial!
Evidentemente todo ésto está muy bien, pero depende del tipo de empresa en la que estés. En una empresa pequeña tienes mucha más libertad, pero menos medios. Mi experiencia es en una empresa pequeña, pocos van a ir a trabajar a Google de entrada.

 

 

EED: Una pregunta casi fija para los desarrolladores, voy a poner una lista de conceptos y herramientas, podrías responder  con la importancia en función del grado de conocimientos que creas necesario para el desarrollo de aplicaciones.

IDE o Editor
Depurador
Git
Documentación
Comentarios(código)
Base de datos
Programación Orientada a Objetos
Testing

 

 

 

FO: 

IDE o Editor
IDE. Con los legüajes modernos es imprescindible conocer bien el IDE, es tu herramienta de trabajo. Conocer lo que puedes hacer, los atajos ... te puede ahorrar mucho tiempo.

Depurador
Bastante importante! Cuanto mejor lo conozcas más fácil te será arreglar los fallos no evidentes. Estudiar el depurador no es un gasto de tiempo es una inversión, pero creo que se puede  hacer sobre la marcha, lo básico (inspección de variables, puntos de ruptura, ejecución paso a paso) se aprende muy rápido.

Git
En cada sitio te pueden exigir una cosa u otra. Creo que un conocimiento básico vale.

Documentación
Si son programas a medida está bien pero no es fundamental, pero si es un desarrollo genérico o vas a traspasar tu desarrollo a otra persona es importante y da muy buena imagen. Y si te refieres a la documentación que tu como desarrollador recibes (cuando la recibes) ... bueno, mis desarrollos sé como empiezan, pero nunca como acaban, valdría para hacerse una idea genérica, pero nada más.

Comentarios(código)
Muy muy importante! Algo que haces hoy, dentro de un mes no te vas a acordar del porqué y te va a dolder la cabeza, vas a pensar que es una chorrada, vas a cambiarlo y ... la vas a liar (se nota que me ha pasado?). Comenta y tu yo del futuro te lo agradecerá.

Base de datos
Yo me dedico actualmente a la gestión, así que es absolutamente básico. SQL o MySQL o SQLite, muy importante conocerlas bien (desde el punto de vista del desarrollo y si tienes acceso a un Admin es genial), son los cimientos sobre los que crece el programa. Un mal diseño de las tablas, una mala elección y vas a tener serios problemas. Hay que tener en cuenta que pocas veces vas a tener un DBA (Admin de las bases de datos), asi que te tocará hacer de cuasi Administrador  y es importante ir un poco más allá, quizá no al principio, pero es un conocimiento que agradecerás.

Programación Orientada a Objetos
Depende del lengüaje que escojas, pero todo tiende a POO. Es muy importante conocer los conceptos, a fin y a cuentas los objetos serán las piezas de tu 'puzle'. Aprenderás sin darte cuenta y pensarás como pudiste programar alguna vez de otra forma. Cuanto mejor lo conozcas, más rápido irás y más sencillas serán las cosas.

Son interesantes los conceptos que has puesto, cubren casi por completo las fases de un desarrollo, diría que solo falta la fase de pruebas. Aunque se salga de la pregunta (espero no pisarte ninguna cuestión posterior, no me extenderé) tengo que decir que es FUNDAMENTAL.

Voy a ampliar un poco la respuesta referente al testing.
Es una fase absolutamente primordial en todo desarrollo. Hay herramientas que nos ayudan a ello, pero para eso creo que se necesita formación, aprenderlo solo puede ser un poco frustrante.
Evitentemente el Depurador es una de ellas, los archivos de log y las pruebas unitarias. Éste último apartado es el creo creo que es más complejo.
Es fundamental probar y probar hasta el más mínimo cambio y aún así algún gazapo se escapará, alguna vez seguro.

 

 

EED:  La siguiente es una  pregunta de un lector de la entrevista, sobre .NET CORE.

¿Qué es .NET CORE?
¿Qué opinión tienes sobre .NET CORE?

 

 

FO: 

¿Qué es .NET CORE?
Bueno, lo mío es escritorio, pero un poco conozco de .NET CORE. Hay que verlo como un conjunto de módulos distribuidos por nuget (a diferencia del Framework clásico, que es un bloque, instalas todo o nada) y según qué módulos usemos podremos hacer unas cosas u otras. De momento está limitado a aplicaciones de consola, Web y Xamarin (creo), pero se supone que seguirá evolucionando para cubrir WPF y WinForms (creo que ya hay una beta de la versión 3.0 que es la que permitirá Winforms, lo probaré cuando salga de beta y haya un par de updates). Es multiplataforma, lo que es una estupendo, pero no es una evolución del Framework clásico es una reescritura completa. Tiene varias ventajas, al ser modular las aplicaciones pueden ser más ligeras y además se supone que han optimizado mucho el rendimiento y por supuesto la multiplataforma.

¿Qué opinión tienes sobre .NET CORE?
Lo veo con ilusión, en un futuro aplicaciones Winforms multiplataforma? Sería fantástico!, pero también con prevención. Cuando algo parece demasiado bueno y viniendo de MS ... ya estamos viendo los vaivenes a los que nos tiene acostumbrados y Win32 (las aplicaciones de Windows de toda la vida) pesa mucho, no son capaces de deshacerse de esa pataforma. Si MS no pierde fuelle creo sería una gran evolución para los desarroladores y de verdad tengo muchas ganas de que salga adelante.
Habrá que ver que pasa con los desarrollos existentes, si es viable reescribirlos para .NET Core, que pasará con las llamadas a la API de Win32, que digan lo que digan siguen siendo necesarias, en fin, queda mucho por ver hasta decidirse por .NET Core en vez del clásico. Lo más seguro es que durante bastante tiempo convivan los dos.

 

 

EED: Llevas mucho tiempo en el ecosistema de Windows , me imagino que habras probado muchas herramientas de microsoft de diferentes tipos. Si tuviera que escoger una herramienta o servicio de Microsoft.

¿Cuál crees que es la mejor?
¿Y la peor?

 

 

FO: 

¿Cuál crees que es la mejor?
En cuanto a servicios Azure, sin duda. Tengo muchísimas ganas de poder meterme con él (días de 30 horas?) y en cuanto a herramientas Visual Studio es muy buena, a pesar de sus 'cosas' (y con la version Comunity, gratuita y sin limitaciones, ya no hay disculpa para no usarlo) y cuando prueben las cosas antes de sacarlas será mejor (se nota mi frustración?) Hay una cosa que debo mencionar, no es un producto ni un servicio, es una implementación, LinQ/Entities, en el mundo del desarrollo es lo mejor con diferencia que ha hecho MS, de verdad que para trabajar con bases de datos o listas es increible.
Si nos salimos del ámbito del desarrollo, creo que Windows 7 ha sido el mejor SO hasta la fecha, Windows 10 puede serlo, cuando consigan estabilizar los updates.

¿Y la peor?
Windows Vista, pero simplemente porque no supieron desarrollar una idea estupenda. La impresión que me dió es que sacaron un producto al que le faltaban unos años para madurar, lo sacaron demasiado pronto.
Y en cuanto al desarrollo creo que no hay nada peor de forma absoluta, VS 2003 era peor que VS 2010, pero es normal, era más antigüo. Lo único que puedo calificar como peor es la falta de atención al usuario final que percibo desde hace unos años.

 

 

EED: Como última pregunta de la entrevista , una pregunta un poco diferente.

¿Qué te hubiera gustado que te preguntase? Evidentemente  la respuesta será tuya.

 

 

FO: Me gustaría comentar por encima como es la programación real en una pequeña empresa. Y no, no es como lo explicaban en clase. Recuerdo que nos decían que había un comercial que contactaba con el cliente, un analista que hacía el esquema y luego tu, el programador pica teclas se que peleaba con todo el mundo. De todo ésto solo es cierto la parte de pelearse con todo el mundo ;-)
La realidad es que el jefe te dice, habla con Pepito que quiere algo de no se que. Vas, hablas con Pepito, sabe que quiere algo, no sabe el qué. Empieza lo divertido, preguntas como trabaja, intrentas adivinar su problemática, le das ideas, todo le parece bien (sospecha!), hablas con los empleados (los que van a usar el programa), lo que comentan no se parece en nada a lo que dice el jefe ... Buf! Vuelves a la oficina, revisas las notas, te montas un esquema mental, lo das un poco de forma, se lo explicas al jefe, le manda un presupuesto y acepta. Bueno, ya está lo dificil, no? Juas!!!!! Empiezas a programar, le vas enseñando cosas ... oye que había pensado yo que igual podíamos hacer ... (póngase algo no hablado ni previsto y que te rompe todos los esquemas), luego los empleados, oye que ésto en realidad no lo hacemos así ... Y en éstas lides pasas años, hasta que sin darte cuenta llega un día que vas a visitar a Pepito XXI y mientras llegas ya tienes un esquema de lo que puede querer, le corriges cuando hablas con él, le escuchas y al final haces lo que debes hacer. Todo ésto solo se consigue con experiencia, a programar no se enseña, se aprende y no es solo picar código. Es a la vez desesperante y divertidísimo, me mola programar. Esta es mi experiencia y solo la mía, no pretendo sentar cátedra.

 

EED:  Hoy es el último día de la entrevista y es el momento de la despedida, pero antes me gustaría agradecerte tu participación, espero que haya sido una experiencia interesante y entretenida para tí. 

Puedes indicar tus métodos de contacto y si tienes algún proyecto, web, podcast o evento que quieras promocionar tienes este espacio para hacerlo.

Por último, me gustaría que me propusieras a una persona que tú creas que estaría dispuesto a participar en una futura entrevista.

Ha sido un placer , hasta la próxima.

 

 

FO:  Muchas gracias a ti por invitarme, espero que mis comentarios hayan resultado interesantes. Me a gustado participar en ésta entrevista y aunque estaba un poco nervioso (no estoy acostumbrado a éstas cosas) me he sentido muy cómodo y las preguntas me han resultado muy interesantes :-)

Mi presencia en las redes es reducida, el tiempo da lo que da.
Mi Twitter es @penitw, me encata escuchar podcast y recomiendo la red de Sospechosos Habituales https://feedpress.me/sospechososhabituales donde se habla desde plumas estilográficas hasta mesas de mezclas, pasando por libros, temas militares o experiencias pesonales, también participo en el Slack de Wintablet (http://wintablet.info/) y varios canales de telegram, como https://t.me/grupovirtualizador o https://t.me/lenanalmono 

Tengo pendiente la respuesta de un par de conocidos, cuando me respondan te lo haré saber.

 

EED: Doy por finalizada esta entrevista, la próxima  será  el 2 de Diciembre, a la espera de confirmar el entrevistado.

Generar PDF de Entrevista En Diferido 21: Francisco Oldani