Career tip: Write down what you learn each day

I started a new job a few weeks ago and one thing I’ve started to do is write down every new thing I learn each day on the job. I have a simple text file that I add to whenever I find I have to learn a new technology or engineering practice. I’m finding it has some nice benefits.

One: I’m learning a lot of new things right now. This is a good thing and writing down what I learn helps me track how much I’m learning each day. Once I slow down my learning, which will inevitably happen due to deadlines or other factors, I can re-evaluate if it’s something that’s temporary or permanent (time for a change).

Two: Writing down what I learn has led to a virtuous cycle. To maintain my learning daily pace, I’m finding that I’m seeking out things to learn. If I’m taking on a task and there’s something I don’t fully understand, I will now try to learn it more fully instead of getting by with being ignorant. It’s the old “you get what you measure.”

Three: Most practically, writing down what you learn each day will make it easier in the future when you look for a new job. When it’s time to find a new job, you have a long list of skills you’ve developed. You can turn those into appropriate bullet points for your résumé or talking points for the interview.

If you want to give this a try, just create a text file for your log. Each day, jot down the date and then when you learn something new, write one sentence describing it and move on. Don’t get into details. You just want to jot down something quick so there’s no friction to your current daily workflow. At the moment, I’m finding I’m learning about two to three new things each day in my new job. If you give this a try, let me know how it works out for you in the comments below.

Software development: How to prioritize your work

Photo by the author

tl;dr – Work on tasks that will eliminate risk and reduce unknowns first.

Software development is a complex and unpredictable activity. Because there are a lot of moving parts, big problems may not present themselves immediately. Many technical challenges often don’t come up until other supporting work is done first. Usability issues may remain unforeseen until the bulk of an app has been written. These challenges can affect the schedule of the project if not tackled early as they can cause unnecessary re-work to be done.

Many of these challenges remain unknown simply because they are needlessly prioritized behind other work. Endeavor to constantly reduce risk by finding and completing high-risk work items first.

When breaking down your work into bigger pieces, assess the risk of each piece. Figure out what has the highest risk. These are the things that you understand the least. Ask yourself how much you know about the problem space. How many assumptions are you making? Are they valid? Are there a lot of moving parts? If so, can those parts work well together?

After coming up with a risk assessment, prioritize the highest risk items first. The goal in attacking the high risk tasks first is to learn and gather more information and then adjust your schedule, your designs, and your product goals as necessary.

Likely the biggest risk most products will have is the usefulness of the product itself. Is it something people actually want? How do you know? One way startups mitigate this huge unknown is to build a prototype (with a limited feature set and with basic UI) as soon as possible. Get it in your hands and potential customers’ hands early. You’ll likely find issues right away that you couldn’t see with static design mockups.

Another big risk is architecture. How should the product be built? If you aren’t familiar with the technical space, prototype using components as soon as possible. The goal is not to come up with a pristine architecture, but to just understand the problem space and see what is even possible with the tools and components available. Find out what the tolerances of each component are. Will it be enough for your goals? If you were planning on using open source components, do you have everything you need? The worst thing you can do here is to design at too high a level with limited knowledge of the space. Don’t commit to big decisions based on missing information.

In my experience, getting an end-to-end scenario working reveals so much. Plumbing, i.e. getting data from one place to another, is one of those things that is hard to theorize about and is only really knowable by writing code. Once you get a basic end-to-end scenario that uses most of the pieces of the stack you expect (even with prototype pieces in the middle), you will find out what components you’ll need and how to difficult or easy it is to connect them together. This will reveal more than a theoretical design ever could.

High risk work has a greater impact on the success of a product than anything else. It also means it’s harder to reverse these decisions, so it’s important to get them right earlier than later. As you complete more and more high risk work, the stability of your completion date should improve. How the final product and final software design will look should stabilize as well. Don’t let high risk and difficult-to-reverse decisions be made late in the project. Get those out of the way early!

In summary, map out what you need to do to complete your project. Figure out where the big unknowns (and big risk!) are and then prioritize those items first. Prototype as necessary to help validate your hypotheses, learn, and adjust your plan as you learn more. Repeat until you are done. Good luck!

 

These thoughts come from my own work experience, but many of the ideas weren’t obvious to me until I read Lean Software Development, so please read that for a more information.

How to stop Google from tracking your clicks

