Thursday, June 23, 2016

My 40 minute conversation with a "Microsoft" scammer

We've all heard about the "Microsoft" scammers for a long time now, they pretend they're calling from Microsoft support in order to scam you and make you pay for support you don't actually need. I've had several relatives and friends who have received calls from these scammers, but I've yet to receive one myself. Until today.

Before I tell you this story, I'd like to point out that you should not try this yourself unless you are absolutely confident that you know what you're doing. If you get this call, hang up. And don't ever run any commands that you do not know the consequences of.

Him: "Hello, I'm calling from the IT services and support department"
Me: "Excuse me, what department?"
Him: "The IT services and support department"

I have an active support ticket with the actual Microsoft support department, so I was a bit confused at this point as to whether this was a scam or the real deal.

Me: "What company are you calling from?"
Him: "I told you, the IT services and support department"
Me: "Yes, but which company is that department in?"
Him: "Microsoft Corperation"

Every time he said Microsoft throughout our conversation, he said it extremely fast and he mumbled the words. My guess is they're aware that the scam has been all over the media and that people know Microsoft is being used

Me: "Alright. What is this about?"
Him: "We have reports showing that your computer downloads malware whenever you go on the internet."
Me: "Oh, that doesn't sound good. How does that work?"
Him: "Whenever you go on the internet, on a web page, watch a video or pictures, malware is downloaded to your computer."
Me: "I had no idea. How does that happen?"
Him: "Don't worry, I will help you fix it. Are you in front of your computer?"
Me: "Yes"
Him: "What do you see?"
Me: "Uh, what do I see?"
Him: "On your screen"
Me: "I see a webpage"
Him: "Ok, please go to the desktop"
Me: "Alright"

I'm not going to type out all his spelling and my confirmations of doing what he said. Basically he asked me to open Run and type in 'eventvwr'. You guessed it, opening the Event Viewer. Pretty innocent so far.

Him: "What do you see?"
Me: "I see a window called Event Viewer. What is that?"
Him: "What does it say on the left hand side?"
Me: "Uh, it says 'Custom views', 'Windows logs', 'App...."
Him: "Click on 'Custom views' and then on 'Administrative events'
Me: "Done."
Him: "What do you see?"
Me: "I see lots of things, I have no idea what all of this is."
Him: "But what do you see?"
Me: "I don't know, are you sure about this?"
Him: "Are you below the age of 18, madam?"
Me: "No, why?"
Him: "Are you sure? You don't sound like you're an adult"
Me: "I'm an adult"
Him: "Are you sure? How old are you?"
Me: "I'm 29"
Him: "Are you on your personal computer?"
Me: "No, this is my work computer"
Him: "The problem is with your personal computer, can you get that please?"
Me: "Ok, hold on..."

