La importancia de tu primer trabajo y como define tu carrera

El primer trabajo definirá tu carrera por los siguientes años, y si no peleas por el cambio, por el resto de tu vida.

Yo tuve mi primer trabajo a los 17 años, salí del bachillerato, listo para enfrentar al mundo laboral, no había logrado entrar a la universidad así decidí buscar trabajo para no perder un año sin hacer nada en mi casa. Me tope con que nadie contrata a menores de edad. Supongo que por posibles implicaciones legales y demás. Busque varios procesos y el ultimo que me quedó donde si contrataban menores fue pizza hut.

Trabaje un año en pizza hut, de mesero, de lavaplatos, de limpia mesas, de hacer masa, de hacer pizza, de «barista», de hacer el corte y servir los platos, de armar pasta. Pase por casi todas las areas. Fue duro el trabajo, tocaba trabajar días de feriados o descanso que mi familia tenía y yo no. Era trabajar más de 12 horas seguidas los fines de semana. Si te toca cierre era trabajar hasta la 1 o 2 de la mañana.

En esta etapa fue la primera vez que lo escuche de un compañero: «El problema que ahora solo de esto vas a poder trabajar» me dijo, y yo con un futuro totalmente diferente planeado en mi cabeza le pregunte porque. Me respondió: «si porque de esto tienes experiencia, si vas a buscar de bodeguero o en oficina te van a decir que no tienes experiencia, que mejor aplique a servicio al cliente, si vas a un Mcdonalds o algo así si te darán porque ya tienes esta experiencia«

En ese momento solo pensé, hell no, mi futuro tiene que ser mas que esto. Ganar Q700 quincenalesNo que tenga nada de malo trabajar en un restaurante. Respeto mucho la profesión y conocí grandes amigos y personas ahí. Pero yo soñaba con más, con mucho más.

Seguía sin ganar la entrada a la universidad, por lo que entre a un programa para prepararme para entrar. Otro año mas, aprendiendo lo que tuve que haber aprendido hace años. Tuve la fortuna de poder entrar a la universidad el siguiente año. Pasaron los 5 años, largos y tormentosos por momentos. Hasta que tuve que volver a solicitar trabajo. Ahora como futuro ingeniero en sistemas.

El primer trabajo en tecnología

Mi familia no estaba pasando por un mal momento financiero así que me apresure a buscar trabajo, pero no era una búsqueda enfocada, era lo primero que saliera y me aceptaran. No tenía experiencia laboral. Era un trabajo de Jr. por lo tanto es complicado también. Un día un amigo me dice yo tenía entrevista aquí pero ya me salió trabajo, prueba aplicar. Lo hice y me aceptaron.

Este trabajo era usando PHP un lenguaje de programación que es usado por el 70% de la web, pero que tiene mala fama entre programadores y mamadores de la tecnología. A mí no me importo, trabajo es trabajo dije yo.

php for web development
https://w3techs.com/technologies/details/pl-php

Pasaron los año ya, tengo 5 años de estar trabajando profesionalmente con Php y otras tecnologías y ya tengo una experiencia que podría decirse ser de Sr. Pero esta experiencia solo aplica a trabajo en Php, si quisiera un mejor sueldo en otra tecnología, no tengo la experiencia para aplicar en ellos, en especial como Sr pues piden experiencia.

Viendo para atrás debí escoger mi primer trabajo con mas cuidado. Puede que tengas suerte y te toque una empresa o un jefe que te ponga el path para trabajar en diferentes areas y logres experiencia en otras. Puede que tengas suerte y te puedas mover entre areas internas de la empresa sin mayor problema. Pero también puede ser que no, y te quedes atorado en la misma tecnología, por varios años si no estas consciente de ello.

También puedes leer https://alanhurtarte.com/eso-nunca-funcionara-la-historia-de-netflix/

La espiritualidad y la religión

Crecimos en hogares religiosos, hablando de Guatemala, hogares cristianos, católicos o protestantes en su mayoría, y nuestros padres, abuelos y demás generaciones anteriores no tienen separados los criterios de espiritualidad y religión es lo mismo para ellos. No ven cómo podrían vivir sin la religión, cuando ahí han encontrado fortaleza para los tiempos difíciles, amor incondicional en un ser superior, orden y perdon.

