miércoles, 17 de febrero de 2016

Dia # 3 - Un recuento de mi experiencia


Bueno para los que no me conocen mi nombre es Daniel Paez tengo 26 años, vivo en la ciudad de Guayaquil.  me desempeño como desarrollador / programador en la empresa MAINT S.A.
Ese seria mi perfil profesional, a pesar de que mi carrera es mas amplia; mi titulo dice: Ingeniero en Telematica - es decir Telecomunicaciones Informatica.
Para explicarles mejor esta carrera se compone de tres "frentes" o areas: Electronica y telecomunicaciones (antenas, satelites, radioenlace, etc), redes o networking (telefonia IP, enrutadores, conmutadores, etc), y programacion o desarrollo de software.

1) TELECOMUNICACIONES
La verdad es que en la primer area que mencione soy casi nulo, la verdad que cuando estaba en colegio me llamo la atencion mas lo que era la electronica, armar circuitos, pero cuando pase a la practica me di cuenta que no era muy habil con mis manos, que me vivia quemando con ese bendito cautin cuando soldaba esas placas, y bueno... a la final no era como lo pintaban.

Ya en la Universidad, me di cuenta de que esto era cierto, pues aunque me gusto en parte armar circuitos en papel (porque el papel aguanta todo), ya armarlo real no es lo que parece, y lo que decia que en la hoja funcionaba en la vida real no.

Con respecto al manejo de antenas, radioenlace la verdad en mi Universidad no hubo mucha practica en si, y eso hasta ahora me quejo, porque fue mucha formula, y teoria y todo en papel pero en la practica fue muy, muy poco.

2) REDES
Ya con redes y networking digamos que fueron mas mis "amigos" en el sentido que muchas veces me encontraba cableando y nada mas, era lo unico que hacia con las manos, y lo demas era configurar esos bichos (enrutadores, conmutadores), para armar la red, ingresando comandos, cosa que era un poco mas mecanico... Hasta cierto punto, pues tambien habia veces en que tenias que razonar, como en un TROUBLESHOOTING, donde te describen por ejemplo, que no hay conectividad de un punto a otro punto, y tienes que revisar cual es el problema o comando que ingresaron mal,
De todas maneras, esta tal vez sea a lo que realmente me quiero dedicar en el futuro, por lo que hasta quiero sacar mi titulo de CCNA (y porque no de CCNP) en los proximos años.

Pero nuevamente regresando a mi experiencia en la Universidad, aqui si en la parte de redes fue full practico y me ayudo muchisimo, sin embargo como carrera en Ing. en Telematica, tenemos deficiencia con respecto a los de la carrera de Licenciatura en Redes. Cito un ejemplo: en mi actual trabajo no tenia experiencia de que era un Active Directory o una GPO (Group Policy), que luego me explicaron claro esta, pero haciendo la diferencia: mientras a los de Licenciatura les dan 3 o 4 materias de Servidores, a nosotros nos dan una materia que se llama "Sistemas Operativos de Red" (ademas del CCNA), y alli nos enseñan cosas mas basicas, entonces quedamos la verdad con esos vacios.

3) PROGRAMACION
Ya con el area de programacion es la que tengo mas experiencia, sin embargo, a mi parecer, es entre las tres en la que tienes mas que estudiar.
Una vez mi padre me pregunto: "Andres, cual es tu especializacion, cual es tu fuerte?" y bueno despues de conversar llegamos a la conclusion de que un programador es como un medico: cuando sale de la U, sale como "medicina general", es ley especializarse!. Como un medico que se especializa en cardiologia, o en urologia, asi tambien con nosotros!!

Entonces yo por ahora he trabajado en 3 lugares diferentes: algo de telefonia IP en mi primer trabajo, algo de java y reportes en mi segundo, y ahora en mi tercero mas desarrollo con C# y sql server, aunque siempre salen cosas nuevas!

Y de esta "vasta" experiencia (que no es nada vasta, recien estoy comenzando) que lleva unos 3 años, lo que mas me ha gustado es la parte de base de datos aplicada a hacer reportes y pronosticos,- lo que hice la mayor parte en mi 2do trabajo y que actualmente he hecho algo - aplicado a las compras, contabilidad, inventario, facturacion, etc

Entonces Bases de datos + reporteria + redes
Que maestria o posgrado me aplicaria? Eso tendria que averiguarlo.





jueves, 11 de febrero de 2016

Dia #2 - Comparaciones

Siempre me han gustado las comparaciones y los contrastes.

A continuacion pongo ciertas comparaciones que han surgido en mi cabeza en los ultimos meses, sean libres de comentar segun su experiencia:

- SQL Server o MySQL o Oracle o Postgresql
- Ant o Maven
- .NET o Java
- Visual o C#
- SPRING o JBOSS
- Jaspersoft iReport o Crystal Reports
- Netbeans o Eclipse
- LINQ o Entity SQL
- Ubuntu o Fedora (aqui hay muchos que enumerar pero estos dos son los que mas he utilizado)
- Windows o Linux o MAC
- Android o Iphone
- Chrome o Firefox
- TeamViewer o VNC
- gmail o hotmail
- montañas o playa
etc...

Dia #2 - Entity Framework

Entity Framework

En estos dias he estado hechandole un ojo a este tema: Entity Framework, la verdad no tenia idea que existia. Para desarrolladores, muy recomendado, visiten la pagina it-ebooks.info, y descarguense los 3 libros de estos tema, estan muy buenos.

Por ahora estoy profundizando en el que se llama Programming Entity Framwork 2nd Edition, la verdad es por tema del trabajo, pues empezare a estar involucrado en un proyecto relacionado con esto.


De entre mis notas ahora entiendo que este Framework, trabaja con un modelo EDM (Entity Data Model) que no es mas que un modelo de entidad de una base de datos.
Este modelo trabaja con 3 capas: CONCEPTUAL, ALMACENAMIENTO y MAPEO


Tanto en el conceptual como en el de almacenamiento, uds podran encontrarse con 3 objetos (revisando el xml que viene en el proyecto):
EntityContainer.- Es un contenedor para EntitySets y AssociationSets
EntitySet.- Es un contenedor para un tipo de Entidad.
EntityType.- Tipo de dato en el modelo


Ademas de esto, se debe saber que se realizan queries al MODELO y NO a la base, y existen dos maneras de hacerlo: LINQ o con Entity SQL.
Entity SQL es mas comprensible, pues se parece mucho a un query comun y corriente, mientras que LINQ se podria decir que es mas facil de usar, porque no solo lo puedes usar en Entity Framework, sino a traves de .NET, aunque solo se lo puede usar para C# y Visual.

Bueno hasta ahora eso es lo que he avanzado nos vemos en una proxima ocasion...