How I found focus, productivity and growth at a remote job

I have been working remotely since 2016 and now I have settled on a few things that make my remote work life productive and enjoyable.

(Disclaimer: I had to let go of some of the more social ideas in this list during COVID-19 restrictions.)

  1. Signing up for a co-working space, close to home

It is a simple, warm space, community-driven, where others were in the same boat as me, more or less – looking for co-workers so they aren’t working all alone.

I have not missed the commute one day in all these years of remote life. Fortunately, I found a co-working space next door.
I can go back for a home-cooked meal very easily, even bring it to work to eat together with co-workers.

  1. My Just go out! rule

Every time I catch myself feeling unproductive at home, I get my laptop without a charger and get out to the nearest cafe to work for an hour or so.

Bringing no charger means, it is easier for me to find a spot to work from and I am forced to get focused work done in a limited amount of time. The effort of getting out for exactly one reason helps find concentration. The effort put into the preparation prepares the mind for focused work.

  1. A daily work diary

This is where I make a plan for the day and set out Deep Work sessions, lunchtimes, etc.

My typical remote workday is never a large 8 hours chunk of continuous work. I often interlace 3-4 hours long work sessions with other things like workouts, afternoon walks, etc.

Setting an intention or goal for the day helps me focus on the quality of my work than just getting tasks done.
It allows me to reflect on how I am doing, or what is still getting in the way of my focused work.

  1. Meticulous notes and regular conversations with teammates

Asynchronous and proactive communication is the backbone of successful remote work – for me that includes regular work updates, asking my team for help, and attending at least one coffee-chat or company-wide meeting every week.

  1. Blocking out social media and other drains from my laptop

The lack of social interaction can often make people turn to social media, which might be fine on its own but it was particularly distracting for me at work.

I started by not installing those drains as apps on my phone. Turns out, the mobile versions of the sites are not so appealing in UX and a great deterrent to wasting time!

  1. Listening in and being ready to let go if a day was just not focused.

This inevitably happens once every few weeks, just like there are days I get a lot more done than usual.

  1. Make sure to meet up with friends and colleagues once a week

Remote work doesn’t need to mean the absence of social life. Instead, some deliberation in setting up co-working times with friends and colleagues is an excellent opportunity to get out of home and find a much-needed variation in my workdays.

  1. Workout/learn a language in the evenings

While serendipitous conversations and activities are hard to replace in a work-from-home job, I find it grounding to pursue opportunities for personal growth – right now it is learning the German language and weight lifting. It is a great way to leave work at work!

Online Masters in CS: my experience

OMSCS is the online version of Georgia Tech’s Masters program for Computer Science.

I started in Spring 2016 and about 2.5 years later, I graduated in August, 2018.

In this post I talk about why I chose OMS, how I balanced it with a full-time job, what it is like to study with almost no supervision, and in what conditions I recommend it.

Why OMSCS?
About 3 years ago, as I was growing as a software engineer, I really wanted to spend more time with CS theory. But, in 2016, my financial priorities did not allow me to leave a job and go to university full-time.

I heard of OMSCS and Georgia Tech’s great reputation. It ranks pretty high in several university rankings. I don’t care to find the links because these 2.5 years have given me enough proof of the merit of students who graduate from this program. Very humble brag, of course. 🙂
Moving to a remote job was necessary too – I couldn’t afford to waste time in daily commute. Thankfully, I got a job at Travis CI, and I started looking forward to Mondays a lot more than Fridays. 🙂

These logistical changes helped a lot, but even with very supportive employers and colleagues, balancing all the workload was a challenge.

Working full time and studying in the evenings and weekends meant, that my weekends began at 2am on Sunday nights and ended on Monday mornings. Friday evenings were about settling at my study desk with coffee, jumping right into that weekend’s assignments.

 

Over time things got better as I learnt from some mistakes. Here are some of them that I’d advice OMSCS students against.

First mistake – starting with a hard course.
I started with Advanced Operating Systems, without even taking the corresponding introductory course. Rookie mistake!

