Monday 26 August 2013

Girl in computing

Hello!

It's been a long time since I've written on this space.

One year ago, I did something crazy and took up CS3216: Software engineering on modern platforms. I met 34 other people who made the same crazy decision and the rest is history. I was intimidated by the overwhelming passion that my classmates exude at that time. They discussed new and upcoming technology, they dissed (and hissed at) outdated and old fashioned ways of software programming. I was just wide eyed, soaking in all that was happening and wondering how and why I was there.

 I learnt a lot on my own. Did plenty of programming, and plenty of thinking. The course turned my rosy "studyhardandgetgoodgrades" world upside down.

But today, I just want to write this post about my experience as a woman in IT.

At some points in my undergraduate years, I wrestled with the thought that ladies will always be perceived as inferior in computing to the gentlemen out there. I fought that thought, but it was not easy to convince myself. I felt discouraged when I could not keep up and still unsure when I could.

I have female friends from other faculties who would cringe at my laptop screen filled with courier sans font size 8 codes. They'd try to read for about half a second before they'd exclaim that its impossible to read. I would then try to explain what I'm trying to accomplish. I felt like an odd girl, and sometimes questioned myself about my passion for IT if it was real. But how could it not be real? I had dabbled in programming since 12.. And then another half of me would argue that my passion wouldn't compare against those guys I see in class either!

Google Exec to Girls: Tech needs you

Then I stumbled onto the Google Anita Borg Scholarship webpage and was deeply impressed by the motivation behind the scholarship. I applied while I was on my exchange in Korea. I was notified that I was selected (it was an euphoric moment of my life).

Google Anita Borg Scholarship Retreat video

I'm really looking forward to going to Sydney for the retreat. I'm nervous too! I believe it will be another eye opening experience for me.

I really want to thank everyone who was a part of my CS3216 experience. The experience put me through fire, refining me into being ready to take on life's challenges in technology.

To all students taking it this sem, get burned and be refined into gold.

Wednesday 5 December 2012

Week null: Last words

As promised, here is part II of my last post.

i cringe at what i wrote a few months back "What I hope to obtain from CS3216". I suppose its similar to how you ask me as a child, "what do you want to be when you grow up?"

some of the things i did manage to fulfil is the learning how to use facebook's api, html5 (well, it was a good learning start). learning about other apps out there and having new ideas - well.. in some sense, i think assignment 2 did help with that.

"Teamwork:
    • To learn how to assist each other in a project, and have a proper workflow process
    • To learn from one another and build on each other's strengths
    • To foster good friendships with team members that will last even after the module "
This point is really interesting. I really did learn much about teamwork. I also fostered great friendships with team members and I still keep in touch with them after everything is over. I'm so glad to meet new friends in NUS and I also hope that we will still keep in touch in future.

Some lessons learnt in CS3216:

I proposed an idea of a project without knowing if the combined team has enough time, skill and resources to succeed in it. first step to admit the mistake is done. now the next step is to learn from it. the next idea i proposed was more manageable, but the execution could be much better.

everyone's human. in the final project where there was only 3 of us, we were very open about our schedules and what we spent our time on. we knew which parts of the week were off peak for some of us. part time teaching, fyp, job applications and interviews. i believe these are all very important and it really helped as we knew what each other were going through. its encouraging when we ask each other how we are coping in various aspects. 

bugs. when it comes to nearing deadlines, most of the things that needs to be done is completed. the things left are bugs. but those bugs! wow they sure take a long time to solve. in this module, people can miss small bugs that is very hard to reproduce. but in the real world, its going to create mess and have consequences. test, test & test. as the developer of the code itself, i have this syndrome of being unconsciously selective of my test cases. in that sense, i am blinded by my own mistakes. this module has really taught me about my weakness and i will now consciously make an effort not to fall into such mistakes.

