Tag: career

The problem of women in Software Engineering

Last night, I attended a female only event at the Microsoft Research Laboratory – Engineering the Future.

It was slightly recruitment heavy (and I am happily employed), but I figured it would be worth checking out, because they do cool things there.

Now, I’m typically averse to attending female only events – I think in a culture that is attempting to gain more gender diversity, aiming at one specific gender in this manner is probably counter productive. Also, it brings its own issues.

Before I really get into the meat of this – I really enjoyed the event, and the projects that were showcased to us were amazing. It looks like great work to be involved in, and I’m really happy that I got an invite to this.

That said, lets get back to the female only part.

So, there is a drive to attract more women to the Software Engineering world. Last night, that very problem was kind of apparent. In the only Microsoft Research lab in this country, this female only event had only approximately 50-60 attendees.

When you factor in that this is representative of people in a country, not just a city, for a company as huge as Microsoft, it’s easy to see that the ratio of Men : Women in the field is very off. I also factored in after some networking that a significant portion of the attendees were people studying for PHD’s or other degrees – and were somewhat unsure of where they would aim to be employed. In a nutshell – they aren’t quite software developers yet, and some seem undecided as to whether that will be something they are aiming for at all.

This brings us to another consideration – why aren’t women aiming for a career in technology? Events like these are supposed to help, right?

To be honest, I’m not sure if gender specific events are the answer here. At the beginning of last nights presentations, it was noted that non-gender specific events like this had been run before – but 95% of the attendees were male, hence they decided to try a female only event. I can see the logic. The previous way was obviously not attracting any more women, so they switched the format slightly and had another pop at it.

So, let’s examine the presentation content. One of the reasons I tend to avoid female only events is because some gender bias comes into play in terms of what is presented. You will find that less of the ‘we’re working on this because we thought it would be cool to try’ content, and more of the ‘here’s a human interest project that’s all for a good cause’ content instead.

I guess the thing that bugs me here is that there seems to be an assumption that a lack of dangly bits means that women can’t appreciate something that is being done for the sake of seeing if it can be come, and that we should only be enthusiastic about things that can help us to cure diseases, or world hunger, or other worthy and caring causes. It almost sends a message that as women, we’re supposed to only work on serious things, and forego anything that is more typically fun in that sense.

Now, that’s not to say that I don’t think human interest projects are not cool and amazing, and can’t be fun – they are, and I love hearing about them – but I also love the cool ‘here’s something we’re trying without being quite sure why’ stuff as well.

I have a suspicion that a non gender specific event would have had a more even balance of both kinds of projects to showcase. Targeted events like this actually put me off somewhat, as the assumption that I somehow cannot be spoken to on the same level as a man in this field is somewhat demeaning. That said, non-gendered events have been around for a while, and they have done nothing to solve the problem of the lack of women in this industry. Maybe this approach is the way forward. Honestly, I don’t actually have a better idea on how to address it.

All I know is that as a female software developer, what really bugs me is being set apart from my peers and treated as if I’m somehow different, or less able to appreciate or understand things, just because I’m female. * To be truly diverse, surely we should be able to ignore things like gender, creed, and colour and speak to everyone the same? Sadly, we still seem to be quite far away from this.

As a final note, this push to bring more women into the field also has another unintended result – it’s very easy to get a job because I tick all the right HR check boxes. This comes with the added bonus that I can be seen as a ‘quota’ hire. I find myself having to work twice as hard, and be twice as good as my peers, just to prove that I’m actually worthy of both the job and some respect. I don’t think either gender gets a win from this, and I suspect the same can be said of other typically minority groups in the field as well.

It’s an interesting problem, and with no easy solution. We certainly aren’t there yet, but I feel that gender specific events and hiring guidelines aren’t actually helping in the way that was intended. I’d love for us to be at a point where the criteria becomes ‘is this person right for the job or event’ as opposed to ‘this person has a characteristic they can do nothing about’.

* Just to add – last nights event did not make me feel demeaned, etc, at all, and was truly enjoyable. I just question the current methods being used to try and encourage women to join this field, as even without a better suggestion, I’m not sure the current ideas are working either!

