Wednesday, 22 February 2012

Girly and Geeky and Proud!

After trying to think up new ideas for an android app, the thought of "learning to program for girly girls" crossed my mind.  Of course that then begs the question of whether there is a market out there.  How many girly geeks are out there.  I'm sure I'm not unique. Sadly I'm in a minority and found half started blogs and pages, where clearly their audience wasn't very big so they lost interest.  How very tragic is that!

One thing is sure and what was clear from every one I came across was that they had a reoccurring theme: they are a girly geek and proud!  I know in my late teens and early twenties I tried to hide my girliness, as I thought that was right.  I would always try and show all the kinds of things I like that aren't girly, such as football and computer games.  Let's face it though these days most girly girls, whether geeky or not, like football.  So there is nothing new there.

So what changed?  Why did I stop trying to hide the girliness within?  Yes I still like football, computer games, poker, etc.  I guess it's with age, you just decide to be yourself.  Although to be fair I have found out that I hid my girliness badly.... and was fooling no one.

Has this ever caused me any problems in my career?  No.  Have I ever been perceived that I can't do my job?  Perhaps sometimes when flustering and not using technical terms, or waffling.  Or indeed during the lazy days when I used to flutter my eye lashes and get someone to do my work for me.  I don't advise you do that by the way (and I haven't for many years!).... work gets very boring when you're not doing your job and after all I enjoy coding, so why get someone else to do something that I actually do enjoy!!

So now I'm confident in what I know to be right, and confident to say when I just don't know the answer, or sometimes add the phrase "I'm guessing", I think intelligent people respect me.  I say intelligent people, as they quickly see through the bubbliness, and the perfect nails, and see that I too know what I'm on about. 

I'm going to have to add, that sometimes it's how you deal with people, and that goes for whether you are male or female.  Us programmers have egos.  In this industry you have to know how to talk to people, how to suggest things, how to fight for what you think is the right way to do something and sometimes I get it wrong.  Sometimes "Miss Bossy-Boots" comes out, and then it might as well be game over, as no-one likes her when she shows her face.

I've tried different approaches at every company I've worked at, and while the stern no nonsense side of me gets the job done and gains respect from the managers, it becomes a lonely and unrewarding place to be.  It's only recently that I've learnt that bubbly friendly, working hard girl still gets the recognition, and not only that, it makes for a much more enjoyable day at the office!

It is interesting that during my early days as a programmer, I look back and don't think that I worked to the best of my ability.  However interesting enough I've been chatting to work colleagues from that time and they remember a different picture to me.  They remember me as being good at my job, or bringing something new to the team.  Someone recently even told me I was a breath of fresh air.  

I can only conclude, that I'm girlie, geeky and proud, and how nice it is that I'm not alone in feeling like that! xx




Wednesday, 8 February 2012

Agile?


This is my third attempt at writing about agile and why I like it!  I find myself going on while explaining, and not in the best way.... so I've decided to start this blog with a link to someone who can explain it all far better than I can.  Who better than Uncle Bob to tell us about it....


Be Inspired by Robert C Martin

When I first watched that video, it almost sounded space aged, now it's the world I live in.


I work in a 2 week iteration - I have a clear picture of what is expected of me, I know what my colleagues are doing.  I get quick feedback if what I'm doing is what the customer really wants.

I do TDD - my code is derived from my test, I don't write code without having a failing test.  I have confidence in anything I change.

I pair program - I keep focused by discussing and communicating what I'm doing and why I'm doing it, while I'm driving, I ask and learn from my colleague while they are driving, whilst I add any suggestions.

I keep my code clean - I try to write my code so the next person to read it can understand it quickly and easily.  We read code 10 times more often than we write it.

I refactor - with the confidence of tests I feel I can improve the code without damaging it, sometimes only in a very very minor way.  Leaving it in a better state than when I found it.  The boy scout rule - leave the camp site cleaner than when I found it.

I'm improving - working in short iterations I can quickly learn from any mistakes and improve.

In summary, I'm becoming proud of my profession and any work I produce.  It's a very rewarding feeling, and I don't want to work any other way.... well not until they have found a better way... and isn't that the agile way anyway?  Keep improving and finding better ways that work for you, for your team and inevitably for the project.








Saturday, 4 February 2012

Off Topic... Tattoos (& XML)

For the geeks out there you will instantly see why this bit of XML doesn't parse: XML Wrist Tattoo Straight after posting a mocking comment with the picture on my facebook page, I then quickly realised that maybe he wasn't trying to be "correct" maybe it was what the meaning of <love> </hate> actually meant to the owner.  Were they saying "don't let the love end, and stop hating before it's begun."  Anyway what does it matter, it probably means something to the person who was prepared to have the commitment of them inked upon their skin.

It only comes down to first impressions, and my first one was unfortunately a bad one.

Whilst watching a show with Davina McCall and Fearne Cotton, I was admiring their wrist tattoos.  I've always said I wouldn't get one; they are just the trend at the moment and will show your age in years to come just as tribal bands do now.  Many people are getting them just because celebs have them, but it got me to thinking about them none the less.  Don't they quickly give a glimpse of who you are, and they are sociably acceptable due to the popularity, (unlike for example a face tattoo) and a nice chunky bracelet or watch can quickly cover them up.

I've also said I would never have a tattoo that is visible while at work, just because of the preconceptions that people have of tattoos.  That said I'm never shy to tell people I have 3 on my back or show them to people who are interested, so what difference does it make?

Anyway perhaps something to think about after my next tattoo.  I have my next hidden tattoo planned, and I'm so lucky to be on the waiting list of one of the countries most talented artist who can pick and choose the work she does.... and I can't wait to show it off to who ever I choose!

Tuesday, 31 January 2012

How about a Raspberry Pi in Pink?

I recently tweeted @Raspberry_Pi: "do you think r-pi will encourage more women into programming? we need more women programmers- they are threatening to clone me!" With the kind response of  "We really hope so. Needs playground/kitchen table level changes, though; we're open to ideas on how to help."  (Are they referring to more women programmers or they clearly don't know me, if they are hoping I'll be cloned!! ha ha!)

Now surely a female in the software engineering world would have an idea on how to help.  You'd think, wouldn't you?  But the best idea I can come up with is a limited edition Pink Pi.  A bit stereotyped isn't it?  Or is it?  As there is no real reason for me to be in such a small minority, can it only come to culture, as I've mentioned previously there is a higher number of female programmers in other countries.  If it's a cultural thing then how can you say "hey girls/ladies/dudettes/chappess, it's OK for you to like computers and 'have a go', after all most men just make it up as they go along anyway!!"  What better way then to use colour, after all since being a baby we have been conditioned into thinking that pink is for girls.

I'd like a pink r-pi!!  It would be so cool!  I'm also wondering if with the "buy one - give one" scheme, if I can purposely say that mine goes to a female, perhaps even with the offer of me being their mentor if they'd like.

And of course I can always get my act together and start writing some open source for the pi....

With so much web traffic passing by here, maybe you have an idea?  If you do please comment!

xx


Monday, 30 January 2012

Slice Of Raspberry Pi?

I am massively excited about the recent excitement of the Raspberry Pi!

Wow!  Kids of today will be able to get their hands on this little gadget, they'll be able to learn and play, and perhaps hopefully learn how to program the little things.  Why is this so exciting to me?  Well let me tell you my tale.....

Where did it all begin for me in this world of programming?  In a land, far far away on a Radio Shack  TRS-80   16k extended memory.  I was in primary school, and I loved playing Frogger, Cuthbert in the Jungle, phantom slayer and similar.  Oh the memories!

For those too young to remember, this was one of the early home computers, and games were loaded via a tape player connected to the computer and by typing the command "cloadm".  It normally took 5-20 minutes to load into memory.  Only one game could be loaded at one time and when you switched it off it cleared the memory, so if you had a high score on a game you tried to keep the computer on for a long as you could, without your mum noticing!!  It also meant if you typed the wrong thing and it all went funny you could just switch it off and on again and all was previously forgotten and back to a clean slate.

"So what! Kids today have computers to play games!" You say?  The difference was with a computer back then it only started up with a command line, nothing to click, no options to anything and you had to know what to type for it to do anything.  It would start with only knowing the command to load a game.  Then it moved on to typing "cls 2", oh the sheer excitement of seeing the colour of the screen change colour.  For me I wanted to know more, I was just old enough to read and it came with these huge books that taught you about the computer and what you could type into it.  I would follow the little tutorials and get all excited that I'd made the computer do something that I'd asked.

These books taught me how to program.  Did I mention I was in primary school?  See it really isn't difficult to get the hang of the basics.  So much so that years later, when I came to learn algebra at school, it was really simple for me, after all I'd already learnt the likes of:

10 print 'Hello, what's your name?'
20 input a$
30 print 'Hello ' + a$
40 print 'How old are you?'
50 input b
55 c = b + 10
60 print 'In 10 years time you will be ' + c + ' years old'

I also learnt how to refactor at this age, from this :

10 cls 0
20 cls 1
30 cls 2
40 cls 3
50 cls 4
60 cls 5
70 cls 6
80 cls 7
90 cls 8
100 goto 10

turned into

10 for a = 0 to 8
20 cls a
30 next a
40 goto 10


And now look at me I've made a career out of things I learnt when I was 9!!  As have so many other programmers.  It has always seemed that everyone in this industry is my age, as if it were our generation that was captivated by being able to tell a computer what to do.  And here I raise a glass to the Raspberry Pi and hope it inspires and grasps the imagination of everyone everywhere!!

I can't wait for my little slice of Raspberry Pi.... and what it potentially holds for the future of software development.... xx




Saturday, 28 January 2012

Lack of female programmers...

I am a self confessed girlie geek. I might well get excited about the new version of android or getting a job where I can use a new trendy language commercially, but I still love spending time at the beauticians.  And today I am wondering the trivial question of what colour to have my nails painted this time. In fact yesterday in work I looked at my nails and almost (I say almost) asked that very question of my work colleagues. Then quickly thought twice about it, as the boys I work with would not understand. And yet again I let out a sigh about the lack of female programmers.

In my 15 year career, I have worked with very very few female programmers, and I'm still confused to why that is. Also,in my experience those ladies were doing their job, but I never felt they had a true passion for the works of programming as I do.

Ok, first question I hear you ask is why do we need more female programmers? Putting aside the simple fact that I'd like that 2 minute conversation every now and then about shoes and nails in work, there are many other reasons why we need more of a feminine touch in the software world.  I'll tell you something too, everyone agrees with me, and all the men in the industry want more women in their working environment.

It baffles me, and I probably have to hasten to add it's the lack of female programmers in the UK, as I hear there are a bigger percentage of women working in the sector in India.  It can only come down to a cultural thing.  When I was in primary school, my dad bought me a computer; a TRS-80 16k, none the less!  And father Christmas would always accidentally leave me a "boys toy".  I loved my hot wheels and scaletrix.... and I think that's part of the reason I have never felt like I can't do anything just because I'm a girl.  A side note is needed here:  I loved my Barbie dolls more than any other toy, I was never a tom boy!

Maybe that has nothing to do with it, and maybe I shouldn't even worry about the percentages, it's never caused me problems in my career.  After all I've always got along with men better than women.  Even most of my female friends say they get along with men better.  I don't know what that means!!

Coincidently, while at the car show room and talking to the female car sales rep, she told me she prefers working with men, as it's less bitchy.  I wonder what it would be like working with less men and more women.  One thing is for sure, someone shouldn't feel like they can't do something just because of their gender.

Anyway.... I decided to get my nails painted red today! xx

Friday, 27 January 2012

Why Write A Blog?

There are many reasons to write a blog.  One of which is to get attention!  Another is share ideas..... and of course another is to get your voice heard.  And I'd like to add another to that list, I'd like to improve my English skills.

These days we have little reason to write "essays", in fact with facebook and twitter we are so used to just writing our thoughts and feelings in a simple sentence to be heard, but seldom do we write paragraphs and pages of our thoughts, expressions, and perhaps sometimes just our own pure waffle.  

Hand written letters are virtually unheard of now a days, yet when I was a student my main point of contact with the outside world (outside the student union that is!) was to hand write letters to my friends and get all excited when I would receive 7 letters in one day.  These days I barely email my friends, either I text them, comment on their status or of course see them!  I may be a geek but I get out and about too!

So, by now you may well be asking, why start now?  Why is keeping up your English skills so important in the world of micro blogging?  Especially to a Software Engineer.  Why would a Software Engineer want to improve their language skills?  Do I just work in the world of logic, maths, variables named 'a' and a bunch of computer statements, and such things that don't make much sense to those who don't understand 'code'?  Simply put no.

I work in the world of creating, using artist flare, almost poetic like writings, in order to not only tell the computer what I'd like it to do, but also the next person who comes to look at my code.  I feel it is of equal importance that the next reader of my work can understand exactly what it is I'm trying to achieve in my writings to the computer.

That's an important statement, as so many people fall short of remembering that we work as a team.  In a land of thousands and thousands of lines of programming code, why do we add more complexity than necessary?  Why do we feel the need to "encode" what we are trying to do? and why do we almost force someone else to figure out what we were thinking.  Why don't we just tell them?  

Are some of you out there currently thinking that I'm talking about comments?  Comments?  Comments should be banned!!  Comments are evil!  They are noise, sometimes inaccurate, sometimes confusing and sometimes just damn wrong!!  Sometimes left over from old code, that has since been deleted and left the code base.  They are rarely compiled and tested to ensure their accuracy.  And hey code isn't a foreign language, we shouldn't need to put in a little translation, we should make our code English and easily understood.  

As Software Engineers we should put in the effort to make sure our code can be easily read.  After all we read code 10 times more often than we write it.

So here we are...... the very reason I am starting to write my blog.  To be able to practise my communication skills, where I don't need to worry about a misplaced ; or a missing end } - which to be fair with such advanced IDEs these days who needs to concern themselves with such trivialities?

First practise over..... xxx