Todo esto por vivir en una burbuja impuesta desde sabe cuando, quizas desde la conquista española a nuestras tierras y la imposición del catolisismo a la fuerza. Los miedos y tradiciones se heredan.

La globalización afecta no solo los trabajos, productos y bienes, también afecta el acceso a la información. Somos una generación que creció con el internet en sus manos, que ante la duda se googlea, se compara y se concluye en cuestión de minutos. Tenemos las opciones y diferencias a un teclado de distancia. Y creo que esta gran muestra de opciones no le ha favorecido nada a la religión tradicional. Solo muestra la incongruencia y desactualización de la misma. Crecimos con algo que nuestros padres y abuelos no: opciones e información.

Entendimos que la espiritualidad es más que seguir ciegamente los mandatos de dos milenios escritos y manipulados por el hombre a antojo y conveniencia. Es encontrar ese lugar que nos de paz, y nos ayude a sobrellevar la incertidumbre del futuro. No tiene que ser un lugar físico, basta que le de paz a nuestra mente. Ese lugar es para nuestros antepasados la religión, el lugar donde un ser superior todopoderoso, nos ama, protege y tiene todo planeado.

La espiritualidad es de mucha importancia, pero importa mas que la escojas y te sientas bien con ella. Si ya la encontraste, no importa donde, si en los grupos de tu iglesia local, al servir a tu dios, o con un grupo de hippies. Cuidala, cuida a tu mente y cuerpo, que al final es lo que único que tenemos.

No creer en Dios es para valientes y el futuro de la religion

La idea de tener un espiritualidad fuerte es algo que creo más cada día. Hay personas que encuentra esta espiritualidad en la religión, y en mi caso crecer en una familia que practica una religión cristiana como la católica.

Pero es un problema que te fuercen a practicar y creer enseñanzas dirigidas, escritas y promulgadas por hombres para hombres y que cuando preguntas el porqué de las cosas no te pueden explicar. La religión cristiana esta desactualizada y cada vez mas las nuevas generaciones tienen más problemas para identificarse con la problemática expuesta, más todavía con ese lenguaje arcaico que es la traducción de la interpretación del cuento oral escrito facil 100 años después de que paso.

La fe cristiana te enseña que tienes un propósito, que hay alguien que te ama y te diseño para algo, que si te portas bien tendrás una vida eterna con todo lo bueno, pero para eso tienes que sufrir ahorita.

Cuando eliges no creer en la religión, escoges renunciar a la idea del propósito y amor incondicional, también renuncias al castigo eterno. Cuando escoges entender que somos intransigentes, que no tenemos propósito real, que en realidad la vida no se trata de nosotros sino somos meros espectadores de lo que pasa. Que la vida se acaba en un parpadea y ahí queda, no hay mas. Entendemos que no tienes deuda con nada ni nadie.

La gente dice que cree en dios pero no en la religión, pero creen en un dios descrito por la biblia, un texto creado por hombres, escrito años después que pasaran los sucesos y basado en cuentos orales. Todos hemos jugado teléfono descompuesto y sabemos cómo termina, no?

La religión cristiana debería reinventarse, actualizar sus textos y tradiciones. Adaptarse a nuevas generaciones. La ley de la vida es eso, adaptarse o morir. Probablemente yo no alcanse a ver morir el cristianismo, pero estoy seguro que un dia lo hara sino deciden actualizarlo. La cuestión ahí se vuelve interesante y estoy seguro quebrantaria la fe de muchos, porque quien estaría a la altura de modificar tradiciones y escrituras antiguas? Eso partiria la fe de muchos y fragmentaria muchos mas a sus creyentes, así que no veo un futuro prometedor a la religión convencional.

De seguro surgirá algo nuevo, con otro nombre pero más de lo mismo. Porque es una industria trillonaria, quien dejaría ir ese dinero y el control sobre los pobres y desamparados.