First world problematic decisions

One of the reasons I’ve been somewhat lax in my posting schedule recently is that I was wrestling with a career decision. Since it was occupying my mind, it was something of a struggle thinking of blog posts to write. And well – career decision. I couldn’t exactly post about it publicly.

This week, I did finally make a decision, which I’m pretty much sure means I now get to talk about it.

So – I’m relatively happy in my current job. I’m well set to progress up the career ladder, with some plans in that direction being mentioned to me. The work is fulfilling. I’m treated very well. So, it would take something pretty major to make me turn my head to another job.

Well, that happened. I was approached by a former awesome manager about a role in another company. At first, I did it due service – I checked it out, thinking that I most likely wouldn’t  jump ship because I am happy where I am.

What followed was a few weeks of flip flopping in my head. Current company is large, and has the issues that you will get working for any large company – that feeling of being a small cog in a very impressive machine. The other role is at a smaller company, meaning that anyone invited to work there will definitely have the feeling of making a difference.

In terms of problems, this has been a rather nice one to have. It’s certainly not a situation I’ve been in before, and likely won’t be again!

A lot of my own personal satisfaction comes from feeling like I’m actually relevant. Which speaks volumes about my ego. I spent a long few weeks writing up pros and cons for both jobs. It was ultimately a narrow thing. I didn’t discuss the problem with my current workplace, as this was not a decision driven by money – I wanted to avoid a situation of offers and counter offers. Some people will probably see me as somewhat crazy for going with that approach, but my own self image means I’m not going to behave like a complete mercenary.

As you can probably guess if you’ve read this far, I’ve opted to jump ship. I’m happy with my decision, and I’ve done it in a way that leaves me little leeway to change my mind. I do feel somewhat guilty, admittedly, as like I said – I have been treated very well. To my current workplaces credit, they have been very understanding and have let me know that if there is anything they can do to change my mind, I should mention it. Which is always a nice thing to hear – but I will stick to my decision as I don’t believe in messing people around. In return, I have a month of probably long hours to make sure that all the things I have started are finished, or left in as perfect a condition as I can manage.

I’ll be sad to go, but ultimately, I am very excited about moving on. I won’t get to see some of the things I put in motion through to fruition, but I have a boat load of new challenges to look forward to. I suspect that while I’ll have regrets at some point, I’d regret not chasing a new challenge even more – and that was the one thing that ultimately made my decision for me.

Recruiters behaving badly

Recently, I blogged about an issue I had with the telephone system at work – which turned out to be a recruiter phoning me.

Well, I had another phone call at work today, from another recruiter.

I’m not sure why this is a thing. It’s not a problem I’ve had before. These recruiters are not getting my direct work number from my LinkedIn profile. I deliberately don’t publish any of my contact numbers on there. What is actually happening is that they are seeing where I am currently employed from my LinkedIn profile, and phoning the reception where I currently work to get put through to my work number.

I’m getting more annoyed by this behaviour. I specifically mention in my profile that any contact should be done either via email or through a LinkedIn message. I am open to being contacted. Not because I’m on the market for new work, but because I can occasionally forward on a recruiters details to my connections who are looking for work, or just because a once in a lifetime opportunity may show up.

So. I publish no contact numbers, and ask specifically to be contacted via other means. Now, while the majority of recruiters respect this, it’s apparent that a small minority see no issue with trampling this rather simple boundary. I feel that contacting me at my current work place to try and poach me for another position when I’ve barely been here five minutes, is kind of rude to me and my current employer.

This isn’t the only time I have encountered recruiters behaving badly. I’ve experienced my CV being doctored to attribute skills to myself that I have no claim to. More insultingly, they introduced some typos when they did this. This led to an experience where at the interview stage, myself and the interviewer realised that they had been missold my skills, just as I had been missold the role itself. My jaw dropped when I looked at the copy of my CV that they had received. That interview was terminated early, with apologies all around, upon us both realising that I would not have applied if I had not been lied to – and that they would not have interviewed me had me skills been correctly represented. The end result was that time was wasted on all sides. Also, embarrassment for me.