passion that what i do is what i want to do. out of all the coincidental things that happened this sem, here's one. after the external pitching session, i wrote in my blog that i was interested in doing the preschool app. fast forward a few weeks later, when everyone was getting into their final project groups, i found out that trung wanted to do the preschool app as well! really glad that trung, zhoubo and i formed a team after that and made this tissue paper pitched idea turn into reality. in the final poster presentation session, i was very happy to introduce what we did to all the people who came by to visit. i suppose my team's enthusiasm about our product and what it does rubbed off on them and made them vote us in as the #3 app in cs3216 (: i'm really happy that other people liked what we have worked on in the 6 weeks given.

im really thankful to my team mates, the teaching staff, and Colin, our cs3216 prof for this experience of a lifetime. 

and with this, my last post ends. thank you for reading my blog and please let me know anything by commenting on my posts. 

Friday 16 November 2012

Week 13: light at the end of a tunnel

greetings.

its the last day of school, and so much has happened this semester. alot of times, i ask myself why am i doing the things that i'm doing. and my answer is always because of commitment and responsibility. taking this module means putting in my 100%, and even if this 100% is nothing compared to a percentage of any other of my classmates, thats something which i cannot push myself beyond.
there's a lot of things that i've learnt from this module, some self - discovery and crossing out of things which i shouldn't spend my time on anymore.
being a front-end developer has its set of challenges and the x factor which differentiates between good and best. many people have different opinions on what is better and its not just within the group, externally too. i actually see layouts in a different way now. i have started to notice details like the framing, shadows, colour schemes, element arrangement, and animation effects. i realise that if i don't have any good creative ideas myself, i can always look elsewhere for inspiration. but of course, keeping the design consistent.
working with my final project group members: it was entertaining, encouraging and educational all rolled into one. i heard life stories, lessons learnt and plenty of good advice. we laughed together, we laughed at each other. (tongue twisters - super rofl) staying up and camping in school till 2-3am didn't feel anything like torture. but of course, when the fatigue sets in... nothing can prevent that. being a highly strung up person, i learnt more to take things in my stride and let go of things that will never be. soon, in a few days, this will be all over and in a month, we will be spread across 3 different countries. i will still carry the fun memories we had as a team together :') of course, we will be following up with our clients to finish up, negotiate and deliver the product to them.

perhaps i shall call this post part 1 of the last reflection. look out for part 2 in a few days time!

Saturday 3 November 2012

Week 11: what day is it today?

Hey what day is it today?

I have no sense of my days and hours anymore.

Rushing for the final project this week, getting bugs fixed and having new features which were requested by the client. If we can do this right, the game is won. We must satisfy the client.

I think that the aesthetic design needs some spice and yet I still have to meddle with the more important features first. Everyone always judges the app based on the UI first though, and even if the functionality is rock solid, the impression is always based on the aesthetic design.

Here the same problem haunts me where I am not specialised enough to excel in one area. I learn a little bit of everything and dabble here and there with codes, image editing software and such. But in the end, it all becomes very mediocre. Can creativity and eye for design be trained? I think its possible, especially if I expose myself to other people's work. Start noticing the things that make the difference. That factor. Tutorials? Maybe, but that won't go too far, just a kick start.