Todos necesitamos un refuerzo de que no estamos solos y nos aman. Asi sea mintiendonos a nosotros mismos, incapaces de explicar las bases de lo que creemos, pero eso nos da paz mental y es suficiente. Yo no me considero superior por ni un poco al no creer en la religión o el dios cristiano, solo no encontré paz ni confort en esas creencias, solo encontre promesas de tormento e incongruencias contra la naturaleza humana. Si tu espiritualidad esta ahí, en el cristianismo, te felicito, se fuerte y construye más sobre ella. Lo que te haga bien, esta bien.

Mi experiencia con DataScience

Soy un ingeniero de software con mas de 4 años de experiencia laboral, me gradué en el tiempo previsto de la carrera lo cual habla de insistencia, compromiso y oportunidad, más que de mi capacidad. Me considero una persona promedio.

Inicie un master en Data Science en la universidad Galileo de Guatemala. Porque? Tengo la idea de seguir superándome, así encontrar mejores oportunidades laborales, ganar más dinero, e ir progresando junto a los míos. Se que existen mas postgrados aplicable a mi carrera pero este fue análisis

  • Cualquier cosa relacionada a redes un rotundo no, no fue lo mío durante mi carrera universitaria
  • Cosas relacionadas al management. Claro atrae por ser puestos de gerencia o jefes, pero de pensar llevar clases cómo contabilidad me desinflan enormemente.
  • Seguridad informática, se me hace un mundo lleno de burocracia y edificios grises y tristes llenos de gente en traje frustrada.

Entonces quería algo técnico que supusiera una mejora salarial al final. Mi experiencia fue emocionante pero debo decir que no sabía al 100% que me esperaba, me tope con un programa mas dirigido a personas no técnicas con background estadísticos que a personas técnicas con no background estadísticos.

Las clases de programación o técnicas eran a pasos de bebe, desde cero, pero las clases estadísticas ya eran avanzadas. Esto llevo a frustración en estadística, y aburrimiento en programación.

Termine exitosamente el postgrado inicial, pero me quede con un sabor amargo, puedo hacer todo en teoría, obtendré los resultados esperados, pero no entiendo el porque, resulta que necesitaba una fuerte base de algebra lineal. Hubiera sido un buen requisito llevar un curso previo al master.

Aunque este primer acercamiento no fue el deseado, creo que hay mucho potencial en el area y sera algo interesante de volver estudiar en un futuro cercano

¿Cómo montar mi sitio web? Descripción general

https://colorlib.com/wp/how-to-make-a-website/

Has querido iniciar esa idea de tener un blog, o quieres probar una idea de negocio inicial o solo quiere conocer el proceso, aquí te lo explico.

Todo sitio web tiene al menos 3 partes principales:

Nombre de dominio

Necesitamos una dirección fácil de recordar que describa bien nuestro concepto. Estos nombres de dominios son las direcciones web que conocemos, por ejemplo Mark Zuckerberg o alguien en facebook, en algún momento de su negocio compro facebook.com, en algún momento Steve Jobs o alguien en Apple compro el dominio apple.com.

Como funciona

Los nombres de dominio son la manera fácil de encontrar una página web. ¿Te has preguntado alguna vez como es que el navegador siempre encuentra la dirección correcta? Porque recuerda, las computadoras son identificadas por una dirección, pero no es una dirección con letras, es una colección de números y es conocida como dirección IP. La intención de este post no explicar todo con detalles demasiados técnicos.

Entonces el nombre de dominio lo relacionamos a una dirección IP, en donde estará nuestro servidor, y asi poder mostrar al mundo nuestra idea del billon de dólares.

Estos nombres de dominio lo compras de sitios como godaddy, namecheap, entre otros. Los precios varian desde $1 hasta miles o cientos de dólares. Todo dependen del nombre que busques y si alguien ya lo adquirió y te lo quieren revender.

Servidor

Antes de era «cloud» o de la «nube» si alguien quería una pagina o aplicación web tenía que montar su propio servidor, esto implicaba comprar una computadora bastante poderosa en cuanto a sus especificaciones técnicas, pero no era solo eso, cuando tienen mucho poder, eso significa mucho calor, necesitabas un cuarto especial para el servidor con su propio aire acondicionado, y no basta ahi, esto necesita mantenimiento, necesita rutinas de seguridad y redundancia de datos, y con esto ya suena bastan complicado no?

