My points of view, travels and code

Last month during the Rio Olympics it broke news the story of Argentine Santiago Lange after he won a Gold Medal in sailing. Media featured for a week how this 54 years old man could beat everyone after recovering from cancer, getting one lung removed and getting two time-penalties during the race. They used him as an example of self-improvement and perseverance.

While his story is inspiring and I myself admire that guy, there’s something I didn’t hear anybody point out. It’s extremely admirable what he did and tells you that you can suceded no matter what, which is somehow true. But now, I want to focus for a second about the guy who got second. He is the guy who couldn’t get a gold medal because he got beaten by an old man with just one lung. Think about how pathetic he could feel.

And even worse, think about the guy who got fourth. He was beaten by the same old man and went home with empty hands. I want you to think what those excellent sport-men thought about themselves, what they felt and what kind of stories they were telling themselves.

And here it comes my story. I am the guy who’s been coding since I am 12 and couldn’t get a technical internship at a big company. Name a company you know, I probably applied for an internship there. Yes, I did apply to that one you are thinking about right know. This painful process has been going on for two years now and I even got really really close to actually getting one, but so far I have received rejection after rejection. I saw my classmates who starting coding years after I did land an internship while I got turned down. And please don’t get me wrong here, they are all great developers, they did deserve what they got and I can honestly tell you I hold no envy to them.

Why I am telling you this? Because failing sucks and all the stories we hear about are about winning or about someone who has already won, but nobody seems to care about the losers and that can potentially hurt us when we ourselves have to deal with frustrations. I know you have to fail to success and even I had accomplished things after failing. But that doesn’t change the fact that failing still sucks. We shouldn’t try to pretend we don’t get hiten by frustration and speak up, because we are all failing all the time and nobody is talking about it on Facebook 1)Yes, I know some who do, but I’ve noticed they tend to be the ones with really low self-estime or are yelling for attention.

This all means I am giving up and this is my good-bye letter to the tech internship hunting word and self-help is going to be my new field? No for the moment and I am preparing for the next one as hard as I can, but I would be lying if I tell you that I didn’t think about quitting.

Universities have their own rules and rhythm. Frequently, students stick to the rules of the university which can stifle creativity[1]. Students follow a common path that includes taking the same courses to fulfill majors. Anything that breaks the path is deemed wrong or risky, affirming that at the end of the day grades and exams are what matters.
I personally experienced this myself when I considered starting my own business last year. I had a decision to make, and during that time I learned that being indecisive is the worst enemy of productivity and passion. It became evident that doing is more interesting and exciting than studying.

The influence of my teachers were not enough, and I realized I needed to do something worth waking up for. Dropping out was an option. After all some of the most successful people were dropouts[2], nonetheless I wanted to use college as a runway, using its people and opportunities to increase my chances of success.

The lessons learned in the classroom became tools to start something new from scratch. I realized that college is all about learning lessons, but it is not limited within the classrooms. Entrepreneurship is not something only done after the graduation ceremony.

I finally decided to stay in college, but not to settle. This was not because I did not want to take the risk of dropping out, it was about the challenge of doing both things competitively at the same time.

So far, the opportunities I have come across and the people I have met in the academic area are proving me right. I have learned in this venture that my time is limited, so I have to move fast, as the market and customers expect me to do, but smartly at the same time, choosing carefully the people I want to work with.

Early in the year I meet a founder during a meet up organized by an startup at a bar. She mentioned the project she was working on, introduced me to the team and I actually thought what she was doing was quite cool.

During the year she send me a message via LinkedIn to know if I was interested in a position as a software developer. It looked pretty generic and I was busy so I didn’t even bother in replying. A few days later I see a survey on their Facebook page, so I fill it out just to do a good thing.

A week after that, I received an email from the startup, saying that they were giving away t-shirts to the ones who fill out the survey and I happened to won a t-shirt. I still don’t know if I was lucky or she was just looking for a way to brought me to the office. But now looking back I guess I probably was the only one who filled that survey.

I thought it was a good opportunity to see how the startup was doing so I mailed her to arrange an interview.

During the interview she told me the future plans of her company and asked me to join them. I said no at first but after a couple of minutes I accepted to do a couple of hours of work a week. The following day, I was attending an event in the office where her company was being accelerated at so we talked a bit and I can clearly remember she literally said: “I’ll email you, you start on Monday.”.