Then there was the recruiter who told the place where I was interviewing that I was a contractor. I’m not sure why she did this – I’ve never been a contractor, so I don’t know what she hoped to achieve with this. In fact, I spoke with her in the initial conversation and explicitly stated that I have never been a contractor. The role for which I was interviewing was a permanent role, so there was really no reason to misrepresent me like that. Strangely enough, I didn’t get that job.

That said – I have dealt with many recruiters, and usually have a positive experience from it. Out of all of them, this is only 4 that have behaved badly. This is definitely only a minority. The main result of their shenanigans is they get removed from my connection list, and possibly from their clients, so ultimately they shoot themselves in the foot. I still find the behaviour mystifying though.

Surely it would be better for all parties if they attempted to recruit in a more honorable fashion? Misrepresenting candidates and clients in this way can only lose them business.

My conclusion – people are strange.

How many software engineers does it take to return a call?

I managed to embarrass myself with what should be simple technology today.

I have a phone on my desk at work. I’ve worked here for just over 7 months now. My phone has never actually rung before. I’ve never had to use it – everyone who needs to speak to me is seated in my general vicinity. I have no need to speak to end users for my role.

Until today. It rang. I picked up the receiver to answer. Imagine my joy that it immediately went on to speaker phone! I briefly explained to the caller that he was on speaker phone, and told him I would try to fix it. I pressed the button that looked like a speaker icon.

Seems reasonable, right?

Pressing the button hung up on the caller. Cue laughter from my office buddies when they realised what I’d done.

So, I started trying to figure out how to call the person back. An office mate came to help me, and pointed out that my calls were all being forwarded. We went through a few options, and managed to not be able to find how to turn it off, so we gave up. He didn’t know how to find the history, though. So, another helpful office mate showed me how.

I found the number, and clicked the redial button … to be put through to the reception desk downstairs. I was very apologetic when I explained that I’d rung the wrong number, and hung up to try to return the call again.

This is when I realised it was an outside number. Which apparently needs to be prefixed. Some asking around later, and it turns out that the magic prefix is ‘9’. Another office mate helped me to figure out how to return a call with a prefix.

So, I did this. The person who had called me answered. I hadn’t had chance to ask his name before I inadvertently hung up on him, but thankfully I remembered his voice.

More apologies later, and what was my mystery caller after? Turns out he’s a recruiter, who somehow got my extension number – which is a mystery in itself, since I haven’t published it anywhere. After all, people might phone me if I did!

15 minutes and 3 software engineers later, all so I could tell someone ‘thanks, but I’m happily employed where I am’.

Not that I’m bitter or anything – but I can think of no good reason why a phone has been complicated to the point that it’s taken 15 minutes of my life to phone someone back. And my calls are apparently being forwarded elsewhere now, and I don’t know how to turn that off. Or see where those calls are actually being forwarded to. Yeay?

tl;dr : It should not take 3 people, 15 minutes and an instruction manual to either answer a phone or return a call.

Money Talks – Know your worth

This is a topic that seems to pop up fairly regularly in various media – how much you get paid.

Some companies out there publish this information, to demonstrate how fairly they are paying their staff. Others don’t, and occasionally, the employees will start discussing this amongst themselves.

Both the above approaches always lead to the inevitable – people comparing how much they earn to how much their co-workers are (possibly) earning. One thing I have seen when this plays out is that someone always seems to decide that they’re being shafted, and they let jealousy take over. Things can often go downhill from there, depending on the personality involved.

I am of the school of thought that says I do not tell my co-workers how much I earn under any circumstances. While I may tell them how much I was getting paid in a previous job, my current salary is my own business, and no one elses. When co-workers start discussing their current salary in front of me, I keep my mouth firmly shut and attempt to evade the discussion. Even when it becomes apparent that they are being vastly underpaid.