I act as though I'm starting up my personal laptop, but what I'm actually doing is trying to get the recording on my laptop to work (I just got it, so I haven't set anything up yet). Unfortunately, he keeps asking what I'm doing and why I'm taking so long and I wasn't able to get a recording to work.

Me: "Ok, it's up. Should I open the event viewer again?"
Him: "Yes. Whenever you go on the internet, malware is downloaded and installed on your computer, and we're here to fix it. Now what do you see?"
Me: "Oh, I'm seeing lots and lots of errors and warnings. That can't be good?"
Him: "How many do you see? More than 10?"
Me: "Yes, there are thousands."
Him: "What do they say?"
Me: "I don't know, I don't understand what this is"
Him: "Read them to me"

I was scared of giving myself away at this point, so I tried to find the most meaningless warnings I could. I didn't want him to realize that I was on a computer that was part of a domain or that I was a developer.

Me: "There's something about not being able to connect to a service or something? Is that bad?"
Him: "Yes. Right-click the warning and go to 'Help'"
Me: "Done"
Him: "See the 'Online Help' option that's there?"
Me: "Yes"
Him: "That's what we're going to do. I'm the online help"
Me: "Oh, that's perfect"

Here's a screenshot of what I was seeing at that moment:

Him: "Now, close that window and hit Windows+r again. What do you see?"
Me: "Ok... I see the 'Run' window again"
Him: "Good. This time type in and hit enter"
Me: "Ok"
Him: "What do you see?"

I didn't actually want to go to this website as it might be unsafe, so from here on I was faking the entire conversation.

Me: "It's a website"
Him: "What sort of website? Can you explain what you're seeing?"
Me: "Uh... It's a support website?"

(Wild guess based on the URL he'd asked me to go to)

Him: "Good. Now, Microsoft gave you a six digit code when you bought your computer, do you have that code?"
Me: "A code? No, I don't have any code?"
Him: "Ok, I'll give you the secret code that Microsoft gave you when you bought your computer."
Me: "How do you know my code?"
Him: "You are connected to the Microsoft server, that's how I know your code"
Me: "Oh, ok."
Him: "Enter the code and click on download. Then click open or run."
Me: "Hold on a second"

Here I took some time to tweet a bit and before long he got impatient.

Him: "Can you tell me what's going on?"
Me: "It's downloading. I think there's something wrong with my internet...."
Him: "What do you see?"
Me: "Still downloading...

Or should I say, tweeting?

Me: "Ah, there. It's done. I pressed run"
Him: "What do you see?"

At this point, I'm pretty screwed as I have no idea what he thinks I just downloaded. Does it open a command window? Is it an application? I had no idea. But I wanted to try to fake it a bit longer.

Me: "It opened a new window"
Him: "What kind of window?"
Me: "What do you mean? I've never seen this before? Are you sure about this?"
Him: "Yes, just click next'
Me: "Ok"
Him: "Now what do you see?"
Me: "It went to the next step"
Him: "And what do you see?"

I simply couldn't fake it anymore. I had no idea what he expected me to say.

Me: "Alright, I think it's time to stop the scam now."
Him: "Yes, you have been scamming me this entire call, wasting my time, only talking bullshit. I knew it all along."
Me: "What? I've been scamming you? No, I've been doing exactly as you said but I don't have a good feeling about this anymore"
Him: "Well, I knew that you were scamming me from the second we started this call, so I entered a secret password into your computer. When you turn off your computer the next time, everything you have, all your pictures and videos and documents will lock down and you will need my secret password to open them up again."
Me: "Right, like I'm going to fall for that."
Him: "Don't you want your computer back? You can either do as I say and have a big smile when this conversation is over, or you can lose everything. You lose your computer."
Me: "Ok, ok. I don't want to lose my computer! Tell me what to do"
Him: "What do you see?"
Me: "I told you, that program you asked me to open"
Him: "Do you see the Microsoft Corperation box"
Me: "Yes"
Him: "Select that"
Me: "Ok"
Him: "Hold on a second"

He disappears, talking to one of his colleagues in the background.

Him: "We can't connect to your computer. Have you selected the Microsoft Corperation box?"
Me: "Yes"
Him: "Are you sure?"

I couldn't keep it up any longer...

Me: "Are you're working for Microsoft? You know, I actually work for Microsoft myself"
Him: "That's bullshit"
Me: "No, I'm serious. I work at Microsoft"
Him: "What department?"
Me: "Developer Experience"
Him: "I don't believe you, you are full of shit. What's your employee number?"
Me: "You think I'm handing my employee number over to a scammer?"
Him: "I am going to put my d*** in your a**"
Me: "Hey, that's not very compliant, seeing as we're colleagues and all"

I'm censoring the next two minutes of our conversation as that consisted of him yelling at me like I've never been yelled at before. There's no need to recite that, the initial comment above gives you an idea of the direction he was headed in.

And then he hung up.

My hands were literally shaking after this, I was furious and to be honest: a bit scared. I spent a minute trying to get a recording going and decided to call him back. Of course, he'd called from a one-way number so there was no answer.

What scared me the most about this experience was how far they're willing to go to get you to do what they want. They begin by being 'helpful', follow up by making threats and finish by scaring the hell out of you. I've never understood how elderly people fall for scams like this, not until now. I always assumed they were technically incompetent and naive, but now I've realized that maybe they were frightened into it.

After writing this blog post, I provisioned a VM in Azure to see what the website they wanted me to go to was. It turns out that it's a legit company called "LogMeIn Rescue", that delivers remote assistance to users. I hope they know their services are being used for scams. If not, I just told them on Twitter...

Lessons learned:
- Being scammed is a lot scarier than I had imagined
- I should always have a recorder installed. Yes, I'm prepared for next time now!
- Learn from Troy Hunt to scam the scammer

Wednesday, May 4, 2016

Would you hire a pregnant woman? Microsoft did.

Would you hire a pregnant woman who was planning on taking nine months of maternity leave after the birth of her baby?
My guess is: Probably not. 
There's no denying it: Women are still discrimitated against in the workforce. As a woman working in an industry where women and other minorities are underrepresented, I've felt the unfairness that such an off-balance environment can create. Still, I'm lucky. Being a woman in tech, I've had more positive experiences than negative ones, and that encourages me to keep speaking my mind although some might find it controversial. But this blog post is not meant to focus on the negative, because there are so many stories out there highlighting the issues we have in our industry. This blog post is meant to do the opposite: I'd like to tell the story of how Microsoft employed a pregnant woman who was planning on taking nine months of maternity leave after the birth of her baby. 

Let's start from the beginning... 
I approached the CTO of Microsoft Norway a couple of years ago, telling him I was interested in a certain position at the company. The position I wanted was not available at the time, but I was in no rush to make a career change. I simply wanted him to know that when the time came and the position became available, I wanted him to think of me. 
A year went by, and I received an email: "Still interested?". Two positions were opening up: The one I had wanted and a similar one that they thought might be an even better fit for me. I was thrilled. And to be honest, quite disappointed. I was 4 months pregnant and my first thought was: There's no way they'll hire me now. Because not only was I pregnant, I was also planning on taking nine months of maternity leave. Which in effect meant them having an unmanned position for over a year. 
There are plenty of laws against pregnancy discrimination, both in Norway and the U.S. Despite this, we keep hearing stories in the news about employers who manage to get around these laws by coming up with other reasons for not employing pregnant women: They found someone who was more qualified, or they were not the right fit for the job. Some of these cases go to trial, others are never reported.
I replied to the email I had received, confirming that I was very interested. I also informed them of my pregnancy and my planned maternity leave. In Norway, 9 months of maternity leave is completely normal so I wasn't expecting any big surprises there, but I still had a feeling that keeping a position unmanned for a year could be troublesome. I mean, the position is there for a reason, if they could do without it the position wouldn't have existed in the first place.
After a couple of rounds of interviewing and personality testing, Microsoft presented me with an offer and I signed. This was in May 2015 and I had my first day with the company one month ago.

Diversity and inclusion at Microsoft
Since I've joined Microsoft, I've come to realize just how big of a focus diversity and inclusion is in this organization. Kathleen Hogan, the Executive Vice President of HR recently published a blog post on "Ensuring equal pay for equal work", an initiative started to ensure equal pay, not only for women, but also for racial and ethnic minorities. For womans day, Microsoft lauched the #MakeWhatsNext campaign to celebrate women inventors and inspire the next generation to make what's next. Last but not least: diversity and inclusion is not a finite goal, it's something that needs constant work and maintenance. Therefore, Microsoft has a Global Diversity and Inclusion network that offers mentoring, organizes event and ensures that diversity and inclusion will always be on the agenda.
These are some of the many reasons why I decided to join Microsoft and although I had my doubts as to whether they would hire a pregnant woman with nine months of maternity leave planned, I haven't had a single regret so far. If you'd like to know how my first two weeks were, I wrote about my first impressions in this post.
Now I'd like to ask you: Would you hire a pregnant woman?
Microsoft did.

Wednesday, April 20, 2016

My first two weeks at Microsoft

Two weeks ago, I started working at Microsoft as an ALM Solution Specialist (also called DevTools Sales Solution Professional) in the Developer Experience team. I'll get back to what that actually means in a bit, but for now I'd like to leave you as clueless as I was before I started this job.
I knew what my job would be, of course. Well... Kind of. I'll try to rephrase that: I knew what my responsibilities would be and what my purpose at Microsoft would be. However, I had no idea how I would achieve all those things I'd be in charge of. To some extent, I still don't know and I've heard that's what it'll be like for the first 6-8 months of working there. 
Because Microsoft is a very confusing place to start working at. You are overloaded with information from so many sources you have no idea which ones will be of use to you later on. You receive about a trillion e-mails a day, and everyone you meet seems to have forgotten their entire vocabulary except for the first letter in each word. I started talking to a guy in the elevator today asking him what his job was. His reply? "I'm an ATS in EPG"... And I'm like: "You know the YMCA?" Nah, I didn't actually say that, but now I wish I had.
The good news is that you are supplied with a map that guides you through the jungle of information, showing you where the treasures are hidden. I've attended mandatory on-premise and online "onboarding sessions", where all the new employees get together, ask for help and receive all the support they need. I've been assigned two mentors, one higher up in the organization who can guide me on my career path, and one who has the same position as me in another country. There's required training you have to do on everything from "What is Microsoft" to "Legal affairs" and Sales. Last, but not least (and this was a huge surprise to me as I've always mistakingly thought Microsoft would be a very competitive environment), everyone you meet is delighted to help. Because the truth is: If you succeed, you are contributing to the success of a lot of other people as well.

So, you're saying Microsoft doesn't have a competitive environment?
I'm saying it doesn't have an unhealthy competitive environment. Of course, everyone is very focused on making their scorecards green, but that doesn't prevent collaboration. Your colleagues have your back and they support you, even if you've only ever talked to them in an e-mail. One of the realizations I've had is that Microsoft is such a huge organization that someone always knows the answer you're searching for. I don't know how many "Hi, I believe you and I can make great use of each other, want to grab a coffee?" emails I've sent these past weeks, but so far every receipient has been positive and able to help me on my quest to find the correct answer. The excitement of working with so many brilliant minds is quite overwhelming! 

What do you do then?
As mentioned earlier, I'm an ALM Solution Specialist which is also called a DevTools Sales Solution Professional. I can't believe "Sales" is now a part of my title, but yes it is. 
What this means is that I'm in charge of developer tools in Norway. Think Visual Studio, VS Code, Visual Studio Team Services and TFS. My job is to demonstrate these tools to developers, making them want to use them, and to convince their managers that buying licenses for these tools will be worth their while. I will advice developers on how they can improve their development process by taking advantage of continous integration, automated testing and release management. I will present at conferences and user groups, and cooperate with our partners to educate developers about their possibilities when using these tools. And I will become a licencing expert.
I currently spend a lot of my time preparing demos and presentations. I have four different presentations coming up in May: 
1) News, updates and our favorite features in Visual Studio
2) Building a Java app with Maven in Visual Studio Team Services and deploying it to Azure
3) Creating OSS applications in Visual Studio Code and deploying them to Azure
4) The agile testing capabilities in Visual Studio Team Services
Is this cool, or what? 
I've heard all about Microsoft being open and focusing on all languages on all platforms. You know the drill. I never really understood the extent of it all before I joined the company though. So far, I've focused more on OSS development than anything .NET specific and the support all these tools have for non-.NET developers is simply awesome.