Por fortuna ya no estamos en esos tiempos. Ahora hay varios servicios «cloud» o en «la nube» donde nosotros alquilamos un espacio es un servidor por una cuota mensual (si, así como netflix) y ellos nos dan una dirección IP donde estarán nuestras cosas. Usando estos servicios no necesitamos preocuparnos de nada técnico, solo pagamos y tenemos acceso. Si te preocupan aspectos mas específicos como seguridad de datos o redundancia de datos ya puedes comprar que ofrecen los diferentes distribuidores de estos servicios. Por mencionar algunos tenemos:

  • AWS
  • Digital Ocean
  • Vultr
  • Linode

Como en cualquier otro mercado o servicio, cada uno tiene sus ventajas y desventajas, sus precios y sus features. El mas barato es vultr con un servicio de $2.5 al mes, que para una fase inicial o pruebas esta bastante bien, no recomendado para uso oficial o en producción.

 

En este punto ya tendríamos un nombre de dominio y una dirección ip (servidor en la nube), pero se necesitan conectar, para esto vamos a la pagina del distribuidor del nombre de dominio y buscamos alguna opción que diga dns manager, o simplemente dns, agregaremos una nueva entrada en los tipos AAA, donde nos pedirá el nombre de dominio a asignar y una dirección IP a asociar. Guardamos los cambios y esperamos. Estos cambios tardan en propagarse, puede ser entre 1 hora a 24 horas.

Ya tendríamos nuestra dirección web funcionando, pero y el contenido?

Pagina web

Dentro de nuestro servidor en la nube, tendremos que instalar nuestro servidor web preferido. Esto es un programa que se encarga de traducir dirección en contenido HTML que tu navegador ya puede presentar con estilo y funciones especificas. Entre estos los mas conocidos y usados son:

  • Nginx
  • Apache

Al combinar estas tres cosas ya tendrás una pagina web funcional. Claro hay muchas mas cosas por ver. Si es una aplicación web, se necesita una base de datos a usar. Si se espera mucho trafico se podría implementar un balanceador de carga. Si se quiere utilizar alguna función en tiempo real se puede implementar una base de datos no relacional como redis. Debería implentarse algun certificado SSL para responder al protocolo HTTPS por seguridad de los datos, hay opciones gratis como lets encrypt. También tomar alguna opción para redundancia y backups de datos. Y muchas cosas más.

Cada caso es único y tiene sus propias particularidades. Si tienes experiencia en estos temas lo recomendado es haz tus pruebas, solo así aprenderás.

Si no tiene experiencia técnica o el tiempo para hacer todo esto te recomiendo buscar asesoría o un experto en el tema, como yo :), puedes revisar mis proyectos en mi cuenta de github o linkedin.

 

Si llegaste hasta aquí gracias por tomarte el tiempo de leer, y déjame tu opinión al respecto, que otro aspecto importante debería tomarse en cuenta.

Hasta la próxima.

Código limpio, esencial pero ¿limpio para quién?

Si eres un desarrollador habrás escuchado esta frase varias veces, debemos hacer código limpio. Pero no les parece que un adjetivo como limpio, es subjetivo?

Es obvio (y si no es obvio para ti probablemente no te ha tocado leer código malo, feo, espaguethi o como le quieran llamar) que se necesita crear, editar actualizar código que sea legible y que sea fácil de entender.

Todos estamos en contra de las variables llamadas a, b, cdpTraxddo peor. De métodos o funciones que tienen a cientos de lineas, entrelazadas, mal nombradas, con código duplicado.

Un proyecto grande llegara al punto de: mejor gastar recursos y tiempo en iniciar desde cero que arreglar lo malo. Es un problema tan real como que los cerdos no vuelan. Y las repercusiones de estos problemas son enormes, imagina decirle al cliente todo tu dinero y tiempo invertido en este proyecto inservible fue desperdiciado, no podemos salvar tu inversión o tu negocio. Imagina ese momento en el que le das la noticia a alguien a quien le has cobrado miles de dólares, al que le prometiste ese software que resolvería todos sus problemas, que sería escalable, que le daría retorno de inversión, que resolvería la paz mundial, y pues, … ya no sirve, mejor deséchelo.

