Category Archives: Thoughts

Programming Interview Tips

Behavioral Questions
Think about good examples you can describe from school (or internship) projects that were successful, in which you played an important role. Think about projects that went wrong initially and how the situation was corrected. What did you learn from the situation? what would you do different next time? think about a difficult bug you had to solve and how you approached the solution. Think about the different programming languages and which ones you like best and why. Always be very honest in your answers, since the interviewer can easily spot when you are making up stuff. Do not come across as the “perfect programmer”. Show that you have made some mistakes and have learn from them. Show that you have good communication skills, good team work skills, that you are a rapid learner, that you go the extra mile…

Technical Questions
Refresh some of the core CS concepts:

  • Data structures
    • Study some of the basic data structures:
      • array, list, tree, binary search tree (bsd), queue, heap, map (dict/hash), set
    • What are the main characteristics/properties of each structure?
    • What are the pros and cons of each structure?
    • What is the big-O complexity of the common operations (insert, find, delete, access) on these structures?
      • e.g accessing an element from an array is O(1), while on a list is O(n)
      • e.g searching for an element in a BSD is O(log n)
  • Algorithms
    • Learn some basic algorithms, know how they work, and what is their big-O complexity

During the technical interview: ask lots of questions to the interviewer. Repeat the problem statement to him to prove that you understood the problem. Verify assumptions with the interviewer: “is it ok to assume that this function will never receive a NULL string?”. It is ok to ask for help, don’t stay silent. Selecting the correct data structure for a solution usually takes you 80% there. Consider different data structures and always start with the simpler ones (array, list) before you jump into trees and graphs. Do some design before you implement any code. If you have access to paper / white board, draw your data structure, fill it with some sample data and verbally walk the interviewer through your solution. Write clean code, use good meaningful self documented variable names, use proper indentation. Pretend the interviewer is a coworker and work with him through the problem. This shows him that you are a person he would like to work with on a daily basis. The same goes for you, see if you would like to be on a team with this person.

Here are two books that help you prepare for a technical interview. I highly recommend getting at least one and solving some of the problems in them. And actually SOLVE the problems. Do not just read the answer, because if you do that, the solution wont stick in your brain. If you solve it, you won’t ever forget it.

  • Programming Interviews: The Insiders’ Guide Paperback by Adnan Aziz
  • Cracking the Coding Interview by Gayle Laakmann McDowell

Adnan Aziz has a website at UT and posted a PDF for free that includes a lot of content from one of the books, which you can download for free.

You should also look into online tools that help you prepare for programming interviews like:

  • LeetCode
  • HackerRank
  • InterviewCake

Barrel Assembly

Corría el año 2014 y luego de trabajar por 13 años en National Instruments estaba listo para probar nuevos rumbos. Comencé a mirar oportunidades de trabajo disponibles y la verdad ninguna parecía llenar mis expectativas. Sin embargo me animé a una entrevista con Roku en Austin. No me fue bien y ahí me dí cuenta que hay que prepararse muy bien para presentar una entrevista técnica. Por esa época me contactó Sameer un reclutador que me ayudó a organizar mejor mi hoja de vida, me recomendó unos buenos libros para preparar las entrevistas técnicas y me comenzó a conseguir oportunidades laborales.

Durante este proceso la noche del 8 de Agosto de 2014, mientras estaba en cama tratando de dormir vino a mi mente algo parecido a una epifanía: el desarrollo de software ya no es lo que me apasiona. Tengo que descubrir una nueva pasión. Y de la nada se me ocurrió: voy a montar una cervecería.

Con nula experiencia en el mundo de la cerveza, decidí que el primer paso era comprar un kit para hacer cerveza casera y aproximarme a ese mundo con el hobby de hacer cerveza casera. Decidí que lo iba a hacer por al menos un año para estar más convencido de que la cerveza era mi nueva pasión.

Después de presentar varias entrevistas infructuosas con diferentes compañías tuve la oportunidad de entrevistar con Visa, y me ofrecieron trabajo. Así que en Junio de 2015 renuncié a National Instruments y luego de un provechoso viaje de aprendizaje cervecero por Alemania, Bélgica y República Checa durante Junio y Julio, comencé a trabajar para Visa en Agosto 2015.