What has your biggest challenge been so far? 
My biggest challenge is to stop thinking like a consultant. I've been a consultant for my entire career, and there's no doubt consultants are always keeping count of their billable hours and how much they've billed so far this week. The consequence of thinking this way for so many years is that I feel stressed whenever I feel like I'm not "billing". For example, I was asked to attend an event we had last week, which was basically a meet and greet with a bunch of customers. Suddenly I found myself feeling stressed because having great conversations about tech made me feel guilty for not "billing" and I had to tell myself over and over again that this in fact is my job now. I've talking to others who have had the same experience as they left the world of consulting and I suspect the feeling will pass eventually. 

Are you happy with your new career move?
Are you kidding?! I get to talk about and play with the newest pieces of technology all day, while at the same time seeing the industry for a completely different angle. I'm used to viewing the IT industry through the eyes of a developer, but now I have to view it from two angles at once: Through the eyes of a developer and also from a business perspective. The business perspective is a completely new area for me, so I'm have a very steep learning curve ahead of me. But that's exactly what I wanted, so I couldn't be happier.
I haven't said anything about how I got this job, but that story is so good I'm saving it for later. You will get a sneak peek of it next week on The Developers Life podcast, but I'm saving the full story for a blog post when I'm ready to give it all the oompf that it deserves. Let me know if you have any questions because there are about a thousand things I haven't mentioned at all yet! 

