I've lived in 4 countries, studied in 3 universities, had around 5-6 jobs, got multiple visas and had a naturalization application. Needless to say I had to deal with tons of paperwork, and keep it all organized. Apartment and work contracts, bank statements, applications, you name it. In the beginning I used to keep all my paperwork in folders, and I had a good organization system. I could find any document I needed very quickly among my folders. But over the years I accumulated a lot of paperwork, and it looked ridiculous on my shelf. It was also the time when Dropbox and Google Drive were gaining popularity, and I realized I had to take advantage of that.
The key is to realize that most of the documents you have don't need to be in paper form, they're perfectly fine being digital. Especially if a document isn't signed, the paper form has no value - old contracts, bank statements, etc. A lot of places nowadays also accept digital copies of contracts, and you can even sign contracts digitally, so your paper footprint should be even less. So now by default if I receive a document or a letter, I scan it, store it in my Google Drive, and throw it away. But there are things you shouldn't throw away:
However, if you're not throwing away a document, it doesn't mean you shouldn't scan and store it. It's always a good idea to have a digital backup of a document for safety. It also comes in handy when you quickly need to send a copy somewhere, whether digital or print.
When I was sorting out my paper pile, I noticed that a big source of paper is new bank, credit card, and insurance contracts: you're loaded with information brochures, prinouts of terms and conditions, etc. Those can safely be scaned and thrown away - they're usually printouts from some files available on internet. But be sure to keep the signed papers, such as account opening agreements.
In my next post I'll talk about what folder structure I have to organize my documents on Google Drive.
Here's the document pile I scanned and threw away after a bit more than half a year in Switzeland, it's quite a lot!
The internship experience I had at Google was amazing - I had an awesome supervisor, interesting project, and overall a perfect environment. The best thing I liked about Google was the fact that pretty much always I felt like I was the stupidest person in the room: it meant I could grow so much! Well, the benefits are also sweet :)
At the same time my PhD wasn't going well: I failed a qualification exam, and I was not publishing any interesting papers. So at the end of my internship I decided to apply for a full-time conversion and see if I can get a job at Google.
Normally there are five interviews for a full-time software engineer position. But for interns it's reduced to two, and Google cares more about the internship feedback. As we've been told at the orientation week, "The internship is a 12-week interview". There is only one advice I could give about preparing for a conversion interview: do as many mock interviews as you can. Mock interviews are like sparring before a fight: it's the closest thing you can get to the real interview, so it will prepare you mentally. Otherwise, don't worry much about them - if you do well in mock interviews, chances are that you will do well in real interviews as well. My first interview question was really hard. I pretty much stared at the board with a dilemma of either being quiet (which is not a good thing to do during an interview), or saying saying something stupid. Eventually I managed to solve the problem, though not in the most optimal way, but it was good enough. My second interview question was easier, but there were a lot of details I had to watch for. The advices I got during my mock interviews definitely helped me a lot with this!
In retrospect I think the interviews didn't matter nearly as much as the internship feedback, as long as you don't mess up badly. Besides having been through a 12-week interview, interns learn the internal ecosystem of Google, and therefore have a head-start during their full-time jobs. This is quite significant for software companies, since it usually take around half a year for engineers to be productive.
Everything was ready for me to get an offer, but I stumbled upon an unexpected barrier: immigration. I believed having studied in US would give me a temporary work permit (OPT), during which Google could apply for a longer work permit (H1B) or green card. But that's not what happens when you drop out of a PhD program, and you get your masters degree as soon as it was possible. Long story short, I ended up taking an offer to work in Zurich, with the possibility to be transferred to US after a year with L1 visa. I was quite unhappy about it, since I'm 100% positive that I want to live in US. But I want to squeeze the best out of this situation, and use this year to travel around Europe. There are many places I didn't travel around Europe when I lived there, since I took it for granted. Now it's my chance to travel it all! I have also created a new blog where I will be writing about my experiences of living in Zurich: My Year in Zurich. How it happened explains in more details why I did not get the work permit in US and had to move to Europe.Read more...
Recently I read Deep Work by Calvin Newport, where it talks about importance of work done with high degree of concentration. In another post he talks about importance of hard focus. It's an amazing book, read it! It got me thinking about the role of focus in my life.
I remember how in high school I was better than some of my peers, even though I spent less time studying. I remember also being better in better in Muay Thai than some of my peers that started nearly at the same time as I did. I don't believe I'm especially intelligent. Neither I do believe that I have some kind of a talent for martial arts (I generally don't believe in talent, but rather hard work). I believe my results came from my efforts in focusing. Whenever I study, I make sure that I don't have distractions, and the material I'm studying is the only thing I'm thinking about. Whenever I box, I only concentrate on my techniques and my opponent (in my later post I'll talk about how focusing is easier in a full-contact martial art, since you're getting beaten!).
Overall, I believe your productive work is the time you spend multiplied by depth of focus and concentration. Spending time on something without a focus is indeed a waste of time.Read more...
Yes, you have to be good at programming to get into Google, but don't have to be perfect. But in my personal opinion, the most overlooked element is motivation. Interviewers want to see genuine motivation in you. This means that you have to show interest in technology outside the classroom, i.e. show that you're extracurricularly interested in software development. For me it was the website I made, travelfreedom.io, and every single interviewer asked me about it. And I passionately told them about it. So for me, I believe this was a good way to stand out.
To prepare for the interview, code in Google Docs, or any other text editor without syntax highlights or any help. In the interview you'll be asked to code in Java, Python, or whatever language you choose, in Google Docs. Doing that a lot different than writing programs with IDE, or even simple syntax highlighters. You will confuse brackets, indentation will be hard to maintain, and so on. Therefore you'll have trouble if you do not practice coding on text editor. Another thing is that know the language you choose very well - I've chosen Java since having SCJP and OCM certificates, I'd like to believe that I know Java well. However at some point during the interview I could not remember whether
.size() method. This however did not matter for the interview, which brings me to the next point.
Be ready to be caught off-guard. Everybody has a plan before they get punched the first time - Mike Tyson. I love this quote. Every time I'd try to spar someone in boxing, I'd have a plan in my head, yet once I was in the fight, my initial plan never worked, and I had to adapt. The same happened to me in the interview - many of the questions got me off-guard. Some questions I answered plain wrong. However I did not let that knock me off balance, and I kept answering questions to my best. Don't let the mistakes you make affect you. You will almost certainly not get the answer 100% right, and that's not what the interviewers are looking for (they want to see how you think, but you probably know it already from books like Cracking Code Interview).
Disclaimer: these are all my personal opinions based on my personal experience.Read more...
There are many books about conflict management, difficult conversations and negotiations: Getting Past No, Difficult Conversation, and even research institute such as Harvard Negotiation Project. While these are amazing resources, many of us may think that we are unlikely to have a need to know the knowledge presented in the books above on daily basis. And indeed in my daily life I've rarely used techniques from these books, and even forgot many of them. However recently I learned a good lesson - difficult conversations come unexpected.
I had to talk to someone quite high above me in the ranks to reverse a decision he made, and the meeting was schedule two days in advance. I needed to make a good case and sound convincing - i.e. carry out a negotiation.
In two days I could not learn basics of negotiation and the techniques that helped me. So at the time I had to have a difficult talk, I was glad that I've had read those books mentioned above. I was glad that I already knew those techniques, and preparing for a hard talk was not an unknown territory for me. Besides knowledge about negotiation techniques, reading the books mentioned above also gave me confidence that I can make a case, and create a solution.
Which techniques helped me? Many. First, I made sure I listened to the other side, and found out what their concerns are. Then following the principle for finding a common ground, we brainstormed solutions, and eventually we came up with a plan that was good for both of us. Sounds easy, but read the books mentioned above for more information!Read more...
Social networks are known to be a big distractions nowadays, and there are different opinions about how to fight them. While some people have manage to completely delete their profiles, this is unfortunately not an option for me because:
Having lived in different countries, I cannot communicate with people I've met through just phone or email. Facebook on other hands offers a nice way for me to keep track of what is going on. It is even something like a customized news feed for me right now - I get to see what news my friends care about.
I believe Facebook is an irreplaceable marketing and customer feedback tool. When you develop a product and have a Facebook page for it, like Google Analytics it offers very interesting insights and also let's you to collect quick feedback from customers.
How I fight distraction? I've identified that the source of distraction in Facebook for me is the news feed. So I have the following two rules for Facebook during my work time:
I'm allowed to look at Facebook only if I get a phone notifications. This usually means a message or a comment directly involving me, so I may allow myself get distracted for that. Bonus rule: if I really need to concentrate, I switch my phone to silent.
Log out of Facebook in your work computer. Facebook app on the phone is enough to do pretty much all you may want to do, so there is no additional benefit from logging into Facebook from your work computer, only distraction of having Facebook one click away.
After around a month of 2-hour/day work, two days ago I launched TravelFreedom.io! I created it using only Jekyll, and data files as "database". While I hope it will be a useful service, it was also a good project to discover Jekyll and see what it is capable of.
Further lessons learned:
Static site generators - Unless it's something that takes user data and processes HUGE amounts of data, you must really consider static site generators to traditional CMS solutions.
Lean principle See it yourself - I initially wanted to get travel data automatically from IATA, but I decided against it since I saw some inconsistencies. I've decided to manually enter visa policy data using helper scripts, and it was a really good decision I made. Going over different visa policies I saw that things aren't as simple as visa-free or visa-required. Some countries require electronic authorization, which is not guaranteed. Some countries allow more passports during summer and some countries even totally ban entry. I had to make a case for each of these different possibilities and come up with a model that would consider all these nuances. Toyota managers are totally right - knowing tiny details of your business is tremendously helpful.
Incremental launch - Though I want to push the idea as soon as possible, I realized that I may need to update many things on the go. One of first 5 people who looked at the website already noticed an error I had to fix, so I understood the website needs to become a bit more mature.
subscribe via RSS