En Diciembre 2016 viajé a Medellín a visitar a mi familia y fue allí cuando decidí que ya estaba preparado para comenzar mi negocio cervecero. Con dos años y medio de experiencia haciendo cerveza casera, de participar en diferentes clubes cerveceros, de enviar cervezas a competencias y colaborar como juez, tomé la decisión de renunciar a mi trabajo en Visa y dedicarme a crear mi nueva empresa.

Es así como el 23 de Enero de 2017 comienzo a crear mi propia empresa y nace Barrel Assembly.

Barrel Assembly Logo
Barrel Assembly Logo

Felices Fiestas 2015-2016

Por el trajín de la temporada decembrina no pudimos hacer nuestro tradicional mensaje festivo hace un par de semanas, sin embargo aunque ya un poco tarde, queremos desearle a todos nuestros queridos lectores unas felices fiestas para 2015 y un maravilloso 2016 lleno de felicidad, alegría y macarena.

Para esto los dejamos con nuestro L. Ron Hubbard feo padre y fundador de la Dianética y la Cienciología.

Ugly L. Ron Hubbard
Ugly L. Ron Hubbard

Farewell NI

After 13+ years today is my last day at my job at National Instruments. Mixed feelings of sadness and excitement for what’s to come. It’s been truly a pleasure and an honor working with such wonderful people who I will deeply miss. To all of you who helped me along the way: Thank you.

What’s next for me? I’ll be taking a few weeks off and will start at my new job at Visa in August.

The pictures are from the job interview I did with NI back in the year 2000 in Bogotá. I was 22.

100-0034_IMG_2 100-0029_IMG 100-0027_IMG_2

Y las felices fiestas para el 2014?

Recientemente, recibimos una queja formal de una de nuestras más queridas lectoras, quién nos indagó el por qué no hubo un mensaje deseando unas felices fiestas 2014 de parte de Chichipanguanorrea y su personal.

Luego de extensas investigaciones, introspección personal, soul searching y otras pendejadas, hemos concluido que la razón por la cual no fue publicado el mensaje decembrino, fue por simple y trivial olvido.

Sin embargo creemos que nunca es tarde para corregir los errores del pasado y para desearle a nuestros queridos lectores unas felices fiestas 2014 y un alegre 2015 lleno de bailongo, sabor y macarena.

De parte de la virgen María Fea de la Iglesia Católica Ortodoxa, un próspero 2015 para todos.

Virgen María Fea

El mono rosado (o como el sabor de la venganza es dulce)

Hace unos 3 o 4 años mi amigo Alejandro Corona se mudó a su nueva casa y organizó una fiesta de inauguración. Recuerdo que estaba en el supermercado (quizá en HEB) comprando cervezas y comida para la fiesta y tal vez acababa de pasar el día de San Valentín entonces los artículos con ese motivo se encontraban en promoción. Se me ocurrió entonces buscarle a Alejandro un regalo por su nueva casa que fuera altamente inapropiado, inútil, quizá grotesco, poco ortodoxo, pero sobre todo divertido. Fue cuando encontré un abominable Mono Rosado de peluche y decidí que era el regalo perfecto.

La verdad no recuerdo muy bien como ocurrieron los hechos pues esto sucedió hace varios años y tengo pésima memoria, pero lo cierto es que según Alejandro, cuando le entregué el regalo le dije que solo podía regalar el mono a alguien que tuviera una fiesta de inauguración en su casa. Pues 3 o 4 años después, Alejandro me regala el mono de regreso en la fiesta de inauguración de mi casa y me da la sorpresa más divertida de la velada!

Creo que el karma si existe y la cara de venganza de Alejandro en el momento en que me está regalando el Mono Rosado no tiene precio…

Touché Alejandro Corona… Touché!

Why can’t Skype have a slick user interface like Adium?

I read that Skype had released a beta of their latest version for OS X and decided to give it a try, hoping to see some improvements on the user interface, but I was really dissapointed. Why does it have such bulkier and wasteful user interface? Skype could learn a thing or two from Adium. Granted, I had to tweak Adium preferences a bit to get such slick and compact layout, but at least they give me the option to do so.