miércoles, 25 de noviembre de 2015

Not Your Typical Code School Review: My Journey To Becoming a Developer Part II

So on the first part of this series, I was talking about how I got a lot of negative feedback from my first group project. 

Here's what was going on in my head at the time: 'damn, this sucks, I did not see that coming.' Wyncode had started out so well and was little by little getting worse for me. While people were forming groups, playing games, I felt a bit left out. A bit had to do with my leaving at 6pm every day, and obviously some had to do with my attitude. There was nothing I could do about leaving at 6pm, but I could definitely change my approach. I started by doing little things like going to lunch with others or playing video games whenever there was a break. It helped a bit but not as much as I would've liked.

The weeks went by and all of a sudden we only had two weeks left in the program and a final project to do. I approached Spencer and Tasio about working together and making a video game since we all liked them and they had competed in a hackathon (marathon of coding: 48 hours of non-stop programming) where they built the prototype for a game. They politely declined, though I'd later found out that their conversation went something like 'Fuck no, there's no way I'm working with that guy.' Yet another disappointment, but by now I had given up and thought I'd work alone.

Big Risk / Big Reward

Employers would know that I was not good at working with teammates, and in this industry, if you cannot work with people, you are not going to get hired. This truly worried me, and also always look to improve as a person, so I really wanted to get better at the whole team dynamic. The biggest risk of my class came to me and told me he wanted to be part of my group. At first I was skeptical and wanted to say no, but a group of people convinced me that if we made this work, it'd be a great learning experience for me. Another member of my cohort joined too, someone I knew I could really trust because he is a hustler and just works hard, so I figured the worst case scenario we would build the game and just drag this big risk along.

All teams have their issues, especially with such a tight deadline, and especially since we were all pretty lost as to what we were doing. We kept working through our differences for the first ten days, but then our big risk disappeared for three days. Literally vanished, we could not find him anywhere.
When we came back on Monday for class (with three days to go until our presentation), he shows up and tells me he disappeared because he wanted to try and get back with his girlfriend. I thought I was going to kill him, but something told me we should keep him on the team and really just keep pushing for the last few days, it'd soon be over. 

We finished our app last minute and really worked on our presentation. Our big risk was super shy and did not like presenting, so we had to really work. My other team member is an amazing presenter, so I knew we needed to let him shine. Again, having a big ego, I wanted to say a lot more during the presentation, but knew if we really wanted to win, he'd be the one doing most of the talking.

Wyncode Pitch Day Rant

Full disclaimer: we won Pitch Day, and I'll get to that in a second, but first, here's a rant. I think that the best application has won only once or twice, in 7 tries. The one that was hands-down the best app in its class was Interque. I think we had the second best app (the best one was Scancierge), but we had the best presentation, and we went last so we got the chance to close with a bang. With so many groups, it's easy for the panel to forget about the applications that go first, so going towards the end helps a bit. Also, the panel tends to be wow'd by cool features, more than complexity. I understand the presentation is a big part of selling an app, but it shouldn't be the only factor. Maybe a way to improve the selection process would be to have the TA's, Ed (lead instructor) and others vote, and then also get the panel to vote and get a composite score or something. It might complicate things more, so the details need to be worked out, but I think it can definitely be improved. How GoodMeasure did not win is beyond me (Hi, Walter!). 

End Rant

Anyway, we made an awesome presentation, with a very over-the-top trailer that won us Pitch Day. It was a beautiful moment, we had worked really hard, and our risky member totally crushed his part. His mom was there to see it and they cried together, so that was a beautiful moment.I'm a sucker for happy endings, what can I say? I also learned a lot about working in teams, I could really see the improvement. We coded in groups, we had meetings, we talked via group chat, it seriously prepared me for what was coming next. I also had a great story to tell during interviews when somebody asked what my biggest challenge had been.