Thursday, March 31, 2016

Resources for increasing diversity at tech conferences

After blogging about diversity at NDC Oslo 2016 yesterday, I've received many great resources I feel I should share with all of you. I believe these resources will help us improve even further the next time around and I'm hoping they'll make it easier for you to reach your diversity goals as well.

Let's start out by an absolutely amazing blog post called Increasing diversity at your conference by @ashedryden, which focuses on the entire selection process and the conference marketing, and it includes an impressive list of useful resources you should dig into. Thanks for sharing this with me, @ChrisAnnODell!

It's becoming more and more popular to anonymize the selection process in order to avoid unconscious bias. Many have blogged about how they do this and I really recommend looking at the posts written by CSSConf EU and JSConf EU. Another conference that did this was DjangoCon Europe, and 54% of their speakers are women!

CallbackWomen work hard to increase diversity at programming conferences, and they are doing a great job following their mission and helping organizers get in touch with female speakers. Their website contains plenty of useful resources you should check out and they use their Twitter feed to inform minority speakers about open Call for Papers at conferences all over the world.

I want to wrap up this blog post with showing off the many Tech Women Keynoting at Tech Conferences. So don't despair, even if you're having difficulties reaching them, they do exist!

Do you have any resources you want to share? Please leave a comment, and I'll add them to my list.

Wednesday, March 30, 2016

Diversity at NDC Oslo 2016

