That fact that I'm here writing this entry means that I did indeed make it through my first week working at Mozilla. In one way it feels like I've been working here for months, but in another I'm very aware that I'm the new guy who hasn't quite found his feet yet. All in all it was a great first week and I'd like to share some of it with you, including an insight into the projects that I'm working on.
Brain does not compute
The first thing that I realised with this job is that there is shit loads to take in, and I mean shit loads. Not all of it is related to the work at hand, in fact most of it is procedures, names, admin, and all sorts of other bits and bobs that I new starter has to remember.
For example, my first day was mainly spent finding my feet and making sure that I had everything set up correctly. I'm pretty sure that I bombarded my boss with emails that day, but she didn't seem to mind too much. It's probably true that most emails that I sent within the first few days were questions that I will only ever ask once, related to how the job works or the procedure for doing something at Mozilla.
As a side-note, the most common phrase I heard that week was, "file it on Bugzilla," or, "check the wiki," which probably makes me sound absolutely mental to anyone that doesn't work at Mozilla. Just trust me on this one, Bugzilla makes the world go round here.
One week on I'm starting to feel like information is actually staying within my brain for longer than a couple of seconds. I know the names of everyone on my team, I know where to get stuff done (Bugzilla), and where to find the answers to basic questions (the wiki); that's enough for now. Most of the information that I'm finding difficult to remember is stuff that I'll learn with time anyway, so long as I remember the important stuff like my projects then I'll be fine.
Does the job match my expectations?
In short, no. It surpasses them, and by a massive amount! I sort of always knew that a role like this was always going to be hard to predict anyway, especially when I'd never done it at a professional level before (doing it as a hobby isn't quite the same) and when it isn't exactly your everyday job.
One example of my expectations being surpassed is that I'm very much used to working within an educational environment where you're constantly chasing deadlines and trying to meet requirements set by examiners. In that kind of environment there really isn't much room for freedom, as at some point you can't avoid the simple fact that you're doing all this work to please someone else and gain their approval (and with that a nice degree). This is very similar to how I worked as an in-house Web developer before university, always trying to please the boss and meet the deadlines.
Now I didn't expect this exact level of approval-chasing with my new role, but I did expect some element of sitting on tracks and heading in a pre-determined direction. What I found instead is that there is much more freedom and trust involved for me to decide what I want to work on and what direction to take, which was actually a little scary at first. The reason why I say that it was scary is because I've only previously experienced this level of freedom in my personal work; writing code, putting on talks, organising events, etc. When you only have to answer to yourself it's quite easy to do what you want, when you want, and with no ramifications. When you're representing a large and reputable organisation those things can seem a little less easy.
I knew from the job description and subsequent interviews that I needed to be self-directed and able to make decisions on my own. I knew that I wasn't going to have my hand held, or be told what to do. After all, that's why the role appealed to me in the first place! So yes, it may have taken a week, but I'm settled enough now to assert myself properly and to take responsibility for what I'm working on, as well as keeping the rest of my team up-to-date at the same time. There is enough freedom for me not to feel stifled, and the added element of responsibility (not obligation) and trust means that I keep myself focussed and aware of my actions. I like it.
Getting into good habits
I've been working from home for the past three years, albeit as a student. This doesn't mean that I'm an expert with it, but it certainly made me fully aware about the areas that needed improving. As I mentioned above with responsibility keeping me focused, this same responsibility and trust means that I can't approach home working in the same way as before.
One of the main issues that I found as a student is that there is no specific time that the day starts and ends; you can effectively stay in bed for as long as you want and it doesn't matter when the day finishes (I did always try to be up by 9… ish). This also means that you could be showering at absolutely any time of the day, and at different times each day. That's fine (at least you're awake and washed), but it's this lack of regularity that can lead to procrastination and the blurring of home and work.
To overcome this I took a multi-pronged approach to home working, starting with a defined start to the day. In the end I settled on being awake, showered and sitting with a cup of tea at the computer by 9am. This works because I'm based in the UK and not much will be going on before 9am anyway, simple. However, deciding on the time to end the day has not been so simple. In fact, I've still not quite worked out whether I work best by trying to do everything in an 8-hour chunk and finishing at 5pm (a normal working day), or whether I work best by splitting the day up and working as and when I feel productive. The latter option is appealing because it means that I can do some UK work from nine in the morning, and then catch up with my colleagues in the US around four or five in the afternoon. It's a work in progress, and I hope to settle on working one way or the other as time goes on.
Another way that I've tried to separate home and work is by getting fully dressed (no pyjamas or dressing gowns) and wearing outdoor shoes while I work instead of slippers or no shoes at all. This is all about stopping myself from getting too comfortable, but also about making sure that when I do put my slippers on at the end of the day to chill out, I actually feel different. Think about it, you'd feel a bit weird walking around a normal office in socks or slippers, so why treat your office at home any different?
I've got plenty more tips and tricks that I'm using for home working, but one of the most important has been to realise that I'm on my own. What I mean by this is that I'm not in an office environment where I'm involved in random conversation and able to walk over to someone's desk and ask annoying questions. I feel that there is a mentality with working from home that means that you need to do everything alone and suffer quietly, tucked away from the outside world. Don't do this.
It may feel awkward, but if you have a question, send an email or call someone who can help. It's no different than turning in your chair in a proper office and asking your boss a question that way. Don't be afraid to ask questions and definitely keep people updated with what you're working on. You have to remember that you may know what you've done today and what you're doing tomorrow, but no one else does. Within my team at Mozilla we each send out an email at the beginning of the day that sums up what we did yesterday and what we plan to do today. This isn't to check up on everyone, it's more about being aware of what everyone else is working on and whether there is anything that overlaps with someone else, or if there is something that you can help with. I find this massively helpful, especially as a new starter.
Lots to keep me occupied
So what am I working on at Mozilla? That's a good question. Let me run you through some of the bigger projects that I'm involved with.
Better engaging with social media
As it stands, the Developer Engagement team (the one I'm a part of) doesn't directly engage with developers on social media channels in a deliberate and efficient way. The only engagement that happens here is via a few Twitter accounts for Mozilla projects, and via the personal accounts of each team member.
My task is to work out how we can better engage with the communities in these areas, as a team. Should we be monitoring social media streams for particular technologies and to answer questions? How do we measure how successful we are at engaging with this type of community? Is this even possible?
It's early days, but I'm really excited about this project as it ties in quite nicely with my Twitter sentiment work at university.
Technical demos for Firefox
A regular part of my role is to develop demonstrations that show off the features of upcoming versions of Firefox. I'm yet to start work on these, but I'll update this blog when I have something to show. This kind of stuff will be more along the lines of my previous programming experiments.
I recently wrote a proposal about these, so definitely give that a read if you want to find out more.
As expected, part of my role is to speak at public events about Mozilla and the technologies surrounding the Web. In particularly excited to be speaking about HTML5 gaming at OnGameStart in Poland this September.
Onwards and upwards
So it's been a pretty hectic, but ultimately amazing first week at Mozilla. I can't believe how lucky I am to be in the position to work with so many cool people on so many cool things. I'm hoping the novelty doesn't wear off too soon!
I'll make an effort to post more entries as I settle into the role and as more interesting things start to happen.