Fifty-percent of my promise to Jo was fulfilled, but what about the other half? Wyncode has this program called 'Wynterviews,' where you get to do mock interviews with potential employers. I was very fortunate to have met Watsco Ventures, who were looking for a couple of developers at the time. I did really well in the interviews and got a job offer before the cohort ended. Having fulfilled my promise, I couldn't help but tell Jo 'I told you so!' when given the chance. Wyncode was an amazing experience and did not want it to end. Fortunately, I had a job to start right away.

Life at Watsco

I was confident on the skills I had acquired, but the night before I started freaking out. I kept thinking 'I don't know anything, 9 weeks is not enough' or 'I did well in the interview but they are gonna notice I don't know anything and fire me!' Let me tell you, I couldn't be more wrong. Yes, sure, I was a super-junior developer on my first day, but the foundation I was coming in with, was more than enough to at least be able to contribute. 

At first I'd need a lot of help, maybe for the first two months, but after that, it got progressively better and I consider myself to be a mid-level developer. Sure, there are some aspects where I still lack knowlege (argh, still drives me crazy!) but I'm at a point where I can pick things up fairly quickly. At first I did a lot of client-side work, and now I have been working mostly back-end for the past month or so. 

Next Steps

Argentina is my home, and I miss it very much. My life is usually divided in two: when I'm depressed because I have just come back from Argentina, or when I'm excited that I'm about to go there. I recently accepted a position that lets me work remotely so I'll get the chance to spend much more time with my family. 

I hate leaving Watsco because I have a great team and I have learned so much. Honestly, Wyncode and Watsco completely changed my life. I improved not only technically but as a person. Even Spencer who did not like me very much during the cohort is now a good friend. I also had a conversation with Mario A. about our differences and how they were past forgotten since I really respect him and have worked quite a bit with him since I also TA at Wyncode twice a week. I learned so much from such talented individuals that I want to mention them as well: Gerson, Yandi, Luis, Spencer, Carmen, Ben, Marko, Eduardo, Patrick and Pavel (I'm obviously forgetting someone, so apologies in advance!).

Having said that, I'm always excited for what's coming next and really look forward to continuing with my journey. 

Thank you for reading, and as usual, you can hit the comments section with any questions or things to say!


Not Your Typical Code School Review: My Journey To Becoming a Developer Part I

The Early Days

I'd been interested in programming for a very long time, well, I guess curious is the appropriate word. I took the introductory course in high school where I learned a bit about HTML, CSS and Visual Basic (which was in style back in 2005). The following year I couldn't sign-up for the follow-up course (Java) because of AP's, and that was the last time I did anything related to programming in a long time. 

I went to college and studied finance because I had no idea what to study (I was focused on playing soccer), and it was what most people were doing. I figured I'd always have an out to a good paying job if I studied finance and playing sports professionally did not work out as expected. I took some computer classes, but nothing programming related. I enjoyed computers and math, but again, I was more curious than actually interested. This was between 2008-2010, but nothing came of it.

Once again, in the year 2012, I was playing soccer in Paraguay so I had a lot of spare time, and started thinking about programming once again. I studied a bit but quickly lost interest because even though there are many resources online, they are not that well structured, and it's hard to go from the very basic ones, to intermediate.

Back In Miami

I moved back to Miami at the end of 2012 after some frustrations with soccer, and enrolled at FIU at night to study math, with the idea of completing a Master's Degree in Computational Finance / Mathematical Finance / Financial Engineering, whatever you wanna call it, basically, applied math for finance. I started learning C++ and really enjoyed programming, more than my math classes. Between math courses (the most important aspect for admission into a top program), soccer and work I didn't have as much time for programming as I would've liked, so I kind of put it on hold. I resumed in March of 2014, learning Python on my own, but only a couple of times a week (if that!) and progress was very slow. 

I invited two programmer friends to dinner to see what I could do to speed up my learning, as I realized I really enjoyed programming and wanted to make the career change, I was not too enthusiastic about going to school full-time for another two years, going 100k plus in debt, and then having to move to New York to work for a Wall Street bank (full disclaimer: I was working for a big Wall Street bank, but here in Miami, and had turned down a move to NY). That's when my friends, Igor Guerrero and Sebastian Henao, told me about Wyncode, a dev bootcamp.

Wyncode

At the end of 2014 I presented my resignation to my boss at Morgan Stanley and made plans to enroll full-time at Wyncode. Wyncode is a bootcamp that lasts 9-weeks. It is full-time and you pretty  much dedicate all of your time to it. It costs $10,000 so it is a huge commitment, not only because of the cost, but because you are not going to be working for three months also. I knew it was a big risk that I was taking, but I have always worked very hard for achieving my goals and knew it was the right choice.

I started the course in January of this year, and I met with the owner on the first week to discuss what my expectations were. I told Jo that I would get a job to start right away after Wyncode and that I'd also win Pitch Day (there's a final project at Wyncode at the end of the course that I will get into later). Thinking back, she probably thought I was some cocky guy who was in over his head, but to me it meant a compromise, and it'd motivate me to really work hard.

