Wednesday, May 11, 2016

Technical interview

I had no idea about how technical interview goes until Google Tech Interviewing Decoded. It was an event when Google just invited some students from local universities for one day and basically did some workshops about how to do technical interview, about to become a Google employee and other stuff. I found a link to that event on our 100W facebook page, applied and got selected to participate. I also got email that I didn't happy to be lucky enough and they didn't schedule me for a mock interview. Well, anyway, I went there.
I arrived a bit earlier than the vent itself, so I met few folks from SJSU and also one old friend from my community college, who transferred to SFSU. Anyway, the first workshop was about technical interview. Two Google guys showed on example how it goes. The interviewer asked interviewee to write a simple method on a board and the guy spent half hour next to white board writing some simple java code, explaining each line of the code, logics behind what he is doing and what is also in his mind about other ways to solve that problem. That was a very import show to me. This is basically the most important part of the technical interview, they said, writing a code on a white board. I wasn't ready for it.
Writing code on a white board is very different than writing it in IDE, even though it doesn't look like a big deal. There is a lot of small details, that can go wrong. No spelling check, no syntax check, you might not have enough space to write on one line what you wanted. You have to constantly speak to the interviewer about what are you doing. You can't write your code silently - it is a very wrong thing to do. The only way you can be silent is if you first told interviewer that you need some time to think on the problem before trying to solve it. All this details are not obvious and I would never knew it without that workshop.
Well, between this and next light talk I had a chance to talk to on of the "googlers" asking why I didn't get a mock interview. The guy said that they have enough room for only 20 mock interview out of 200 students that showed up. I told him that I really want one. He said sorry. But about hour after he told me that some guy didn't show up and that he wrote me down in the opened position, so I was scheduled for a mock interview at Google. Sounds badass.
So, toward the end of this entire event I got a mock interview for half hour. The main part about where the guy is asking me about myself went great. The part with Whiteboard went terrible. Even though I tried to do everything as I just learned during the workshop, it was the first time since 2009 when I was writing code without a keyboard and I wasn't prepared for it. I learned that I need practice.
As a part of the event, we had a lottery and thanks to Random I won some extra swag, part of which was a paperback copy of the Cracking the Coding Interview book.

In few weeks after that Google event I had my very first real interview for my very first internship in Bromium. Of course I had a Whiteboard part, which went way better than my previous experience. I was prepared. As a result I got the internship in Bromium, that I will start on June 1. That's all.

Tuesday, April 12, 2016

Game of encryption.

So we all know what happened: terrorist attack, FBI got terrorists iPhone, they wants to unlock it in order to find clues for investigation of that attack. So far looks all reasonable. But the way FBI wanted to unlock that phone is what controversial. They demand Apple to create the backdoor and that what our society can not accept. We all know, that government is everywhere, “Big brother is watching you” and all this stuff. But government is not the only one who can possibly watch us: history knows the examples, when government of other countries got their hands one some people private information. And that is why we have encryption - to protect the data. But government is against encryption, since “terrorists are using it”. But regular people wants for their private data to be private and therefore they use encryption. It’s getting messy, let’s figure it out:
We have four abstract teams: government, “bad guys”, citizens and tech companies.
Team 1: Government. They wants to break the encryption, so they can prevent attacks of the “bad guys” and , well, watch citizens. Their first goal reason against encryption is pretty straightforward and reasonable, let’s look at the second. Depends on the country, government is watching citizens for several possible reasons: to catch “bad guys” or to protect themselves, since the government is corrupted and citizens wants to fix it.
Team 2: “bad guys”. It might be a terrorists, spies, other governments, anyone, who wants to break the encryption to get their hands on encrypted data of all other teams. But at the same time the want to preserve encryption for themselves so government can’t catch them.
Team 3: citizens. They wants to preserve encryption, so their private data can be secured. But at the same time they wants government to catch “bad guys”.
Team 4: Tech companies. That’s the team that stucked between a rock and a hard place. They are the ones, who are making encryption strong, so citizen’s data can be secured, so the government secrets can be secured, so the “bad guys” won’t get their hands on secured data and attack other teams. But at the same time government and citizens are pushing Tech companies to cooperate and make security system less secure, so “bad guys can’t hide”.
So far this situation really looks like some weird twisted board game. Well, that game have one last rule: if the encryption is broken by one team - any team can use it.
That’s the game our society is playing right now. In this game, every team has justified goals and clear reasons. Personally, as a part of team Citizens I want to secure my private data, but at the same time I want to want to be a victim of “bad guys” team. The game doesn’t have black or white solutions, there is no teams that will can possibly win all their interests. Understanding this scheme I really can’t stand against or for encryption, I can just observe how society will play this game on a historical scale.


P.S. FBI didn’t need Apple’s help to unlock that one terrorist's iPhone. I know at least two possible ways they could unlock it themselves. FBI really just needed Apple to create backdoor to 1) show their influence on society, 2) make it easier to unlock other iPhones.

internship

What are the things computer science students value the most (collectively) in an internship? What is YOUR wish list and why?
As Jacqueline Smith said, the things Computer Science value the most in the internship is full time employment opportunity(51%), job orientation and training (42%), good employer reference (29%), challenging assignments (20%) and flexible working conditions (19%).That is a good list, pretty reasonable, nothing to add here.
My wish list is much shorter. As an international student, my biggest goal is to stay in this country after graduation, so the things I value the most in internship is an opportunity for full time employment and working visa. Long story short, after graduation I will have 12 months ⅄to get a job or I am going back to Russia. Going back to Russia is one of my biggest fears. It would be completely pointless to spend 5 years in United States on getting my degree in Computer Science here, right in the Silicon Valley and after that go with that skill set back to the country, where IT industry is getting worse and worse every year. The government is full of incompetent fools, whose entire purpose is make people’s live harder. Lastly it touches a lot of people from IT industry, since government is constantly releasing a new idiotic laws… Also, the salary in Russia even in top IT companies are lower than what baristas in Starbucks have here. So yeah, no way I am going back to Russia.
And even if I will get a full time job here, in Silicon Valley, it is not a guarantee that I will get a working visa. Getting an H1-B visa costs a fee ranging from $825 to $4000 and not a lot of companies are willing to pay that money for international employees. And even if employer is willing to pay for that, US government has limited the amount of accepted petitions of H1-B visas to 65,000 per fiscal year. According to the Institute of International Education (2016), there are 974,926 international students who studied US colleges and universities in 2014/15. Approximately fifth part of that students are graduating each year. Doing simple math, 974,926/5 - 65,000 equals approximately 130,000. Two third of all international students are not getting working visa and have to go back to their country. For some international students it is ok, since they came to US without intention to stay here after graduation in a first place. Well, I am not one of these students. I want to stay here and an Internship is one of the most important steps in order to achieve that goal.

WORKS CITED

Institute of International Education, Inc. (2016). International Students [Data file]. Retrieved from http://www.iie.org/Research-and-Publications/Open-Doors/Data/International-Students


Shao, H. (2011, Feb 13). Work Visas Confine International Students in US Job Market.Retrieved from http://www.thecrimson.com/article/2011/2/17/international-students-h1b-visa/