La importancia de esto no es cuestionable, es algo necesario y que todos los desarrolladores deberíamos saberlo como base. Si bien es cierto que no hay una regla absoluta de que es el código limpio, todos sabemos lo que es mal código. Los siguientes consejos los doy de mi lectura del libro Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin).

  • Ley de LeBlacn: Despues es igual a nunca. Cualquier cosa que pienses «luego lo hago» se traduce a que nunca lo haras. Surgiran nuevos bugs, te asignaran nuevas cosas, y tu deuda tecnica ira aumentando. Haz algo al respecto.
  • La lógica debe ser directa.
  • El código debe ser especifico y no especulativo.
  • Preocuparse por la legibilidad, prestar atención a los detalles.
  • No tener duplicados, cuando algo se repite es una señal que tenemos una idea que no terminamos de representar correctamente.
  • Que el método o objecto no haga mas de una cosa. Similar la S de los principios SOLID. Cada elemento tiene una y solo responsibilidad.
  • El código debe ser evidente, sencillo y atractivo, que cuente una historia, de principio a fin.
  • Ley del boy scout: dejar el campamento mas limpio de lo que se ha encontrado.
  • Cuando se ve código malo, no es necesario refactorar todo, empieza por cambios pequeños, cambiar de nombre a una variable, separar un método en otros métodos mas especificos.

 

Con esto terminaría la parte 1 de una serie de post hablando sobre este tema.

¿Cuál crees que es la importancia del código limpio? Déjame tu opinión abajo.

 

 

Dale un nuevo aire a tu laptop antigua. SSD vrs HDD. The final countdown

Tienes una laptop de hace algunos años atrás que quisieras revivir? La idea es sencilla, reemplaza tu viejo disco duro mecánico (HDD) por uno de estado solido (SDD).

HDD y SDD. Fuente: http://www.laptops4college.com/hdd-vs-ssd-whats-better/

Las diferencias principales son que el disco mecánico funciona con magnetismo, por lo tanto puede generar ruido y vibración pues tiene partes móviles que giran, imaginalo como un toca discos, tiene una aguja que va leyendo la información. Ventajas de este tipo de datos que es mas económico que un SSD. Sin embargo, la velocidad de escritura para un SSD es mas de 4 veces mas rápida que un HDD, este funciona con una combinación de microchips, que podría considerarse como la evolución de las memorias USB.

Lo ideal es llegar a combinar los dos tipos de discos. Esto en una computadora desktop no sería problema, solo se compraría el componente se conecta y ya, pero que pasa si lo que tenemos es una laptop?

Recientemente descubrí este caddy para agregar otro disco a nuestra laptop. La idea es que si nuestra laptop tiene una unidad lectora de discos, puede ser reemplazada con este dispositivo que tiene toda la forma y dimensiones de un lector común pero que en su contenido tendría nuestro disco HDD. ¿Porque usar el HDD en esta ranura y no el SDD? Porque el conector que tiene el lector de discos es tipo SATA 2, que solo puede llegar a 250mb/s, con lo cual limitaríamos la velocidad de nuestro disco SSD que puede llegar a mas de 500mb/s.

 

Si quieres leer un analisis mas amplio te recomiendo el siguiente post https://www.xataka.com/basics/hdd-vs-ssd

Crypto monedas, ¿Estafa o algo real?

Header

De seguro has escuchado sobre las crypto monedas, hicieron un gran boom el año pasado alcanzando el valor de $17000 por cada bitcoin en noviembre del 2017, su máximo valor histórico, hubieron nuevos millonarios en el mundo gracias a estas monedas virtuales. Pero este dinero nunca tuvo una representación física, nunca hubo un billete, una moneda, un cheque, un paguere, un vale, un recibo o cualquier otro medio de intercambio de dinero físico existente, es puramente digital, son unos y ceros almacenados en algún lugar.