That probably seems quite unsociable or even unfeeling of me. But here’s the thing – what I earn has no bearing on what anyone else earns. Just like what they earn has no bearing on what I earn, for one simple reason – I am in charge of my own situation. I can’t say I have ever found myself staying too long in a role where I feel undervalued. I keep an eye on the market rates in the area for my chosen profession, and I have no problem with asking for a raise if I feel it warranted. If the raise is not forthcoming, I choose to take myself – and my pay negotiations – elsewhere.

At no point in this process have I ever looked at my pay in comparison to someone else’s and thought ‘That person is being paid more than me, and I don’t think they’re worth it’. Again, this comes down to an acknowledgement that people are in charge of their own situation. If someone is actually being paid more than me, my first thought is that they made a better job of negotiating their salary than I did – in which case, good for them.

In my not so recent history, I found out that some co-workers were discussing my salary with a view to envy. I found out the figure that was being bounced about, and found it amusing that it was quite a bit lower than what my salary actually was. If the figure had actually been correct, then I would have been concerned how that number became public knowledge, since my salary is between me and the entity paying it. And as mentioned before, I don’t share my salary with co-workers (much like I don’t share my plate of food).

So, here are some lessons I’ve picked up about this kind of thing over the years that I’d like to share:

  • Just because you don’t discuss your salary with co-workers, that doesn’t mean that they won’t discuss it – and probably have it wrong. The office politics around this kind of thing can get very intense, but it’s not really something you can control. Accept that, and try to not get sucked in. I’d say the rule here is to keep out of it – joining the fray will not help you to take control of this. If you’re approached or confronted by people who are unsatisfied with their own lot, point out how they can always ask for a raise.
  • Know your worth before entering any salary negotiation – be it for a new or existing job. There are so many websites where you can check out the market rate for your role and position in your area. Don’t undervalue yourself when it comes to this. Be sure to check out this information at least once a year. This will help you to figure out the ballpark figure that you want to ask for, and shouldn’t be used as a hard and fast figure that must not be deviated from.
  • Don’t be afraid to move on to a place where you will be fairly valued. As mentioned in this post, you know how much you are worth. If you really are being undervalued, no company worth their salt is going to say no to a reasonable request to be compensated fairly.
  • Bear in mind that what your co-workers earn has no bearing on your own situation, and more importantly – is none of your business. Envy and jealousy are not healthy. For anyone. One of the worst things you can do here is try to justify your pay raise based upon what a colleague is apparently earning. Leave that kind of thing out of any salary negotiation.
  • Companies are there to make money. Which means they will go for the best deal to cut their own costs. It’s a pretty rare case that you will be given a significant raise without actually asking for it. If they can get your services for cheap, they’ll more often than not keep being cheap. After all, the reward for digging an awesome big hole is a bigger shovel, and very rarely a bigger bag of money. If you don’t ask, you don’t get. Simples.

The main lesson here, however, is something I’m sure I have mentioned before – you are responsible for your own situation. Don’t like your situation? Then take control and change it, or get into a new situation. If you choose to bleat about how unfair everything is without doing anything about it, then you’ll find that any sympathy you were getting will slowly disappear. And at the end of it, you’ll still be miserable.

Bad advice?

I came across an article (3 Key Steps to Building a Powerful Personal Brand)* on Inc.com the other day, which had some – what I think is – rather dubious advice. It made me actually cringe to read it. Here’s the excerpt:

Being self-aware helps a lot here. If you think you might have blind spots, do this:

Write down a list of a list of 10 adjectives that describe you.
Now go have lunch with the five people who know you best.
Ask them to make the same list about you.
Compare the lists and look for common descriptors.

And later …

For further insight, try the same exercise with colleagues and acquaintances that barely know you.

Really? Grab 5 people, and take up their most valuable resource – their time – to write or talk all about *you*?!? That’s kind of self indulgent, really. In addition, depending on the honesty of the people involved, and resulting list would very likely contain the following descriptors: Self obsessed, needy, narcissistic. Maybe I’m reading it wrong. I don’t feel the rest of the advice in the article is bad. But that part about getting people to write a list like that just sets my teeth on edge.

Has anyone actually managed to do this kind of thing seriously? Or been asked to do this kind of thing?