The first week was fairly simple, I had seen most of the concepts so it really flew by. We were given a project to create a game over the weekend, and took it slightly, thinking 'Hey, this is easy, I'll kill it!' I tried to do something with some graphics (I had built some games with Python and Pygame), but unfortunately Ruby (the language taught at Wyncode) doesn't really have a good library for that. I ended up making tic-tac-toe or something, and thought I'd win when we presented on Monday (guess I was actually some cocky guy who was in over his head). 

Boy, was I surprised when I get to class on Monday, and this guy, Spencer, who I work with now, has created a role-playing game using the command-line. I was blown away and realized I didn't know as much as I thought I did, first humility lesson of many to come. The second week went well, and I thought I could do this whole thing easily. I got up at 7am every morning to code, then I would go to class from 10am-6pm, and then I had soccer every day so I'd get the chance to start coding again at 10pm. I'd code for 1-2 hours, to get up the next day and do it all over again. 

The first month went by easily, I ran into some problems, but with the help of the amazing TA's, plus friends outside of the program, I was doing great. (Gotta take a moment to name them all because they really helped me a lot and I am forever grateful, wouldn't be here without them: Igor, Sebastian, Dainel Vera, Auston Bunsen, Walter Latimer, Frank Ortiz, Ed Toro) There was one problem at Wyncode though, I felt people respected me because I was doing well (in my opinion, up there with Spencer and Tasio, each with different strengths and weaknesses), but did not feel particularly liked. I didn't know how to change this, I tried to make jokes when I got to class, and say 'YOOO!!!' really loudly when I got there, but wasn't working. I wasn't particularly fond of Mario A. (two Marios in my class), and he wasn't fond of me. Honestly, I had no idea what was going on, but I was about to find out. 

Falling Back To Earth

After the fourth or fifth week, we started learning the Rails framework, and this was the first time where I truly felt lost. All the concepts were new, there were many things happening behind the scenes that I did not understand (lack of knowledge is one of the things that frustrates me the most), and did not like being told that I did not need to worry about it. Personally, I was struggling but did not want to admit it, after all, I was supposed to be one of the good ones in class. To make matters worse, we were assigned a trio-project and I was working with two other developers for the first time. I thought that being part of a team meant I'd do my part, come back two days later and turn it in. As long as I was doing my part, that meant I was a good teammate. I went to Mardi Gras for the weekend, and I came back to a lot of feedback, of the negative type.

Turns out doing your job does not make you a good teammate, it makes you a reliable one at best, and at worst, it makes you an egotistical asshole who does not care about others and does not know how to work well in teams. The feedback I got from the trio project was all negative, there was nothing to salvage from it. Honestly, it really hurt and my first reaction was to make up excuses on my mind. I could only nod, and walk away, I had just been slapped right across the face.