She didn’t mail me.

I send her an email to clear all the details, she replied that she was working on a few things out with her CTO and told me to wait. I did never hear from her again.

As I was quite busy with college (and a bit offended) I didn’t mail her again. A couple of week later I went to Facebook to see how they were doing. They moved to Europe to attend an accelerating process and then the company closed. Aka. they failed.

I don’t know if she was desperate or what, but that would explain why she wanted to hire me without even make me code a few lines of code so I guess she didn’t know what she was doing. It still surprises me how, until you get your first day at the office, you can’t call yourself an employee, at least at startups.

And this lesson apply to HR people and startups in general. You can never be sure.

A client asked me to build a program to track and store their production record. He didn’t want a web app and it had to run on Windows. Well, I first thought “Most of the stack I use is multiPlattaform and I have Py2exe to do the dirty job”. I was wrong.

I choose to use the Django ORM to store the information and a sqlite as a backend, so I didn’t have to set up anything client-side. It was the most logical solution because as I concern the Django ORM + some South is a kick-ass. It turned out that it is very hard to tell Py2exe to packege everything Django needs to work.

After a bit of try-error workflow I got a couple of windos being able to store some data. Now, it was time to think about the schema migrations, as the client ask for further and more advanced features in the future.

After hours of trying to get all off this in a .exe fil, I got nothing better than a “Unknown command: syncdb” from Django’s manage.py. I could only found this article talking about it and it is from 2008(!), which made it more frustrating.

I ended up calling SQKalchemy for help!

it made me remember why I like the “web plattaform” so much, because I use the stack I want, and I only switch if somethings is faster, cheaper or has a better documentation, no only because my clients use it. Sadly, you can’t change your client’s stack. Unless you are Steve Jobs.

Learning a new language is not easy. Everyone can realize that by thinking about all the people tha couldn’t be more than “just a beginner” in a foreign language. After a few years learning English and a couple of weeks of French I think is time to share some tips I’ve learned during the way.

Don’t start with the numbers or the colours

This is one of the most common mistakes. The truth is that numbers and colours are absolutely useless during the first months of learning and make people the feeling that they are not making any progress, and they are right! You have to memorize by hard a lot of words but you can’t actually say anything! The only case this may be useful is when teaching a language to a really young students, to expose them to a foreing language easily.

Don’t start with common phrases

This is another super common error. This kind of phrases like “How can I get to the Airport?” o “A burger, please” make you think that you can say something, but the fact is that you are ONLY able to say that, only repeating, without the ability of changing them. My recommendation is to learn only dally used or idiomatic ones. However, these could be really useful when travelling to a destination where a foreign language is spoken and you need to communicate specific things, but remember, these will only get you out of trouble momentarily and not much more.

Learn how to form sentences and ask questions

Looks obvious but a lot of people start dealing with this after months of study when it should be one of the first. Learning how the language works allow you to understand text only looking for the translation of the words you don’t understand. And, once you start asking question, will get easier and easier to easier to use the words you already know.

Learn to identify the most common words in your native language

This is something the people that already learned one foreign language knows unconsciously, that is the reason learning a the third language is way easier than the second. The words you most use in your language are almost the same as the one you most need you use in the language you are trying to learn. Identifying and studding this words you will notice that you would be able to say useful things. Don’t worry if you have a bad time remembering your book’s or class’ vocabulary, the most important words are the one you use in daily bases.

Never stop practising

This may be the most important lesson you need to learn. As I said before, learning a new language is not easy, it isn’t for anyone. After practising you may feel that you have reached a level where you are comfortable, but if you don’t practise regularly that knowledge is probably going away in just a couple of months.

Nowadays with Internet is easier than ever to get exposed to the language you want to learn, I bet you can find something interesting in that language to learn or do if you are willing to do so.

Finally, I would like to recommend you a web I’ve recently using, it is called Doulingo, and follows most of the key points I explained.

That is what a friend of mine who visited Argentina for a month replied when I asked him about the economy situation in Italy. He told me that is almost impossible to find a job in Southern Italy, so young professionals end up moving to Rome or Milan after College.