In light of the diversity discussion around the Agilia Conference (which I won't care to mention any further as the organizers are making asses of themselves), someone mentioned that the ratio of female speakers at NDC Oslo 2016 is no better. And sadly, it's not.

I've complained about the (lack of) female speakers at NDC Oslo for the last couple of years, so this year, instead of just complaining, I wanted to do something about it. I send the organizers the following email:

"To support the focus on women in IT, I believe all conferences should do everything they can to get at least one women onboard their agenda committee. By doing this, they are positive that the diversity aspect will be taken care of (to some extent). If you agree and would like a woman to contribute, I volunteer.

Please think about it and get back to me"

Pretty naive, don't you think? The belief that bringing a woman on board the agenda committee will magically make more female speakers show up? Right.

Well, I was accepted onto the committee and we had a blast. Before our agenda meeting, I had calculated the percentage of female speakers in 2015, which was 7%. My goal was to bring this percentage up to around 15%. In Sweden, most conferences are able to reach 20%, they have a black belt in attracting women and we'd all like to learn a thing or two from them. But I thought 15% would be doable in our case.

We started out by pre-booking speakers, and all the speakers I suggested (except two) were women. Some did not have a good enough track record to get a vote from the rest of the committee ("I've heard she's alright" just doesn't cut it), and some were invited. Sadly, many of them were already booked or busy... We did this in February, the conference is in June. So, first lesson learnt:

When pre-booking speakers, start early!

We spoke about diversity throughout the selection process, without accepting every single woman and minority speaker, because accepting them only because of their demographics would be wrong as well. Looking at the submitted papers, I was stunned though. I've always blamed the organizers of conferences for not attracting enough female speakers, but now that I was on the "inside", I saw that we (read: women) need to push it to the next level! Because there simply were not enough submissions from women. Second lesson learned:

As a female speaker, encourage more women to speak up! Don't simply tell them to submit, offer to help with writing abstracts and mentoring them. And then follow up, make sure they actually submit. 

After we had selected the right amout of talks, I counted the number of female speakers. We were at about 12%, two tracks not included as those were in the hands of someone else. So we didn't reach my goal of 15%, but we did quite a lot better than last year. Of course, including the two other tracks we're down to just below 8% again...

On the bright side, we did one thing I think is really cool. The pre-party speaker is a woman who originally submitted a regular talk. We found her so interesting though, that we decided to ask her to do the pre-party session instead. Third lesson learned:

If a really awesome woman shows up, don't be afraid to ask her to do multiple talks, a keynote or a pre-party talk. 

All in all, I wish there were more women on the agenda but given our prerequisites and the short amount of time we had, we tried our best. Next time, we'll try even harder! And at some point, we'll have figured out what the Swedes are doing right and we'll reach 20%.

Monday, March 14, 2016

Upskilling your upskilling skills. Part 4: The Goal

Working in an industry that is moving at the speed of light requires a lot from us. We need to stay updated on current technology, while at the same time foreseeing what the next big thing will be and making sure we learn what is needed to join the fun. Not an easy task when you have a full time job, a family and a social life.

I've spent the past three years fine tuning my upskilling skills, figuring out which ways of learning suit me best, looking at the available tools out there and creating a schedule and a set of goals that will fit my daily routine. In this blog series, I want to share my thoughts and findings with you, hoping you'll become as addicted to learning as I am.

The ultimate goal
Continously setting yourself goals throughout your learning experience and altering them as you move along is how you keep track of your progress. What your ultimate goal is, that's up to you. Maybe you want to land a new job or become unstoppable at the pub quiz? My goal has always been to maintain happiness through accomplishments. Ever since I was a child, I've had an urge to learn new things. If I don't develop and challenge myself, I become unhappy. I pretty much become a real pain in the arse if I don't upskill, so my ultimate goal is to keep myself (and those around me) satisfied.

You might not have one almighty goal for your upskilling, but you should have separate goals for each topic you dig into. Knowing why you want to learn something helps you determine when you've learnt enough and are ready to move on to a new topic. 

When can you move on?
When have you learned enough about a topic to move onto another one? This is a difficult question to answer as you could keep going forever and ever, ultimately becoming the expert in the topic you're covering. But most of us don't want or need that. Most of us wants to go from the beginners to the intermediate level, so that you know all the basics and the outline of the more advanced topics.

When I first began upskilling, I thought it would be hard to know when to consider myself finished with a topic. I was surprised to realize it all came quite naturally though. Imagine you're eating a meal, and after a while you can feel yourself becoming full. I feel the same sensation when upskilling. After focusing on a topic for a while, I feel full. I reach a point where I know that focusing further on the topic wouldn't leave me with anything extra. I've learnt enough to reach my goal and I'm not hungry for more. There are times I'm not quite sure though, and that's when I put my newly gained knowledge up to the ultimate test: Can you teach it to someone else?

The responsibility of learning
In my opinion, upskilling is not just a matter of improving yourself. It's also a matter of helping those around you improve by spreading your knowledge and the motivation you gain from it. And let's face it, there's no better way of learning something or proving that you've learned something, than teaching that topic to someone else.

You can start by casualy telling a friend about the topic over dinner: "I read something really interesting the other day...". You don't have to reveal that you've spent weeks learning about this topic, simply bring it up as if it's something you've come across in a newspaper. Are you able to outline the basics in a way that your friend easily understands? Are there parts you're unsure of? If so, make a mental note of it so you can look into that later on. Also make a note of your friends reaction, are you able to portray why this topic is so interesting? Do they seem intrigued or are they just waiting for you to change the subject?

You can repeat this exercise with more friends, preferably adding more and more as you go along. After a while, when you're able to discuss this topic with a group of friends and spark their interest, you know that you've most likely moved past the beginners level. If you're up to it, this is where you can go big! Can you present this topic as a talk to your colleagues? Or at a local meetup or a conference? Can you write a blog post about it?

Reaching the level where you are able to teach it so someone else is usually where the fun begins, in my opinion. Suddenly your boss is willing to let you spend time upskilling at work, because she knows that it's an investment not only for you, but for the whole team. You become a learning asset, someone your colleagues will go to for help because they know you're alway eager to share what you know. This is ultimately how you find motivation and inspiration through knowledge: You share it with others.

Wrapping it up
Setting yourself goals while upskilling is important as you'll be able to track your progress and determine when you're ready to move on to a different topic. Teaching someone else what you've learnt is often a great way of seeing how much you actually know, and this way you're also living up to the responsibility of learning. You're spreading your knowledge and inspiring other along the way.

I hope you've enjoyed reading this blog series as much as I have enjoyed writing it. I'm grateful for all the feedback I've received, please get in touch if you want to share your upskilling tips! 

Monday, March 7, 2016

Upskilling your upskilling skills. Part 3: The Schedule

Working in an industry that is moving at the speed of light requires a lot from us. We need to stay updated on current technology, while at the same time foreseeing what the next big thing will be and making sure we learn what is needed to join the fun. Not an easy task when you have a full time job, a family and a social life.

I've spent the past three years fine tuning my upskilling skills, figuring out which ways of learning suit me best, looking at the available tools out there and creating a schedule and a set of goals that will fit my daily routine. In this blog series, I want to share my thoughts and findings with you, hoping you'll become as addicted to learning as I am.

Upskilling should be voluntary
Many believe that upskilling is all about becoming better at what you do and to some extent that is true, but upskilling is also about a lot more than that. It's about finding motivation and inspiration through knowledge, and letting that knowledge motivate you even futher. This will only be possible if you're able to create a schedule that fits your daily routine and doesn't make your life off-balance.

Done incorrectly, upskilling will drain your energy and leave you gutted with guilt for not getting things done. However, if you're able to upskill correctly, it will boost your energy and leave you wanting more. For this to be possible, upskilling has to be voluntary. Don't do it because your boss tells you to or because your colleague is doing it, do it because you genuinly want to learn and improve. 

How on earth do I fit one more thing into my schedule?
Being a mother with two children, two dogs, a full time job, voluntary work, and a social life, I know all about the difficulties of keeping a household on track while delivering your best at work and spending time with those you love. Exhaustion can sometimes be an understatement.

So how do I make time for upskilling? I don't. I don't make time, I spend the time I usually waste on nothing.

Think about how much time you waste every day. Those 15 aimless minutes of surfing while eating breakfast, 20 minutes on the bus on your way to the office, 10 minutes waiting for your kids when you pick them up from some after school activity, 15 minutes sitting outside their bedroom door trying to get them to go to sleep. That's an hour of "wasted" time every day. That's an hour you could spend on upskilling. And it doesn't have to be as much as an hour a day. You can spend 10 minutes a day and still achieve a lot, as long as the time you spend fits into your daily routine. 

Don't overdo it
These days, it sometimes feels like everyone is overachieving, giving 110% of their effort all the time. They're running from one project to another, from one meeting to the next, bragging about everything they got done, complain about the things they didn't. The good thing is: That won't work when it comes to upskilling.

Overachieving when upskilling will leave you learning A LOT the first couple of weeks or months, and then the learning experience will end completely as you won't be able to stay motivated when pushing yourself too hard for extended periods of time. A great learning experience should leave you wanting more and you should look forward to picking up where you left off. That is only possible if you know your limitations and take things slowly.

When the schedule falls apart
I've had times when I've overdone upskilling. Suddenly it feels like a chore, something that has to be done, not something I want to do. When this happens, I take a step back and I take a break for a week or two. I hit the pause button, and I alter my own expectations before I pick up where I left of.

At some point your schedule will fall apart. The entire family gets the flu, you have an important due date coming up at work, your extended family needs you to be there for them. When this happens, you hit the pause button on upskilling. And you don't feel bad about it. Your hear that? Don't beat yourself up for not being able to upskill as much as you'd like. Because life happens and you should let it. Hit pause on upskilling and when you're ready, you can keep on going. Hopefully, with new energy and motivation. 

Wrapping it up
Upskilling is not something you make time for, instead you spend the time you're currently wasting on unimportant things. As upskilling should be voluntary, it's up to you to decide how much time you'd like to spend without having to alter your daily routine too much. Knowing your limitations is key to succeeding, and if you're able to do that, upskilling will give you motivation and inspiration to keep on going. 

Tuesday, March 1, 2016

On the inside of the NDC Oslo agenda committee

How many developers do you need to create the NDC Oslo agenda? 
You need 7 developers locked in a room for ~22 hours, spread across 2 days (yes, we needed to sleep). 
We started out with ~800 abstracts, which meant we had to cut approximately 9 out of 10 abstracts. Yikes! Armed with lots and lots of strange, British sweets (thanks, Liam) and coffee, we started out highly motivated and ready to make some difficult decisions. It turns out, round one does not include that many hard decisions. 
Round one consists of reading all the abstracts (yes, all ~800 of them...) and vote as we go along. If most or all of the committe say yes, or if a couple of committe members really want to fight for this abstract, it's put on "the wall". "The wall" is a large empty wall that slowly fills up with abstracts placed into columns based on categories. Apparently, we're not that good at creating categories as our wall ended up looking like this: 

So far, so good right? Except when you realize you've been at it for 8 hours straight and you still have 502 abstracts left to read. Ouch. That's when you start to work faster, become A LOT more critical and Niall becomes bossy (in a good way, of course).
Four more hours, and we're back on track again: 

The second day was round two. It was spent tearing abstracts off the wall, and this is where is started to get difficult. Not only do 7 developers have to agree, but you need to find the right balance between the different categories. Not too many overlapping subjects, not too many talks by the same speaker, not too many VB talks (kidding...). And then you need to make sure you include the right amount of new speakers, female speakers, funny speakers, known speakers etc.

So what have I learned from all this? I've learned never again to be disappointed if I don't get accepted to speak at a conference. Being cut does not mean that your abstract sucks and it certainly does not mean that you're not a good enough speaker! It's simply bad luck.

Creating an agenda for a large conference such as NDC is hard work. Imagine you're given access to the greatest minds in the industry and you're told to build a robot. The possibilities are endless, and while we ended up with a robot we're extremely proud of, someone else might have created a completely different robot using the same tools.

The agenda is to be released today. So don't be bummed if you're not accepted, instead you should submit your abstract to several more conferences and your luck will come.

I'm very grateful for being allowed in on the committee (I kind of invited myself), and I'd like to thank Programutvikling for making this awesome conference come alive. I'd also like to thank the rest of the agenda committe for making 2 days stuck in a room with 6 guys such an enjoyable experience!

Monday, February 29, 2016

Upskilling your upskilling skills. Part 2: The Tools

Working in an industry that is moving at the speed of light requires a lot from us. We need to stay updated on current technology, while at the same time foreseeing what the next big thing will be and making sure we learn what is needed to join the fun. Not an easy task when you have a full time job, a family and a social life.

I've spent the past three years fine tuning my upskilling skills, figuring out which ways of learning suit me best, looking at the available tools out there and creating a schedule and a set of goals that will fit my daily routine. In this blog series, I want to share my thoughts and findings with you, hoping you'll become as addicted to learning as I am.

The list of availabe tools is endless
When expanding their skillset, a lot of people automatically resort to reading books because that is primarily how we were taught to gain knowledge in school. We were taught that books were the magic gateway to knowledge heaven. And they are, but there are so many other options to consider as well.

Let's take a look at the different types of tools available:

Classroom training
If you're looking for longterm training that will give you a certificate when completed, checkout the classes available at your local university. If you're interested in shorter and more intense classroom training, take a look at the professional training providers in your area. They often host one-week training sessions with the best teachers available.

Online training
If you'd rather learn from the comfort of your own home or on the bus on your way to work, online training is the way to go. The number of online training providers has exploded the last couple of years, but I'd like to give you an overview of my favorites:

Pluralsight: When it comes to tech training, there's no one better than Pluralsight. You are taught by the industry's leading experts in a format that allows you to follow the courses at your own pace. Price: $29 per month

Coursera: Partnering with universities worldwide, Coursera gives you access to just about any topic there is. Some courses are on-demand, but most of them have a start date and a schedule you have to follow in order to get a certificate. Price: Free, get a certificate for about $50.

edX: Quite similar to Coursera, but the edX courses mainly focus on science. Price: Free, get a certificate for about $50.

Udemy: Allows anyone to create a course covering the topics of their choice. Price: $0 - $300

Udacity: Together with industry giants such as Google, Facebook, Salesforce, AT&T etc., Udacity provides "nanodegree programs" focusing on the skills these companies are interested in from their employees. Price: $200 per month

Codecademy: Teaching the world to code interactively. Price: Free.

Duolingo: A gamified way of learning languages. Price: Free

As I mentioned earlier in this blog post, books are often the first tool that comes to mind when you want to learn something new. One thing that's important to remember though, is that there are several ways of reading a book. You can read the entire book from beginning to end, you can read only the bits that are relevant to you or you can read the book as a technical reviewer, contributing to the book while you are learning. As a technical reviewer your job is to verify that the examples work, state you opinions about the order of the subjects that are being covered, and letting the author know if there are parts that are unclear or missing. You don't get paid as a technical reviewer, but some of the publishers include your bio in the book. For more information on doing technical reviews, check out The Pragmatic Bookshelf and Packt Publishing.

Tools for personal development
When it comes to topics in the personal development category, it might be a bit difficult to find efficient tools. As an example, consider my own goal a couple of years ago of learning how to say "no" to possible opportunities. I'm sure there are books out there on this subject, but I have to admit I'm a bit sceptical of the typical self help books so I wanted to find a different way of learning this.

I found that I learned a lot simply by discussing the subject with my colleagues or with other developers on Twitter. We shared our experiences and motivated each other to say "no" the next time one of us got that nagging feeling of not really wanting to do something. And it worked like a charm, today I have no difficulties with saying "no".

Remember that these tools are available during your learning experience:

Your personal and professional network
Discuss topics and ideas with your friends and coworkers, learning and receiving motivation from each other.

You don't always have the time or energy to read a book, how about reading a quick blog post then? Or how about writing a blog post yourself? There's no more effective way of learning then teaching someone else.

Learn while doing something completely different at the same time. You can listen to podcasts during your workout or while making dinner. Perfect for those days where there's no time to sit down and concentrate.

Following your rolemodels
Keep an eye on what your role models are doing. Read their blogs and books, follow them on social media, listen to interviews they are doing. They are guaranteed to share some of their expert tips with their followers, and you will find motivation along the way.

Variation is important
In the first part of this blog series, I explained how I select three topics I want to learn more about. A part of this selection process is to consider which tools are appropriate for the topics in question. If you're interested in philosophy, books are most likely the best tool available whereas if you want to learn programming, you should look at more interactive tools such as online training providers. Finding the right tool for the job is important as it will speed up your learning process and motivate you along the way.

When you select your three topics, it's extremely important that you select topics that require different tools. Don't select three topics that all require you to read a book, or that all require you to follow an intense online training session. Doing this will kill your motivation faster than you can imagine. You should ensure that your topics come with three different tools. I often find myself doing an online course for my first topic, while reading a book for my second topic, and following my rolemodels for my third topic. That way, I can always find the time and motivation to upskill, no matter what situation I'm in. If I have 10 minutes at hand, I know there's no point in sitting down watching an online course so I'll read a couple of blog posts instead. Suddenly you have no excuses to not upskill.

Wrapping it up
The list of available tools for gaining new knowledge is endless. I've listed my favorites in this blog post, and with a bit of research you'll quickly come across tools that are a perfect fit for you. Now that we've selected our three topics to focus on, ensuring they all come with different tools, it's time to take a look at how you can make time in your busy schedule to upskill. More about that next week, in part 3 of this blog series.

I'm always looking for new tools to try out and I'd love to hear your opinion! What are your favorite tools for upskilling?

Friday, February 19, 2016

Upskilling your upskilling skills. Part 1: The Topics

Working in an industry that is moving at the speed of light requires a lot from us. We need to stay updated on current technology, while at the same time foreseeing what the next big thing will be and making sure we learn what is needed to join the fun. Not an easy task when you have a full time job, a family and a social life.

I've spent the past three years fine tuning my upskilling skills, figuring out which ways of learning suit me best, looking at the available tools out there and creating a schedule and a set of goals that will fit my daily routine. In this blog series, I want to share my thoughts and findings with you, hoping you'll become as addicted to learning as I am.

How it all began
My journey started three years ago, when I received doctor's orders to stay inside with my premature son for the first months of his life. Being "tied up" in my own house, I realized I needed something to focus on or else I'd probably go insane from the lack of mental stimuli. I've always loved learning and yearned for new knowledge, so it was very natural for me continue down that road in a more systematic manner.

Breaking it down
The first step to knowledge is to ask yourself: What do I want to learn? Asking myself this question three years ago, I had quite a long list of answers: Functional programming, public speaking, economics, ASP.NET MVC, saying "no", finance, Spanish, JavaScript, becoming tougher, TDD, and the list goes on and on...

As you can see, the topics I just listed are quite varied so I tried to categorize them:

Work related professional development
Includes all topics that are directly related to your work situation. For example, if you know DocumentDb could be a great fit for your upcoming project, DocumentDb should be a topic you put into this category. Or if you're interested in an opportunity ahead that requires you to expand your knowledge area, the topics in question should be included in this category.

Non-work related professional development
This is my favorite category, because it includes all the topics you think of when asked: "What have you always wanted to learn?" or "What have you always dreamed of knowing more about?".

Personal development
This is usually the most difficult category for many as it requires you to take a look at yourself and be utterly honest. What are your weaknesses? What would make you a happier person? How can you become the best version of yourself?

Rearranging the topics I listed above, my categories ended up looking like this:

Work related professional development
Topics: Functional programming, ASP.NET MVC, JavaScript, TDD

Non-work related professional development
Topics: Public speaking, economics, finance, Spanish

Personal development
Topics: Saying "no", becoming tougher

Pick three
Now that you've arranged your topics into categories, it's time to pick one topic from each category. The three topics you choose will be the ones you'll focus on learning more about for now. After a while, when you feel like you've learnt enough, you pick three new topics. 
You might be wondering why you should focus on three topics (one from each category) at the time, instead of giving one single topic your undivided attention. There are a couple of reasons for this: 
  1. There will be days where you don't feel like upskilling, because you're too tired to do financial calculations or you've simply reached your limit for how much functional programming you can stand within a week. When this happens, it's nice to get a break from the topic you're sick of and switch to another topic for a couple of days. Preferably, the topics will have different tools attached to them so that you gain some extra variation (more about this in part 2 of this blog series).
  2. We've all met that person who knows their area of expertise better than anyone else, but who lacks the social competence to communicate their knowledge. Or the person who is super-leveled and has excellent insight into themselves, but who really don't know the subject they're talking about at all.  In the first case, the person in question has only focused on professional development, and in the latter, it's all about personal development. It's important to balance these out so that you are able to interact with other people and communicate the knowledge you gain.

Wrapping it up
The hardest part about upskilling is getting started, deciding what you want to learn and what knowledge will be useful for you in the future. By breaking your list of topics down into categories covering work related professional development, non-work related professional development and personal development, it's easier to get an overview. Pick one topic from each category, and let these topics be the ones you'll focus on for now. In the next three parts of this blog series we'll take a look at the tools you can use, how you can create a schedule that fits your daily routine and how you decide on your goals of upskilling. 

Tuesday, February 2, 2016

Interview in Dagens Næringsliv

Last week, the Norwegian newspaper Dagens Næringsliv paid me a visit to talk about how I've spent my maternity leave upskilling. We had a great chat for an hour, resulting in this article:

Tomorrow, I'm giving a talk at Girl Geek Dinner Oslo followed by a workshop about the same subject. I've previously mentioned my plan to write a blog series about upskilling when the talk is finished, and that plan is still on.

Friday, January 22, 2016

Coverage in Edge Magazine and on IDG Connect

The topic of combining motherhood and continous learning with a full-time job seems to be of interest to a lot of women, based on the number of opportunities I'm receiving these days.

I've completely forgotten to share the article on upskilling in my maternity leave that was published in Edge (ILM) Magazine. Edge (ILM) Magazine is the official publication for the Institute of Leadership and Management in the UK and you can find my story here.

Yesterday my story was covered by IDG Connect, a global IT publication, reporting key industry trends and news to an international CIO audience. This is probably my favorite article so far, titled "How maternity leave helped make me a better developer".

I have two months left of my maternity leave before I start my new job at Microsoft. And until then, my schedule is surprisingly full.

I'm very excited about an interview I'm doing next week with a major Norwegian newspaper, and there are some very interesting rumours going around about my story being told at a conference at Harvard yesterday, but I haven't been able to confirm that just yet.

On February 3rd, I'm doing a short 15-minute intro for Girl Geek Dinner Oslo on the tools and techniques I use to upskill. After this talk, I'm planning on writing a blog series on the very same topic as I often receive many of the same questions. If my baby girl doesn't have other plans for me, I'll start publishing the series in mid-February.

Until then, you can follow me on instagram to see what I'm doing on a daily basis (no baby pics, I promise!)

Monday, January 18, 2016

New challenges ahead at Microsoft

Seven years ago, I finished my Computer Science degree at the University. I immediately started working as a web developer and consultant focusing on EPiServer development at a consultancy called Objectware (now part of Itera). It didn't take me long to realize that the place to be if you were into EPiServer was a small consultancy called Epinova, and so I transitioned as soon as the opportunity presented itself. I've worked at Epinova ever since, for about five and a half years.

My time at Epinova has been absolutely amazing. We were approximately 20 developers when I joined and the company has more than doubled within my time there. At such a small company, you always know what everyone is working on, talking to management is simply a tap on the shoulder of the person you wish to speak to, and you're often given responsibilities and opportunities far outside of your comfort zone. It has the start-up atmosphere combined with the security of a larger company, and it was the perfect place for me to grow.

When I started working at Epinova, I was an average web developer. Even though my technical skills were not top-notch, I managed to deliver allright in the beginning due to the fact that I was a fast and structured learner. I immediately sensed that something was different though. For the first time, I was surrounded by developers who truly cared about the code they were writing. They wanted the best for their customers, quality always came first. And I was feeding off the energy, constantly growing as a developer, slowly figuring out which areas I needed to excel at and which would land me the most interesting projects. I was given the freedom to deal with customers the way I felt was right, I was given time to focus on side projects and I was trusted to make the right decisions. This shaped me both as a person and as a developer, and gave me the confidence I needed to go the extra mile.

Unfortunately, I slowly started losing interest in our main area of expertise: EPiServer. I ignored this petrifying feeling by digging deeper into other areas such as Microsoft Dynamics CRM, Octopus Deploy, Azure, E-Commerce, and general Research & Development tasks. Inevitably though, I reached a point where I could no longer ignore the fact that EPiServer just didn't do it for me anymore. I slowly started thinking about Microsoft, I'd heard stories about the Developer Experience team and the work they were doing. Could that be my next move?

Today, I am superexcited to announce that the Developer Experience team at Microsoft, in fact, will be my next move. From the beginning of April, I will be their new ALM (Application Lifecycle Management) Solution Specialist. This is an amazing opportunity I'm very grateful to have received and I suspect there are plenty of challenges waiting for me ahead. I've already had the honor of meeting the team, a loud gang filled with laughter and knowledge. I can't wait to pick their brains!

Until then, I'm going to enjoy two quiet months at home with my daughter. Well, not completely quiet. I'll be giving a talk at Girl Geek Dinner Oslo on February 3rd about how I spend my maternity leave continously learning new skills. And of course, I'll spend some time reading up Visual Studio, Visual Studio Team Services, Visual Studio Code etc.

Did I mention how excited I am about all of this?