Second drawback was being out of touch with a university model of learning.
I thought I’d take from this program what I cared to learn and not care about the grades. While that is generally a mature thought, inspired by a profession where you need to learn constantly, Georgia Tech expects really good grades to confer a degree.

I dropped my typical Indian ambition of straight As long before starting this program. But GA Tech’s rules for the program, brought back some of the memories.

I needed to clear 2 foundational courses in the first year, with a minimum of grade B, and, I needed to complete all courses needed for my specialization, again, with a minimum of grade B. Then, there were others…

Another problem was with my style of working on programming assignments – I worked on them like an engineer.
Nah, I should have worked on them more like a researcher – curious, diving deep into the theory and excited by the results, but not one who’d write code professionally – well documented, style checked, complete with an extensive test suite.

And then there was the mismanagement of time – thinking it’ll be enough to leave all homework till the weekend!
Weekends alone weren’t enough to complete the coursework. What I needed were completely focused, highly productive weekends. All weekends.

It caused me a lot of anxiety when I did not get started on a week’s school-work, pretty early in the week.

As I learnt from these mistakes and adapted to remote work and studies, side by side, I began to enjoy my studies a lot. I loved the sense of accomplishment at the end of every project.

 
So, for prospective students, I have a few things to say.

Definitely apply – this is a great opportunity and if you’re missing university because you’re bound geographically or by other life priorities, do it!

Bump up your organizational skills.
Lists, calendars, reminders, notes for context switching – do what it takes.

omscentral.com is your friend.
This is the central place for course reviews. They are abundant and help a lot with setting expectations clear.

Start early.
(This was the typical solution my parents offered to almost all my childhood problems, years ago.)
Start working on assignments as early as possible. Get into full productive mode from day 1. In many courses you might even have the first assignments due the very next week. The summer semesters are much shorter than the spring and fall semesters, but the workload is the same.

Prepare in advance for harder courses.
Umm, yes. For some courses, some students prepared in advance, e.g. the Graduate Algorithms course. Sometimes you need to brush up on undergraduate level courses like Linear Algebra before taking courses like Introduction to AI, or Graduate Algorithms.

 

 

What about travel, relationships, personal time, etc., you ask?
Each train, bus, and flight that I’ve taken in the last 2.5 years has been occupied by schoolwork… to-go. careful planning, offline resources and a computer with good battery life, is pretty much all you need.

I took an exam 2 days after my very Indian wedding. So, yeah!
That said, I am sure there are people who had a decent life outside of course forums, gradebooks and their python code. 🙂

 

Was it worth it? Do I recommend it?
OMS was a very satisfying challenge. Definitely because I was curious about some famous algorithms and learning about AI.

Every week felt like enormous progress. It took a lot of context switching, between work, studies and the rest of life. But I have come out a lot more organized, and a learner for life. There is not much barrier to learning well into a career any more.

I recommend it to people who can shell out more than just the weekends for schoolwork. It is best suited to people who are self-driven, organized and dedicated. Aiming to balance out OMS with a 30-hour work week, might be ideal.

Having a supportive family and employer is definitely a plus. At Travis, I was able to take days off around exams and even a shorter contract to do a jumbo semester with 3 courses, to speed up the program. Big shout-out to my fellow builders at Travis. ❤

If you’re thinking of applying and have questions, feel free to ask. 🙂

How I got over my fear of biking

Yes, that’s true. Some people are very scared of biking, or for that matter, to ride anything on the road at all. I was one of them. Until the social pressure, embarrassment and Berlin’s cool bikers’ caught on.

Here are a few things from the time I was too nervous to rule the road and too embarrassed to accept it:

1 – It’s ok to be nervous

It was important to accept that I wasn’t the only one scared of the road. People are scared of many odd things. There was no point being embarrassed about this. In fact, if you let your friends know, they might even help you learn.

2 – Fear or laziness?

