Posted by Filip Ekberg on July 22 2013 2 Comments
You just got your degree? You’re a junior developer.
The demand from my employee were too damn high, after just a month or so I had to go to the emergency ward because I almost fainted. I’ve heard people say that there’s no such thing as hitting the wall; you should just push harder and you’ll get pass that. People that say that have clearly not worked 24/7. At this time in my life I was in a new city, I still had my own business and I was a full time employee in a company that demanded me to stay at work until I had finished the bugs, without even offering me something to eat or drink. When I came to the emergency ward and described how I felt they simply told me:
You need to slow down or you’ll be burnt out.
I understood that this is no way to live my life, I can’t work at a place where they don’t value my health. On top of it all my boss worked 24/7 as well, but with the same project as I did on the weekdays so when I came back to work on Monday morning he had refactored the entire code base and stuff didn’t compile. Guess who got the blame for it all?
After a lot of consideration I decided that I wanted to do something else, I started to look for a new job and I felt really bad for “giving up” despite the fact that I almost fainted every time I set my foot at the office. I was invited to a lot of interviews on a lot of different companies however we were in an economic crisis at the time so it was hard to find a job, even as a software engineer with a burning heart for programming.
I decided that money wasn’t important I just needed to get away from this job.
After some interviews I decided to join one of the largest consulting agencies in Sweden to work on an in-house team that was slowly growing; we were just a handful when I started. I was hired through another consulting agency, I don’t know why I never brought up that they could hire me through my company. But as I was only mere 22 years old how can I be experienced, have a company and have a degree? So there I was, hired as a junior developer with minimum wage.
The company that I worked for through the consulting firm that paid me as a junior developer decided that it wasn’t an economical choice to have me through a consulting firm so they wanted to hire me full time as an employee in their company. By this time I had proven what I knew about programming and software engineering so they knew that I truly wasn’t junior. I was scheduled to have a meeting with my potential boss, the deal was pretty much sealed but we had to talk about how much money I wanted. I did tons of research – which he looked at and just ignored. When it came to the talk about salary I showed him my research and made a good case for myself; I asked for a 35% raise. He was about to fall off his chair when I said that and I thought he was about to start laughing me in my face.
As I was on a junior salary why should I get a 35% raise? I told him that the economy was bad when I landed the job and I told him the story of my life and my career, it somehow felt that it didn’t matter because he had already decided that I shouldn’t get what I deserve. Or maybe he knew what I deserved before I did? Never the less, we decided to meet somewhere in the middle so I was happy and so was he.
At this new gig I saw a bright future, I wanted to learn a lot of new interesting technologies and work with a lot of interesting customers. Over the two years that I worked at this company I did get to do just that. Even the gaming that I so much loved when I was young followed me as I got to create a real time game for students in a marine program at a university in Gothenburg. The game was text/web-based and the students really loved it. We built it to help the person in charge of the course as he had managed all of this in excel spreadsheets and by e-mail before. It was truly great to work with both web, desktop and interesting innovations again and not feeling the fainting feeling when you step into your office.
I even started to cherish the breaks that we had because now I could make good friends, everyone had the same interest as I did; programming. Well not everyone but most of the people that I worked with. After some time though, even when I got the chance to work with touch based systems and selling stuff through them, long before Windows 8, I felt that something was missing. I remember when the company sent me to the first conference in Gothenburg; Scandinavian Developer Conference. I learn a lot from the sessions and I got a spark inside me that told me that someday I’m going to be on one of these stages.
When I got back from the conference I started to blog more, I started to talk more about technology again with my co-workers and tried to spread all the knowledge that I had gained. I even organized small sessions with my team to show them what I had learnt and what I wanted us to work on. I remember introducing refactoring and ReSharper as a great tool to work with.
A year or so after that I noticed a conference in Oslo called Norwegian Developer Conference the track list was awesome they had so many great speakers that I had just seen writing a lot of answers and blog posts online. One of them being Jon Skeet of course who always was a true inspiration on StackOverflow. Even when I studied and worked a lot StackOverflow was always there even if I needed help or wanted to give help.
I got the company to send me to Oslo to attend this amazing conference and me and a co-worker did. It was the best that had happened in a long time. Ultimately attending the conference got me thinking that I wanted more in life I didn’t really learn a lot at work anymore and the developers that I worked with really didn’t care about either their jobs or about programming. An interesting turn of events was when a co-worker and I walked down from Raddison Blu right outside the conference venue and we see a large pack of people just standing there. Soon after noticing that I see that everyone is a speaker! I ask the person in the middle of the crowd that holds up a Norwegian flag if we can tag along as they were heading for dinner; she said that it was OK!
Little did I know that we were heading for the harbor to go on a cruise; me on a cruise with tons for smart people? I had a really great night where I got to meet a lot of new friends and talk about a lot of geeky things. One of the reasons that my job agreed to send me to the conference was that me and my co-worker had to go to each of the offices and teach them things that we had learnt. We had a half-day seminar on each of the offices and I can remember talking about what Barry Dorrans showed regarding OWASP. By this time I also did a couple of my first screencasts and some more blogging.
I still felt that there were something missing though, so I started looking for a new job as I wanted more challenges in my life. I went to a lot of interviews but as I already had a good job I didn’t have any reason to move until I found something perfect. To my surprise I got an interview with Spotify, not one interview but three interviews. The first interview was more or less just a check-up on what kind of person I am and what I like to do. The second interview included questions, over the phone, regarding Linux, the boot sequence of Linux, encryption and what RMS stands for among other interesting questions. Luckily enough I had played with Linux back in the day so I could answer most of the questions.
Then came the third interview.
This interview was scheduled to be online in a shared notepad and the interviewer was about to ask me some questions and I had never done a technical interview in this manner before so I was a very nervous. The interviewer didn’t really feel that experienced either which was unfortunate. I got some basic things to do such as creating anonymous types in C# and what not, but then I got some LINQ questions, without my IDE and with tons of nerves shaking; I completely blanked out on how to write a simple GROUP BY. Keep in mind though I did it in notepad and I rely on my IDE and shortcuts when I work; no one really works in Notepad.
The interviewer probably thought I was a complete noob and he had every right to do so because I couldn’t achieve these basic tasks. The final task was to write a depth-first-search algorithm which I had no idea how to do, I didn’t even give it a shot for some reason. I figured that I didn’t pass the interview as I couldn’t perform these simple tasks and I had nothing else in my life except the story that I can tell about what I can do. Minutes after the interview ended I looked everything up and knew everything there was to know about the algorithms; now if I only had access to my IDE and Google at the time. In theory I knew what the depth-first-search should do, but with the nerves going on and with an inexperienced interviewer that didn’t lead me anywhere at all; I blanked.
Luckily enough I didn’t get the job at Spotify; I’ve heard horror stories about how their developers at treated and I’d really not want to be a part of that. I later received an e-mail from the recruiter telling me that I need to work on my programming skills; “you’re a noob so to say”. He didn’t actually say that but it was the implication.
I was angry, even though I was already offered a job where I work today as a senior developer, I was mad because someone called me a noob. Maybe I shouldn’t care? Well I did. I decided to do something about it and I wanted to have something with my name on it; C# Smorgasbord was born 12 months later.
Becoming an author
I told myself that I wanted to blog every day, I wanted to do more screencasts and I wanted to be on stage. Not just because I wanted to become something that everyone else wanted but because I really love what I do and I wanted to inspire others as I’ve been inspired. After blogging for nearly every day for a couple of months, writing about everything from reflection to inversion of control I decided to take my knowledge and turn that into a book.
While doing so the job that I had on the days was really great, they supported me in all my crazy ideas and they even let me organize user groups in our office; paying for all the beer and pizza! I still had my business at the side of things and now I had even more to do, weekends, vacations and nights went to work and writing.
When I organized the first user group meeting I talked for 3 hours, I had 2 or 3 sessions about a lot of interesting things and I completely loved it. I wanted more, more and more. Ever since this time and the opportunity that the last job gave me where I could go to each office and teach them what I had learnt on a conference; I wanted to be more in front of people telling them my story and my point of view.
Even at work my job helped me get opportunities and listening to my crazy ideas, they helped me get on stage more than once and they helped me gain more knowledge.
I had a crazy idea one day; I wanted to go to //BUILD in Seattle. My job agreed since they considered my efforts to making this company better valuable so me and my good friend Andreas set off to Seattle. This was an amazing trip and I truly learnt a lot. The best part of it all was the opportunity to meet the brains behind C#. I got to have lunch with Eric Lippert! Now that might not sounds to cool, but when you’re an MS fanboy and have loved working with C# for many, many years, meeting Eric Lippert is pretty amazing. Of course meeting the rest of the team behind Roslyn was amazing as well, new faces and new friends!
When the year came to its end and I and Sofie were happily celebrating New Years in New York, I woke up and received a very nice e-mail.
Congratulations you’ve been awarded Microsoft MVP
The next chapter
By now you probably understand that I am one of those people that want more and I love to teach others. So early in 2013 when I was newly engaged I contacted Pluralsight to see if they wanted more authors; it was really thanks to Dustin Davis that I contacted them. Apparently they were in town for a conference, Scandinavian Developer Conference which I had a couple of years before attended. So I took some copies of my book, headed down and had a meeting with them. We discussed everything from my past to my present to what I’d like to do in my future.
I was challenged to make an audition video and as eager as I am I sent it off to them just a couple of days after I met them and soon thereafter we commenced on the first course; MSIL for the C# Developer. Pluralsight is giving me a lot of playing field to learn new things and at the same time teach others what I learn. The best part is that my job doesn’t have anything to say about me doing it; frankly they love it!
As you know I’ve always wanted to work in USA and it was time to pursue that dream as my Sofie had just finished her master degree and I felt that I wanted to try something different. We’re 26 years old and in a couple of years or so we might want to extend our family so it’s better to do this now than never.
I reached out to my friend Jake at Readify in Australia and also to my fellow friends at Microsoft. Fortunately for me I got to interview with them both! I was a bit ambivalent of which of them to aim the most for since both of them looked amazing on their own.
The depth-first-search hunted me and guess what, I got the same question on the Microsoft interview! This time I actually did solve the algorithm, though I was a bit uncertain that it would compile and run and this uncertainty made the interviewer think that I wasn’t sure of my programming skills. I wasn’t offered the position at that team and when looking back at it, I am not certain that I’d taken it anyways.
Interviewing with Readify was an Amazing experience, they knew exactly how to ask the right questions and ask me to show certain things in the IDE with access to my own favorite tools. I nailed the interviews and I felt that the interviewer and the company was completely aligned with what I want to do; I was offered a position as a senior software developer.
Even though I didn’t get the job at Microsoft which I’ve forever been a fanboy of nor did I get a job in USA, I am extremely excited about the future and the next chapter in our lives. I love programming and I think that this is exactly what I will be doing for Readify. To me it is important that I understand how the company work and what kind of people that do work there. On Readify I will certainly not be the smartest guy in the room and I will certainly learn a lot.
Sometimes the events in life takes you to different places and everything probably happens for a reason. I wonder where I would have been today if I had not been introduced to QBasic when I was a kid. Or what would have happened if I never changed school.
I don’t know what the next 10 years has to offer, but I am sure that I will meet a lot of new friends, learn a lot of new tech, get married and have wonderful children that I can teach programming. It’s been the best 26 years that I could have asked for even with some ups and downs; nothing comes free though, hard work is everything.