Gráfico del precio del bitcoin. Fuente https://www.buybitcoinworldwide.com/es/precio/
Gráfico del precio del bitcoin. Fuente https://www.buybitcoinworldwide.com/es/precio/

Sin embargo justo después de noviembre del 2017 el precio se vino abajo, al día de hoy (octubre del 2018) el precio esta por los $6000. Mucha gente como Steve Wozniak vendió en el mejor momento y aprovecho el hype por el bitcoin, todos los demás que sostuvieron sus bitcoin y no vendieron, estarán arrepentidos de no haber aprovechado la oportunidad. Varias personas que se dedican al trade de bitcoins, creen que este es un bache (depresión), que como cualquier ciclo tiene sus temporadas altas y bajas (Ciclo económico).

Pero muchos creen que es una estafa, realmente cual es la situación, y como es que funciona.

Primero se necesita aclarar que el bitcoin es una de las crypto monedas que existen, no la única, sino la mas popular, actualmente hay mas de 1600 crypto monedas en lista (https://en.wikipedia.org/wiki/List_of_cryptocurrencies).

Segundo, las cripto monedas se basan en un algoritmo llamado blockchain, que en esencia es una estructura de datos en la que se almacena información. Este algoritmo, al igual que cualquier otro algoritmo puede ser implementado en una variedad de aplicaciones, no necesariamente en temas monetarios. En el caso de las crypto monedas se utiliza el blockchain para representar transacciones.

El blockchain, que en español es cadena de bloques, cada bloque representa una transacción, y contiene una dirección que apunta al bloque anterior, el siguiente sigue así y el siguiente y el siguiente, convirtiéndose en una cadena de transacciones.

El otro punto clave del blockchain es que es descentralizado, quiere decir que no hay una entidad que regule y que centralice todas las operaciones, no hay un gobierno, no hay banco, no hay una entidad que lo regule, pero, ¿que significa eso? El lado bueno, no hay quien controle tu dinero, no hay gobierno que lo utilice a su antojo, no hay quien vigile tus movimientos, y no esta apegado a ningún tipo de reglamento. Lo malo, no hay quien te proteja de engaños, no hay quien regule o asegure tus transacciones. Se trata de confianza en un sistema, que funciona y que esta diseñado para eso, asegurar la legitimidad y la integridad de cada transacción (bloque).

Entonces ya se entiende una parte, es realmente popular por ser una moneda independiente de gobiernos, países y cualquier entidad. Se puede ampliar mucho en el funcionamiento del blockchain pero no este post.

Tercero, ¿como es que tiene valor?, igual que cualquier otra moneda. A modo de ejemplo digamos que creamos nuestro nueva moneda, la llamaremos la batimoneda, y crearemos 1000 monedas únicamente. Supongamos que voy a ir a comprar leche a la tienda, pero no tengo dinero convencional, entonces le ofrezco una batimoneda a cambio de un galón de leche, el dueño de la tienda le agrada la idea con la promesa que esa batimoneda ganara valor en el futuro y que saldrá ganando, y así continuo predicando la plusvalía de la batimoneda y usándola para obtener víveres y hasta bienes, en algún momento se empezaran a usar batimonedas mas normalmente, y dependiendo de la oferta y demanda así crecerá su valor, y como hay una cantidad limitada, empezara a subir la demanda, crecerá su valor y se volverá algo muy solicitado. Suena algo loco verdad, pero recuerda que antes los mayas usaban cacao como moneda. Fue alrededor del siglo IX que se documenta el uso de papel moneda como forma de intercambio.

Entonces si el bitcoin es algo digital, ¿como es que tiene valor?, todo se basa en oferta y demanda como cualquier otra moneda. ¿Porque el oro, plata, bronce y otros metales son valiosos? El oro no es el material mas raro, aunque es difícil de obtener, y tiene características de ser altamente anticorrosivos, aparte de su atractivo visual. Todo se basa en el precio que le den los iguales de la sociedad. Si alguien esta dispuesto a dar un galón de leche por una batimoneda, esa batimoneda valdrá lo equivalente en papel moneda que cuesta un galón de leche.