This is getting super long for a blog post (my original idea was writing a review of Wyncode) so I'll break it down into two parts right here. 

Next up: the last few weeks of Wyncode, Pitch Day, job interviews, and next steps.

Hit up the comments section if there's anything you'd like to ask or say!

lunes, 9 de noviembre de 2015

Ancla de Rescate

No siempre puedo hacer las cosas bien, pero tengo esta filosofía de vida, en la que por lo menos lo intento. Uno es humano y no siempre puede tomar las decisiones correctas, y también es un tema muy subjetivo, pero tengo esta idea de que hacer las cosas bien te trae cosas buenas. Tengo esta loca idea de que si hago el bien, el universo me lo va a devolver. También creo que todos somos un ejemplo para los demás, y que tenemos un compromiso de hacer las cosas bien.

La mayoría del tiempo, las cosas salen bien, y estoy contento con mis decisiones, con llevar la vida así, a pesar de que a veces requiere mucho esfuerzo. Pero siempre llega ese momento en la vida en la que nos toca cuestionarnos nuestras decisiones, nuestros valores. La vida es así, te da y te quita, te facilita el camino o te pone piedras en el mismo para salir más fuerte y aprender. Entiendo que esto es parte de vivir, de crecer, y lo llevo bien, pero hay veces en las que nada sale bien, y ahí arrancan los cuestionamientos.

¿Cómo puede ser que la mina que me gusta esté con ese pibe que la vive cagando? Yo nunca cagué a nadie, pero evidentemente no importa. Esa persona que le debe plata a todo el mundo esta de vacaciones por europa, y yo que tengo todo al día, pago impuestos, etc, no puedo. ¿Qué onda? ¿Vale la pena ser tan honesto, si mi compañero que vive mintiendo ahora va a tener una mejor posición que yo? 

Sé que me estoy dejando influenciar por lo que hacen otras personas, y que solo debería preocuparme por lo que hago yo, por mis decisiones. Pero bueno, a uno de vez en cuando le agarra la desesperación y se cuestiona si realmente vale la pena ser así (la respuesta es sí, obviamente!). A veces realmente me cuestiono si realmente el universo me va a devolver las cosas buenas porque parece que no, y parece que a la gente no le importa. En estos momentos de frustración, tengo la suerte de contar con dos personas que me ayudan a mantenerme firme. 

Mi Ancla

La vida es para vivirla compartida, siempre necesitamos de otras personas para seguir adelante. Cuando todo me da vueltas en la cabeza, y digo, ¿sabés qué?, no me importa nada, hago cualquiera, tengo mi ancla de rescate para mantenerme firme. Bueno, en realidad tengo dos. Son dos personas que sé que realmente valoran mi forma de ser, que me toman de ejemplo para algunas cosas, y que cuentan conmigo. No me gustaría defraudarlas nunca, y cuando me estoy por mandar alguna cagada, me pregunto: ¿le podría contar esto a ellas y estar orgulloso? Si la respuesta es no, entonces sé que estoy por hacer cualquiera, y me ayuda a retomar el equilibrio. Por esas dos personas, sé que todo vale la pena.

Conclusiones

No siempre lo que escribo tiene sentido, y de hecho, esto lo estoy escribiendo hoy pero no me siento así hace un tiempo. Muchas veces necesito escribir porque tengo una mezcla de pensamientos y de sentimientos dando vueltas en la cabeza y necesito escribir para entenderlos mejor. Escribir me ayuda a hacer catarsis, me ayuda a mantener el equilibrio. Son vivencias muy personales, y no todo el mundo va a estar de acuerdo, o no todo el mundo va a entender lo que trato de decir. Pero estoy convencido de que a más de una persona le agarran estas dudas existenciales, y si puedo ayudar aunque sea a una persona, me voy contento.

Para los que tengan ganas, pueden dejar algún comentario.