Berlin’s amazing public transportation had spoilt me. I could never imagine myself looking for another mode of transport in the city. I carefully evaluated every odd reason I gave myself for not trying to bike. But honestly, what worked was seeing the other happy, swift bikers pouring out into the lanes as summer approached. Nothing could beat the joy of riding at your own pace, never waiting for a bus!

3 – Start

This was the hardest but the most rewarding part. So I took baby steps:

  •   tried a friends bike – too big, I fell off many times! 😛
  •   rented a bike for a weekend and rode in a huge park nervously. It was now getting a bit pricey.
  •   went biking with a friend or two in a large park. (I didn’t get hurt and there were people to lead the way, leaving all my attention for the bike.)

But hey! In 2 weekends, I was already looking forward to buying a bike to practice.

4 – Teach yourself

Some things are best self taught. I set small goals for myself, like riding continuously for a few blocks, learning to brake the right way, not getting off at a red light to walk the bike, trying a small up-hill/down-hill path. (Yeah, riding downhill can make a new rider very nervous. It is difficult when you’re not confident of controlling the bike well.)

5 – Desperation makes you push limits

So, in 2 weeks, I bought a bike, rode through gardens and a few routes in the radius of 3kms from home, with a friend. But the most amazing moment was one day when I had to take my bike and a large bag to the bus station to take a bus to another city. I had decided to walk the bike or take it in the public transport, because I was too scared to ride it for 4 kms on a new and busy path.

Only, that, it turned out to be the most rainy evening. So here I was, managing a hastily bought rain protecting poncho, a large bag, on an up hill route at the time when the traffic is maximum! Well, I had no option but to go ahead and take it all to the bus station riding all the way.

Of course I was nervous! But nothing could beat the happiness of reaching the station before time, all on my own! 😀

Additionally, I advise you to

1 – Spend some time looking for extra gadgets you might like for your bike. May be a device to keep track of distance covered.

2- Invest in a good lock.

3 – Visit Amsterdam! The bikers rule the road. Truly inspiring for a new bike rider.

Eventually, I started using my bike to go to work and even had a minor accident. But unfortunately it was stolen from my courtyard. 😦

Nevertheless, I am looking forward to riding a bike again!

New cheese: looking back at the 1st year as an engineer

Wrapping up one roller coaster ride – scary, thrilling and with loads of ups and downs!

The lessons

“It is safer to search in the maze than to remain in a cheeseless situation”
Spencer Johnson, Who Moved My Cheese?

This year taught me to let go before things rot, to prioritize and never give up.
The year was a roller coaster ride for my professional life. The startup for which I moved to Berlin, HowDo, very sadly, closed down. That left me with quite some introspection and job search to do and very little time and resources to be able to explore. I started taking things as they came, for what turned out to be the entire year.

I found it hard to find another place I would love so much as HowDo. There was some freelancing, a consultancy I worked for and now finally another mid-sized start-up, that is growing rapidly. I did not expect this year to bring so much change while it lasted. I am happy with all the lessons learnt, though I hope the times to come are not so difficult.

When I started work, 1.5 years ago (I was a student and intern until then), I didn’t know how to make choices when it came to job applications and projects. I took up what I liked best and had no clue what I should be looking for in terms of professional growth, company culture or even salary.

When the company closed down, I was left with a work visa that wouldn’t allow me to be unemployed in Germany, insufficient finances that wouldn’t allow me to be unemployed in Germany and an amazingly beautiful summer, that wouldn’t let me leave Berlin!

So, with a colleague’s help I got myself a freelancer contract. Though, in a few weeks my choices for work places and projects started shaping up a little. Also, this was my first experience at freelancing, which didn’t go so well.

I was rejected at all my first few choices for new work. Berlin has a lot of amazing opportunities but I was still considered pretty junior for them.

But with time, I burnt out with the projects. I wanted a more product oriented company. And there, my current company found me. It took a long time to decide between my current job and the last and I realized it was an opportunity I didn’t want to lose.

