We need to talk about the state of modern software. Yes, those pieces of .exe, .dmg or .deb binaries that come with almost every device and service out there (or maybe they even come with or for your phone). I’ve been contemplating writing this for some time, but recent events around the absolute ridiculousness of the scope of the mess we have on our collective hands, coupled with a Twitter thread from 2019 making the rounds prompted me to actually get this all out of my mind and into a blog post.
I will preface this post by saying that it’s not about quantifying the education of those that already went through coding bootcamps, but is rather a point of view (i.e. opinion) for those that are considering whether they need to sign up and pay for bootcamps that will teach them how to write software. I am sure there are quite a few people who found success going down the bootcamp path, and I am extremely happy for those that found it to be their preferred approach.
I recently discussed a topic that came up through a conversation with an intern I was helping - they were not familiar with the floppy disk icon as the metaphor for “Save”, and thought that it was a box of some sorts. As in - a box in which you put in stuff to “save it”. The next logical thing was for me to sit down and put together a list of things that I will fondly remember in the world of tech, that are likely to not be missed by the next generation as technology becomes much more convenient and frictionless.
This is somewhat of an open letter that I don’t usually write, but we really need to sit down and talk with Apple about account management UX. I am generally a pretty happy Apple user - the iPhone and the Watch are great. However, there is one lingering problem that seems to elude the user experience teams, related to subscription management. In 2020, when more and more services are moving towards a subscription model (Apple Arcade included - that is now a separate tab in the App Store), managing those in one place seems like a key part of customer experience, and Apple is uniquely positioned to address this problem.
All the way back in 2013, Paul Stamatiou wrote a blog post on how he simplified his life. It’s a relatively short essay that I highly recommend everyone read. I personally find a lot of value in simplicity. It’s all about focusing your time and effort on things that matter, and reduce the friction in making decisions (which take a non-zero amount of time and mental effort). I try to make a conscientious effort in bringing the philosophy of minimalism and simplicity into everything I do, so you can use this post as an encouragement to do the same.
When things go wrong, it’s human instinct to jump to the nearest possible solution and execute. The goal is to rectify the problem as soon as possible, to ensure that it either never happens again, or the chances of it happening again are slim. This hasty response, however, more often than not leads to suboptimal solutions that merely put a band-aid on the problem and do not address the underlying root causes.
If you are a product person, you’ve probably heard this numerous times - “fail fast, fail often”. To many, this often might sound like an invitation to just ship whatever comes to mind, test it and then assume that there is some “learning” happening afterwards that is going to help one come up with a better solution to a user problem. Photo by Quino Al on Unsplash. Let’s say that we take this scenario outside the product world.
If you haven’t seen Casey Neistat’s latest video, spend a couple of minutes (NOT during the work day) doing that, even if you are not that into vlogging. I wrote on this topic last year, but this is something that I kept encountering more and more - there are so many distracting factors that one needs to get under control to truly be on top of things. Randomization is everywhere, and it’s 90% coming from your shiny screen, mostly from social apps.
I’ve always loved technology - since the first 486 computer my parents got me, to the days when I discovered Visual Basic 6 with its revolutionary ability to build graphical user interfaces by just dragging the mouse around. I was fortunate enough that my parents were able to afford the tools that planted the seed of “Maybe I can be an engineer?” in my mind. Once I moved to the United States, I was, once again, fortunate enough that I got connected early with people that helped propel my career where it is today - from online community leaders to industry professionals.
Last year I started writing down a summary of some things that I accomplished and learned in the previous 365 days. It’s a good way to put things into perspective and compile a high-level plan for what can be done differently in the coming year! It’s time to re-visit this tradition for an overview of 2018, and set some goals for 2019! Now, I am not that big into setting resolutions because one should be able to do dope stuff on a rolling basis without some arbitrary time markers, but it’s nice to have a baseline against which you can measure progress.
October marks my 3rd year of working on docs.microsoft.com - a lot has changed since we first started with the project, and I wanted to focus on one very specific aspect of our tooling and infrastructure for this essay. The topic is closely related to my personal mission: empower people to spend time in meaningful ways. At docs.microsoft.com, we push tens of thousands of lines of content daily in the API documentation space.
I’ll spare you the tacky quote that one could put at the beginning of an essay that tells you how important focus is and instead jump right to the content. I thought some time about writing this - reading Deep Work by Cal Newport pushed me to formalize my thoughts a bit more, the output being this blog post. There is two definitions to focus, each with its own direction. One is related to an inherent ability to segment one’s attention in a way that produces the best outputs.
API documentation - something that often remains an after-thought for developers purely because writing it can be cumbersome, it requires working with a bunch of different tools (often very old), and maintaining it makes developers cringe just because that means they have to come up with good examples and descriptions, and let's face it - most developers would rather focus on writing code.
Remote work is something that is near and dear to me, because, well - I am myself a remote worker. My core team is located near Seattle, I am myself located in British Columbia, Canada. While it’s not that big of a distance (only 2.5 hours of a drive, depending on border wait times), working remotely poses an interesting set of challenges and makes you re-assess your perspectives on collaboration.
I never considered myself to be someone who was that big into wearables, mainly because I always used my phone for everything. Want to send an email? Use the phone. Check the time? Use the phone. So when the Microsoft Band 2 came out, I quickly took advantage of an offer to get it. Start of a habit The life with the Band was somewhat shortlived (and today you can no longer buy it outside eBay and Amazon) but what I realized is that I got into the habit of “gamifying” my active life.
2018 is (almost) upon us and many people are making new resolutions for what they want to achieve in the new year. I wrote about some of my high-level goals as well. The one piece missing in it is the how description, and for that I decided to write this post. Just like the overview post, I want to make this a yearly tradition - a set of tips on how to maximize productivity, based on learnings from the previous year.
The end of 2017 is almost here (and by almost, I mean there are less than two weeks left), so it’s a good time to look back at the last year, see what happened, and throw some ideas for the year to come. docs.microsoft.com Experiences This year, at least for me, kicked into full-gear at docs.microsoft.com. We’ve launched the documentation platform in 2016, and 2017 brought in the solidification of the product - we’ve consolidated many content pieces, and introduced a number of completely new experiences.
The holidays are right around the corner, and what better present is there for yourself, your loved one or your best friend than a limited edition laptop sticker that shows you support efforts to make technical documentation AWESOME? Lucky you, our dear user, because you can now get an absolutely free laptop sticker that showcases the .NET API Browser and the PowerShell Module Browser. Background Photo Source: StockIO.com. So what do you have to do to get the coveted stickers?
THE new adventure This past month marked an important milestone in my life. Several milestones, at that, but all in the right order. Starting with the important ones - I FRIGGIN’ GOT MARRIED! Hands down, the happiest moment of my life! My wife Tiffany seems to be happy about that decision as well, so we’re diving head-first into the intricacies of adult life and all decisions that come with it.
This Friday I had the pleasure of being interviewed by Jason Young and Carl Schweitzer on MSDevShow, and boy did we talk about a bunch of stuff!
In light of the new year coming in, a lot of people are setting new goals for what they want to accomplish. In 2016, I set to ditch Mint and instead replace it with a spreadsheet.
Did you know that as of today, the GIF sharing and hosting site Giphy is valued at over $600M? Or that Barry Schuler (yep, the guy formerly behind America Online) believes that "…GIFs are emerging as a format that consumers love and will be really important to advertisers as well?"
This October marks a year since my switch from working on client software to working on the unified Microsoft documentation experience. Throughout the past year I had to learn a tremendous amount of absolutely new (to me, at least) things that totally changed my perception of what the importance of documentation is.
If you’ve used Instagram before, you’ve surely noticed how it handles DMs when shared from the home feed. Looks like Twitter took a hint from Instagram on how to easily share tweets between users in private.
Prompted by a Reddit thread, the question in the title seems to be a fairly common one among Computer Science undergrads as well as those that are just now starting up in the field - What programming language should I choose? Is there a possibility that I will choose the wrong one? Should I learn one or many?
It’s Sunday night and I just came back from University of Washington, where we just closed the Fall 2015 edition of DubHacks. And all I can say is that it was, hands down, the most fun and rewarding hackathon experience that I managed to be a part of.
As someone who is almost (and by almost, I mean months away) from finishing my undergraduate program and starting as a full-time Program Manager at Microsoft, I feel like the past 4 years have really been life-changing for me, both from personal and professional standpoints. It’s been a rollercoaster, and I happened to be lucky every second that I’ve been on it.
I’ve once again spent my summer in the Pacific Northwest, working as an intern for one of the top companies in the world - Microsoft. I embarked on a journey in a completely different role for me – despite the fact that I coded pretty much all my life (or, as much life as a 22-year old adult can have) and was a Software Design Engineer vendor.
This summer I got an awesome opportunity, thanks to Dan Fernandez, Jeff Sandquist, and Clint Rutkas – I worked as a vendor/intern on the Channel9 Coding4Fun team. Now, if you are not aware of what Channel9 is about, then you are totally missing out on a portal dedicated to everything Microsoft (with a focus on dev tech), so check it out.
If you are using So.Cl, you have a great opportunity to help three students: me, Wilson To, and Alex Poms, in the monumental task of writing a research paper on the social network.
Paul Betts mentioned on Twitter yesterday that he was looking for a Canada-specific offer, where developers could get free Windows Phone devices. Although I was not aware of anything like that for Canada, there sure is an offer for students in the United States.
I see this question asked a lot on StackOverflow, and today I saw another example of this phenomenon. I decided to write this blog post to simply explain why this is not possible and why you should look for another media sources to build your ringtones rather than using the existing media library.
During the ImagineCup Worldwide Finals in New York City, we – the Microsoft Student Partners Social Media Team, got to meet some exceptional people. One of those was Soma Somasegar – Senior Vice-President, Developer Division @ Microsoft.
This year I got the chance to attend the ImagineCup Worldwide Finals in New York City, where students from all over the world were presenting solutions to solve the world’s toughest problems through use of modern technology. One of the teams that particularly stood up from the crowd was Note-Taker – a group of guys from Arizona State University who built a device that helps legally blind people during their classes.
Today I got the chance to attend a couple of team project presentations and one of those was a project called MIRA – Medical Interactive Recovery Assistant, developed by team SIMPLEX from Cluj-Napoca, Romania. The purpose of the project is to facilitate a more effective recovery for people with physical injuries. I already wrote about their idea a while ago, but today I got to see the real project and it’s actions.
I am in Tulsa right now attending a Windows Phone 7 presentation. One of the highlights of this event is the possibility to see and experience an actual Windows Phone 7 device. Here are some pictures of the device in my hands: UPDATE: So I’ve been asked by quite a few people what I think about it. The device feels really nice – it is not heavy – I’d say it’s way more lightweight compared to the iPhone.
Back in the day, December 8th, 2008 I decided to join Dream.In.Code. What was the reason? Just for fun, in the first place. I wanted to see how many people I can help with programming issues, how many articles I can write and how many pieces of reusable code I could submit.
For my latest project, WeatherBar, I had to pick a weather API. Basically, I needed to get the weather conditions for a specific location, as well as a short forecast. The choices I had were Yahoo Weather API, WeatherBug API and Google Weather API (yes,there is no mistake here – it is a direct API call, since Google doesn’t have an official page for this API). Probably there are more services offering a public weather API out there, but these caught my attention.
Today, I am excited to show you my new blog. I finally got my hands on a custom WordPress setup (the free one was way too limited for me at this point), so I am happy I can add so many interesting features. What is this blog going to be about? Well, it will mostly be about software development (as well as software in general) and some of my interests (especially technology).