I think the preschool children are just ultra cute :3 I was managing their accounts using the admin interface. Their bright cheerful faces in the photos just make me feel fuzzy wuzzy warm (: wouldn't it be nice if I get to interact with them.. Unlikely though ): the app is for parents and teachers.

I need some sleep, will be getting some now!

Monday 22 October 2012

Week 10: Scalability

Today's talk covered so much breadth, it was quite a lot to take in. For the topics that I have some background knowledge in, they were easy to understand, but for those that I have never heard of, I felt quite lost.

I like how the speaker linked back to his real life experiences from his presentation. And it was also very entertaining because we as NUS students are the users and have used CORS. Finally I get to see someone in real life who is behind all the magic that goes behind the scenes of CORS. Also there was plenty of discussions about fire in NUS.

Just a short summary of what I've picked up from the lecture (purely from memory!)

1. no data, no talk
2. random tuning
When there's problems happening, the last thing we want is to be accused of something that we are not responsible for. We also shouldn't be quick to point fingers at other parties before examining the evidence (data) We know that there are tools which will objectively produce data that can determine which component is underperforming.

3. ajax requests overloading the server
at the application side, we need to think about how we can optimize some operations to prevent unnecessary loading of servers.

4. to use commercial cloud services or to host on your own server
some restrictions like privacy will render no choice. but for other cases, this is a decision that requires a lot of careful planning. However, i feel that using commercial cloud services will outsource the expertise very well.

Tuesday 16 October 2012

Week 9: security

On this day itself, I was at the public service career fair and talking to a representative from Internal Security Department. Later on, the talk given at our lecture is also about security.

The speaker's profile is very cool, he works in IBM and graduated from MIT. He gave us some idea of how IBM is structured. I also remembered how he mentioned that when choosing between a new feature and enhanced security, security should always be picked first. I realise that many developers may be pressured to outperform competitors and choose to focus on features rather than security. I guess this is very good advice. Many people don't realise the importance of security until something really bad hits.

Also, there was some discussion on privacy. Sometimes, having more security will compromise privacy, and the analogy given is that of airport baggage checks. Also, like using phone numbers and emails to verify identity.Yet something I never thought of is that people have different perspectives of what information is considered private to them. In some countries, age could be a private information, while in Korea, it is often one of the first information requested from one person to another while meeting for the first time. (This is because they would like to know how polite they need to be while conversing.) They are very open about revealing their own age.

Tuesday 9 October 2012

Week 8: a visit to wonderland

My group is working together with Between 2 Trees preschool! We exchanged lots of emails and also sent our proposal to them. Today, we went to visit them at their location!

The place looks really nice and I really love the concept of their company.

Meeting:

We had much things to discuss. As we exchanged emails beforehand, I could sense that they had a different understanding from us. Before the meeting, we had a whole set of questions to discuss. Our clients have quite a clear idea of what they wanted.

In the meeting, there was a teacher present so that she could feedback on user experience. We were also assured that they would invite at least a parent and teacher to try out our app to give more feedback when we complete the minimal working version. I could sense their excitement throughout because this idea is something that they would really want to use and also even push out to other organisations with similar needs.

We discussed issues like privacy of children's photos. There is a trade-off between the social media sharing and privacy. The question is - do we want to allow parents to share picture updates of their children on Facebook which might compromise the privacy of the child?

We also took time to explain some technical aspects of the project during the meeting. Actually, its not very important for those details to be discussed. However, our clients were quite happy to gain some extra technical knowledge. They even (cheekily) asked us what API stands for - like a test!

Overall, I feel that the meeting was effective. There were a few points that they needed to discuss among themselves before they revert back to us. We need to re-arrange our wireframe now so that the interface will fit into a mobile interface.

Lesson yesterday:

The Facebook guy came and gave us a talk which covered many things at one go. He dropped a few names of apps which became very successful and also elaborated on what were the ingredients of their success. One of which, is timing. The more I think about it, I think windows 8 development should be seriously considered as the timing is right. The Facebook guy encouraged us to "move fast", and he also cited his previous company a few times to illustrate the consequences of being slow to react to new technology. If we keep "moving fast", then we will always be learning new things and throwing away the old. Just like how i feel like throwing my current phone away and buying a new one.

The second talk is by Sharifah from K2 Associates. She gave a few examples and snapshots of how we can organize information in a constructive way. During elections, information posted by the general public will help politicians to get a feel of the public's response to their campaigns. In anticipation of the future talks which will continue to lead into this topic.

-Pei Yi
ABOUT ME

PEl Yl
NUS Computer Engineering '14
Loves pet hamster Rosky
+Cats!