Maybe I’m just taking it for granted that I have people in my life who will often flat out tell me their unvarnished opinion, even if they know I probably won’t like to hear it. I don’t see the need to do the above – which possibly means I actually need to the do the above exercise because I am suffering a self awareness fail. Who knows?

* Guilty pleasure – I occasionally indulge in reading click bait articles along the lines of ’10 things you must do now!!!’. Some of these articles are common sense, whilst many are so off the wall that they make me snigger. The latter are the more entertaining for me, as I enjoy the smug feeling I get from being able to tell my computer screen (and the internet at large) that it is wrong.

Presentation Feedback

Today was a good day – I realised I must have made an impression with my presentation last Friday, as I had a few people approach me today to discuss it a bit more.

The feedback was largely positive – they found the presentation relevant, and it all made sense. I was even praised for my courage in presenting what I did, as one of the newer members of the team. The main advice I got was how to try and approach management with my points.

First and foremost – I naturally speak quickly. I speak even faster when I am either nervous, excited or passionate about something. Which, on Friday, I was all three. I struggle with slowing down my speech at the best of times. I do need to get better at it, especially since one of the guys pointed out that it made me seem nervous. He then went on to point out that if I seem nervous in front of management, I’ll probably get eaten alive. He has offered to coach me through future presentations, and even present with me – which I find to be pretty awesome, so I’ll bite his hand off for that!

One of the main pieces of advice to come through from all who approached me, however, was to try and focus more on numbers. I need to find a way to prove that what I am suggesting can save both time and money. This one will be more tricky. I may have to wait a few months until a few more projects finish, collect up some data, and attempt to crunch it into a format that can prove my point. However, not all the projects finish at the same time. The project that is ringing alarm bells for me is nearing completion – and I’m not one of the people working on it. Yet my own project, where I can prove that what I’m proposing has benefits, isn’t scheduled to complete until late next year.

So – I need data. My current sources of data may not even be comparable. My thinking cap is back on once again. Given current workloads though, I do have a bit of time to consider my approach to this, and now I have a bit more help in presenting it. All in all – I’ll take this as a win for now!

The Presentation – how it went

The other day, I mentioned that I was preparing for a presentation.

The aim was to – as a minimum – get people to follow the existing process. The ultimate aim was to try and get buy-in for following a full out Test Driven Development methodology (TDD).

My previous post about this generated some awesome advice – some mentioned that I should pin point a case study of where a process wasn’t followed. A former manager suggested I avoid death by power-point, and instead cover a live example of how TDD can speed up the development process. Others suggested that I follow a four point rule.

It’s just sods law that I woke up in the morning with a cracking headache and feeling sick. Awesome. I dragged myself into work, regardless – I’d put far too much thought and effort into this to call in sick on the day.

I think I managed to incorporate elements of all the advice I received. I opened up with a brief section on ‘when things go very, very wrong’, to establish that I’d already had a trial by fire for this kind of thing. I then demonstrated how time can be saved and pit falls avoided using TDD. I closed off with my suggestions that we adopt a TDD-like methodology, or at the very least follow the process we already have across the board, with no excuses. All issues were condensed down to a maximum of 4 points each, to avoid information overload. I then opened up the room for discussion.

Unfortunately, the management were unable to attend the meeting, which meant that I was really working from the ground up. It turns out that the most powerful tool in my arsenal was the fact that the product recall notice (the price of not doing this right) is still on the internet. The twitter posts are still there as well. It’s hard to argue against that.

Overall – I don’t have full buy-in of TDD yet. However, there is an agreement that the process as it currently exists will be followed more stringently. The value of unit testing was accepted as common sense, but the same old arguments reared their heads – resources and time. It was agreed that we would need more drive from a management level to get resources dedicated to setting up a proper nightly build system, and that is still the main issue with what I’m trying to get in place.

After the presentation, my manager asked me to send him and the other managers a summary of the results of the presentation, which has given me the opportunity to not only give feedback, but to also push for giving the presentation to the management.