So here I am happy to be working in a fast growing start up, with a great engineering team. I am still a bit scared, but that hasn’t worked out badly before. 😉

But professional growth wasn’t the only change.

It’s just like riding a bike”, they said.

Now this has a very different meaning for me. I was very scared of riding any vehicle on the road and didn’t know how to bike. It was high time I changed that!

I taught myself to bike. I figured out it was pretty much like the rest of life anyway. You learn to balance, you keep going and pay attention to obstacles and eventually learn to get around them.

I bought a beautiful mountain bike, biked to office daily but eventually lost it to the notorious Berlin bike thieves.

A bike is a special companion, when you lose your way, when you’re rushing to catch a train or when you’re enjoying a long ride across the city. This was a blow!

Getting addicted to change
I decided to instantly start with something else!
Swimming! Yeah, I didn’t know how to swim. I am still learning and hopefully this summer I will be able to swim in some lakes.

Travel

This year was great for travel though. I traveled to The Netherlands, Spain, a bit more around Germany and a couple of times to India.

So it was one eventful year, memorable and good to get rid of!

Here’s to a wiser one! 🙂

Tschüs Berlin!

I have been in Berlin for the last three months, interning at 6WunderKinder. Now is the time to pack up and head back home. Mixed feelings because, I am so going to miss the colorful city and I am so excited to be back in a warmer climate.

Berlin is entering the 7 month this winter and it is still snowing! Its probably Berlin’s personal welcome for the third season of Game of thrones! Winter Game of thrones is coming!

This was my first time seeing snow, and now I’m no longer scared of the winter. Oh, I don’t mean I’ll stand guard at the Wall, c’mon!

My favourite were the long rides on the subways and buses, rushing past colorful graffiti and counting the co-passengers’ visible piercings.

Last week I took three days completely for sight seeing in Berlin with my cousin. (I give her all the credit for pushing me out of the bed on the cold mornings.)

Berlin is looks even more beautiful when it is sunny. I visited some of the museums on the museum island. The Pergamon museum was amazing.

We climbed to the top of Victoria’s column which stands in the centre of Tiergarten. It stands at the cross section of 5 roads and you stand looking at the Brandenburg Tor straight ahead.

Night time is the best for visiting the Brandenburg Tor. It looks beautiful and some artists perform on the road near it.

However, the most amazing experience I had in Berlin was when I reached the top of the Berliner Dom, successfully completing the walkway to see the whole city from the top of the cathedral. The walkway is long and walking all the way alone to reach the breath-taking scenery was a memorable experience. The bridge over spree and the super long TV tower look gorgeous from there!

Sitting by Spree sipping coffee, with local musicians playing soft music, in the evening, is one thing I wish I do before leaving Berlin.

The other is taking a ride on the bus number 100 which takes you around all the important and beautiful places in the city. Very useful for someone in the city for a short while.

I didn’t quite get addicted to Club Mate so I don’t know if I can be called a true Berliner, yet but I do feel the urge to go and satisfy the painter in me on the walls. 😛

This trip also made me more appreciative of all kinds of food. A maximum of 15 minutes of walking will bring you to restaurants of so many cuisines. The city has people from such a variety of cultures that you get to try a lot of new food here. Of course it is a drawback if you’re a vegetarian, which is the case with me.

Tschüs Berlin!

Summer internship at SlideShare: Five most memorable things