Every time you search on google.com and click on one of the results, Google records that click. They’ve likely been doing this for a while, but I’ve only really started noticing it lately because their redirect servers are oftentimes slow, so you can actually see the hand-over happening.

Google is pretty clever about hiding the fact that they are recording the clicks by presenting a different URL when you hover over the a search result. Try this: do a search on google.com and hover over one of the results.

Look at the bottom of your window and see what the link’s URL is. Hey, looks okay, right? Google isn’t redirecting you to one of their servers or anything, right? Well, try clicking on the mouse, but don’t release the mouse button yet. Now look at the status bar:


(This works on Firefox. I’m not sure how it appears on other browsers.)

Aha, the browser reveals the truth. What’s happening is Google is taking you to another site to record this click, then sending you to the real site. There’s two reasons why this is annoying: 1) privacy and 2) it slows down your browsing experience. I’m not really going to discuss the privacy issues here. If you don’t mind Google tracking your clicks (perhaps because they are providing you a free service), that’s fine. However, from a pragmatic point of view, it does slow down your browsing experience.

So how do you turn it off? I’ve discovered a quick way: use Scroogle. Scroogle provides a way to do searches on Google anonymously and doesn’t track your clicks. If you are using Firefox and like to use the search field in the top-right corner of your window, you can install a Scroogle search plugin from here.

I’m going to round up some other ways of bypassing search tracking and will post them here when I get more info. In the meantime, here are some more posts about this issue from other bloggers:

How to Stop Google, Yahoo & Bing from Tracking Your Clicks
Why Google keeps your data forever, tracks you with ads
Facebook Is Tracking Your Every Move on the Web; Here’s How to Stop It

No, that YouTube survey with the free iPad is not real and you could be charged $9.99 for participating

A couple of nights ago during a late-night browsing session, I went over to youtube.com and was presented with this:

Before going forward, I should say it was a long day and I was really tired. I wasn’t thinking straight. Also, in my case, I’d swear that in the URL bar it said “youtube.com” and not what you see here.

Normally, such scammer tactics would not work on me and I’d close the window right away, but in this case it seemed legitimate (especially since the URL did say “youtube.com”). I pressed on. What’s the worst that could happen? After answering three simple questions, you are presented with this screen:

Here, greed just kicked in. I saw that they were all out of Macbook Airs and had only a few iPhones and iPads left, so I had to act fast! Somebody could be scooping up the last iPhones or iPads that YouTube was offering! Quick, let’s go with the iPad! I clicked on the iPad button and got this:

Now I must’ve been really tired because I should’ve immediately caught on that this was a scam if it required me to enter my phone number and email address. I mean, why couldn’t YouTube just use my YouTube account for this? Or maybe let me login with my gmail account? Foolishly, I entered my phone number and email address. It brought me to a page asking me for the PIN that they were about to text me on my phone. Ooh boy, here comes my free iPad!

A few seconds later, I got a text from some service called guessology.com with my PIN.

Without even thinking that this was a scam (again, I was really tired and fueled by greed), I entered the PIN. Immediately after entering my PIN, I got another text from the guessology.com “service”:

At this point I realized this must’ve been a scam since I read the text a little closer and realized there was a $9.99 per month fee. Man, did I feel like an idiot then. I just gave my email address and phone number to some scammer. I immediately texted STOP to the service and it gave me a message saying I had just unsubscribed. Good. No harm done. Hopefully.

I did some googling and found out that YES, they can and do charge you the $9.99 “service fee” even if you didn’t really consent to it. Basically, by entering the pin on the “survey” website, you are consenting to joining this fake service that just texts you bullshit. If you get as far as I did, be sure to text STOP so that they stop sending you these texts. Hopefully, at worst they will charge you $10 and you can then go to your mobile provider and try to get them to take the charges off.

I cannot believe this is legal. For at least $10 a pop, these guys must be making lots of money fooling people into entering their email address and phone number.

I did some more research and here’s some useful info on this scam:

I don’t recall what site I entered to get to this fake survey, but after some sleuthing, I found that these URLs work:

(THESE ARE FAKE)
http://youtub.com
http://youtubbe.com
http://youtubb.com
http://youtobe.com

In my case, I’d swear I went to the regular youtube.com. I have it in my history, so all I have to do is type “yout” then hit tab to complete it. I don’t know why I ended up on a fake site instead. Perhaps there was a malicious ad or something on the page that redirected me? I’ll never know for sure.