So, the battle isn’t over yet. I haven’t been shouted down, meaning I have plenty of room to keep the argument for this going. I feel I have managed to move things forward a small step, which as the new girl in the office, I don’t think is bad going. There is still a long way to go, and I’ll no doubt be blogging about it as I continue pushing for it.

I’d like to once more give a huge thanks to all the people who gave up their time to give me advice on how to proceed with this presentation – it’s very much appreciated, and I don’t think I would have gotten a team to agree to follow the process more closely without following your advice! You’re all awesome!

Preparing for a presentation

I have stepped up to the plate to do a presentation next week at work.

Here’s the thing – we have a process. It’s all very shiny, involving the writing and running of unit tests, getting code reviews, etc. The problem is – only a select few seem to be making an effort to follow it, with oft cited reasons such as lack of time and resources when the proverbial shit hits the fan. After chatting to people, it seems that everyone agrees that the process is worth following. Just that the pressure from higher up to meet deadlines often seems to finish off any inclination to actually follow it.

I haven’t quite figured out how to go about this presentation yet. My aim is to actually get people to follow the process. I suspect that I’ll need to convince not the people in the room, but the people in charge of the people in the room. I’ve only been with this new company for a few months, and as a lowly software developer, I am lacking in political clout.

At this point, I think I’m having the meeting with the wrong people – will it be worth taking over the friday software development meeting just to have everyone agree with me, and still have no action taken? I need buy-in from the people higher up the food chain. Then again, maybe peer pressure from the ranks could help.

I’m still considering my approach, but I am looking forward to the challenge. Watch this space – I’ll no doubt be writing up another post about how it goes next week. If anyone has any suggestions on how to go about this, they would be much appreciated.

Training vs Learning

Having recently started a new job, I have been subjected to all sorts of training. This got me thinking about the value of training vs learning.

Now, none of this is to say that all the training I have received over the last few weeks has been useless to me, or that I learnt nothing from it. A couple of the training sessions were actually incredibly useful, and packed full of information that I can carry forward with me. However, I cannot deny that some of the training I received was somewhat lackluster, and well – a complete waste of time.

So, I’ve ended up putting some of the training into categories in my own head.

The health and safety training firmly comes under the heading ‘box ticking exercise’. This is generally the kind of training that’s common sense. Such as ‘don’t lift more than you can manage’, ‘look both ways before crossing a busy road’, ‘don’t stick your fork in a plug socket’ kind of stuff. I’d argue that this is the kind of training that only people who actually deserve some kind of Darwin award or small children actually require. It sucked hours of my time away from far more productive things, while I sat there watching someone read the bleeding obvious from some PowerPoint slides. Yawn. That said, I am now fully qualified to pick up a box of paper. Apparently. I have yet to receive my shiny certificate proving this – although I’m sure that someone somewhere now has a document that they can point to explaining that I was fully health and safety trained, and thus avoid legal claims should I manage to somehow kill myself with a nicely labelled hot cup of coffee.

The next category comes under software training. This was useful to a point – it required participation, and the extra information gleaned from the presentations wasn’t just being read by rote from a PowerPoint presentation or booklet. That said, there was little here that I hadn’t already figured out through playing with the software myself. I guess this is the fuzzy ground between being trained on something and actually learning it. Not a complete waste of time, but definitely something I could just pick up on my own.

Finally, we come to actual job training. Being pointed towards specific functions of a .dll or development kit, with examples of usage, was incredibly useful given the lack of documentation. This is the kind of the training that I don’t see as a waste of time. It’s not information that can be found on google. The stuff was new, all in an area I had been previously unknowledgeable about. To anyone making training courses – more of this please. Hands on stuff that requires both learning and being taught is going to hold attention through the virtue of being both interesting and relevant.

Sadly, the majority of the training I have received in recent years mostly falls into the top two categories. It seems that training has become synonymous with being lectured by Captain Obvious, or covers things that I could figure out quite easily for myself. This is frustrating, as I’d much prefer that training be about learning – it would certainly feel more valuable on a personal level, and demonstrable at a professional level.

TL;DR – If you’re not learning anything on a training course, it’s probably a waste of time for everyone.