Here are the five most awesome things I fondly recall about my summer internship at SlideShare this year:

  1. I’m in!

    SlideShare had been acquired by LinkedIn only a few days back and this was visible in the office. I was introduced to the entire team, most of them wearing their LinkedIn tees.

    I was nervous on the first day but they turned out to be a totally amiable and excited bunch of people. 🙂

  2. Mentors

    I worked with the backend team. Akash, Shishir and Arpit were my team and mentors.

    First couple of days meant a lot of new words thrown at me. Shishir and Akash carefully explained how SlideShare functions as a team and how the backend of the product is laid out. Honestly, I could hardly make sense of all the things but now I realise they are some of the most important things I picked up.

    SlideShare is a bunch of about 55 people and doesn’t have a formal internship program in place. Yet, they were most prepared for the interns. The interview process was smooth and quick. A couple of detailed interviews and all was set.

    A project was discussed, planned and goals were laid out. They are very careful about understanding a student’s experience and expectations. The best thing about their mentorship is that they perfectly balance “let-her-figure-it-out-herself” and “lets-work-on-it-with-her”.

  3. Buzzwords at the lunch table, not!

    Their purpose changes all together once you have the SlideShare team together, either at the lunch table or on a Friday evening! You bring up one of the buzzwords to the lunch table and you’ll sure trigger off one of our geeks.

    You laugh here, admire each other’s food, share it may be, pull each other’s leg but don’t speak of code!The lunch table is also where they give you a warm welcome. While you’re a newcomer, they won’t spare you – not from exercises to break the build with your commit, and not from their jokes or TT matches.

    And in a week, I was  following all their nicks!

  4. DevelopHer Hackday

    LinkedIn and SlideShare often have hackdays. One that they organized together – DevelopHer, happened in the end of June.DevelopHer was a women’s hackday, running parallel in Mountain View and Delhi.

    This was my first time for 2 things: the first hackday I participated in and the first time I met so many hacker women together! :)

    My team mate, Mansi, who travelled all the way from Mumbai, brought with her an awesome hack idea. We did start a bit late but next morning we had our hack ready.

    The brainstorming, the excitement,  staying up all night, the final bug fix, the generous supply from the kitchen – it was an unforgettable experience.

  5. Eee – o – dee: The lessons I take back
  • Working in a team: I learnt how working alone on a project, remotely, and working in a team, on-site, are different. I learnt to share the progress of my project with my team. They always had great inputs to give and at the right time.
  • Communication: It is important the way you put forward your research, progress and ideas. The daily morning SCRUM was what set the day productive.
  • An LGTM: I have worked on a couple of other summer projects, but here I understood what it takes for the team to do several deployments a day – speed, testing, code quality and some serious R & D. The final ‘LGTM’ or ‘Ship it!’ on your code review is your trophy!

They are a bunch of passionate devs and designers, friendly, content and very welcoming. I left after a surprise cake and a short good bye note.

SlideShare guys: Thanks for the wonderful experience. You guys are always missed. 🙂

Presentations, the [new] Stage way!

I am currently at the Desktop Summit in Berlin. The city is awesome and it has been great walking around the cathedrals, talking boat rides and clicking lots of pictures.

I am building a new mode in Stage where a user can make animated SVGs, as my GSoC project. Today I presented my work and an animated presentation at the Desktop Summit. 🙂 Sozi‘s javascript codebase is used for the animations. A change from the typical slide shows, ‘Sozi’ is a toolkit to make animated SVG presentations.

Right now, I’m testing this work in Karbon, which has superior SVG support. This is nice because a lot of the code is shared in Calligra. Once the UI is done in Stage, I will be testing there.
This is the work I’ve done so far – for those who don’t like long posts, scroll down to a video of making a short presentation and my presentation at the DS.

Step #1
Make some SVG-related classes used in Karbon, generic.

Karbon had good SVG making tools. So, I first made these SVG specific classes generic and ported them to a new lib, ‘libsvg’.
However, later Jan Hambrecht started working on a new library for SVGs, with the aim to promote SVG support. Thats a great idea.
So for now I am using my own ‘libsvg’, but once his library is done, I will remove my library, and use his, for it will be a more generic and better one.

Step #2
Making a new shape – PresentationViewPortShape
A PresentationViewPortShape or PVPShape for short, is ‘[ ]’ (square bracket) – shaped. It is used to mark out a region on the SVG poster or canvas. The shape is a view port.
Imagine a huge poster, where the camera frame moves from one portion to another instead of the poster moving itself.

Each view port in the presentation is numbered. When the SVG, animated through Javascript is ‘played’, it displays the  elements contained in the rectangular region marked out on the canvas by the PVPShape. Zooming, transition style, transition duration, etc. can be set to define the animation for between pairs of viewports.
You can even add a viewport inside a viewport! This lets you display an idea first and then zoom in to the details of it.
The shape was a nice idea from my mentor, Thorsten Zachmann.

Step #3
Saving and loading of a PVPShape
This was simpler. I save the rectangular region marked out by the PVP as an SVG ‘rect’ and save the attributes for animation as a custom defined element, ‘calligra:frame’.
The ‘hide’ attribute of the custom element is kept to be ‘true’ always, so that only the contents of the view port are visible without the rectangle itself been drawn around it.
This gives the effect of a continuous single canvas.

Step #4
Tool Options for the PresentationViewPortShape
This is what I am trying to finish off at the moment. The tool options will let the user set the animation properties of the view port.

Future steps:
Step #5
Design an intuitive way to adjust sequence of view ports in the SVG editor, may be by inserting an arrow between 2 view ports. An arrow shape?
Using the ‘sequence’ attribute of the ‘calligra:frame’ connecting arrows will be drawn on the canvas while the user is editing the presentation in Stage.

Step #6
Integrate this tool in Stage
So far I have been testing my work in Karbon. I will now work on the UI for the new mode in Stage to make these presentations.

 

Video and presentation

The SVG presentation I displayed at the Desktop Summit can be found here. Use the left and right arrow keys, space bar or the return key to run the presentation.
(Doodling credits: Aditya Bhatt)

Here is a video of the workflow (that can be used so far) and here is the SVG made in this video.

 

GSoC project: Single canvas presentation mode in Calligra Stage

Hello Planet!

This blog post is about a new kind of presentation in Calligra Stage which I will be implementing as my project for Google Summer of Code.

The conventional style of presentation is a slideshow. But this paradigm is one in which thoughts are presented in a linear fashion. But certain presentations need the flow of thought to be shown more clearly. You would want to present your ideas in the manner that they occurred to you.

This feature will create for the user a single canvas on which he can add his ideas anywhere in the form of images or text (and videos in future?)
The user can jot down the content of the presentation on the canvas and mark out sections of the canvas as ‘frames’. The presentation will proceed from one frame to the next by spatial movements and rotations. Different zooming levels can be set for each frames: you can emphasize on a point and then zoom in to show the details.

You could even have frames within frame within frames. Think of it as zooming into a particular rectangular section of a ‘slide’ so that it fills up the screen. And then zooming inside that new section again into another section/frame. And so on and so forth. 😉

The presentation will essentially be an animated SVG and can be played in any browser that supports SVGs. The animations can be done using either SMIL (SVG’s own implementation of declarative animations) or Javascript – the js code can be embedded inside an SVG’s XML.

Sample SVG presentations:
Kevin Ottens used a single canvas SVG presentation at the KDE4.6 release party at Toulouse, France this March.
Lydia Pintscher used this SVG presentation for her talk at conf.kde.in. in March this year.
Just use the arrow keys to proceed through the presentation, for example the right arrow key to go forward and left to go one frame back in the flow.
These presentations were made using Sozi of Inkscape.
Similar presentations can be made online at Prezi; but these use flash :/
I will be adding support for animation to the SVG filter used by Karbon.
Right now, the community bonding period has started; I’m using this time to to get familiar with the community, the code base, and have started working on adding support for exporting a text shape to an SVG. This had been filed as a bug here.
A big thank-you to Thorsten Zachmann and Jean-Nicolas Artaud who are mentoring me for this project, and to the KDE community in general for the warm welcome. 🙂

Just a li’l bit of me…

Hi!

I am Aakriti, an ICT student from India and have started this blog with the idea of sharing some thoughts and talking of my love for code!
I am simple and crazy, like to live simple, laugh a lot, watch cartoons, listen to people, learn new things and code.
Keep reading for more and drop comments whenever you like.:)