Disclaimer: If you decide to read this, please do so with the understanding that this is MY story. I don’t (and I can’t) speak for anyone else. All I can do is tell MY experience.
This was written as a soul-searching self-discovery after being so inspired by Scott Hanselman at Microsoft Web Camp in Austin that he made me re-think what my perception of possible might be. In no way was this written to generalize, stereotype or speak for women in technology in any way.
A friend whose opinion I highly value & respect (and also a female developer) seems to have been offended by this post enough to make me want to take it down. I was convinced not to with the argument that removing it won’t enable me to control how she, or others, perceive me.
I haven’t walked her path (or anyone else’s), but HAVE realized since I wrote this that my story is about how it felt for me to be different. My difference just happens to be that I’m a blonde girl in a developer world, but could just as easily have had the same feelings if I was 7’ tall (I might then be called Dot Net Bean Pole? Dot Net NBA Player?), or had blue skin (Dot Net Papa Smurf?).
I hope if you DO decide to read this, that you can see the overall message of encouragement to walk through any door that might scare you. The amazing people who have inspired me since I took that initially uncomfortable first step into that first user group meeting make me me glad I did every single day.
Hi, my name is Cori, and I am a nerd.
This is my first blog post that I intend to use as possible relatable DataContext for that person out there (or maybe two people) who might be able to relate to my (unforgivably long) story.
I do not use the term, “Nerd,” lightly. I embrace it. I take pride in it. I live the stereotype. There are many, many names & faces I don’t know or even recognize at work because when I get there in the morning, I close my cube & unconsciously seem to avoid human contact (often even eating at my desk), working until I leave at night. I feel socially challenged & awkward, so logic is & has always been my comfort zone. Math was my favorite subject my entire life.
With the exception of my family & close friends, my only human-interaction-comfort-zone exception is the one-on-one interaction I get with others when knowledge-sharing.
That is the thrill that drives me.
That is the high that makes me passionate about development.
The simple fact that I will NEVER be done “learning programming” is what gets me up in the morning. It’s what gets me excited about my career, not only 9 to 5, but in every waking moment (and when faced with those conceptual programming challenges, in my dreams as well).
But I digress… regarding the term, “nerd,” everything about me feels like the stereotype… except that part that made me name this blog Truncated CoDr.
I am female.
I am blonde.
I am uncomfortable with that. This is why:
I have never been able to relate to the stereotypical “American Girl.” The fact that it’s not only socially acceptable, but expected to not only act, but BE stupid if you’re a female in America makes me lose my mind. The stereotypes – even on the Disney channel – make girls either stupid or bitchy, and that is not ok. I did not like that before I was a parent, and now that I have 4yo & 7yo girls, it is even more frustrating.
As one who truly identifies with the “nerd” stereotype, I also do NOT like attention. I try to avoid it, often hiding under ballcaps at conferences or events.
When I got the nerve up to enter a Smart phone texting competition (because I was ignorantly SURE my slide-out qwerty would beat on-screen keyboards) at Codemash 2010 & Brian Prince asked “How come we don’t have any girl teenagers?” at 6:01 while aiming the camera right at me, I swore I would never put myself in a position like that to feel so embarrassed & called out (not to mention called old) in front of so many people again. Retreat. Back to my black hole of comfort zone….and I haven’t [funny - watching it a year later makes me wonder why I was so horrified at the time].
But attention still finds me of late, because I look different.
Just last weekend while attending the 2nd day of the Dallas Day O’.NET conference, a girl I went to high school with posted this on my facebook wall, “So…apparently yesterday the girls from my work were calling you Dot Net Barbie since you’re so cute and when I said hi to you this morning, my boss said “Do you know Dot Net Barbie?”
…WTH. I was only at day 1 for 2 sessions (had to leave to pick up sick kid at school) & didn’t even VISIT any of the booths. Too much attention. I knew I should have worn a ballcap. AHHH Attention for nothing. RECOIL RETREAT RUNAWAY.
But enough about that for now…
There is nothing I like more than to “understand the why,” and to be surrounded by people who know more than I know. Historically (before my current job), when I became that person who knew the most, I would get bored & start to self-destruct.
Thankfully, that was a different time, a different life, and a different career.
My Journey to My First Career
Until my current job, I had no idea what I really wanted to be when I grew up.
When I graduated high school in 1991, there was no internet as we know it today. Because of my love of math & Inorganic Chemistry, I moved to the Boston area to go to school for chemical engineering. That’s where I was told Chemical Engineers can work on the same project their entire lives & never see the end because funding could get cut.
Because of my need for closure (conclusion, not the programming term), I realized Chemical Engineering was not for me & transferred to a (more affordable) fashion school in LA because they promised me extensive computer courses if I chose textile design as my major.
Unfortunately, I went there for an entire year & didn’t touch a single keyboard. I learned beyond a shadow of a doubt that I was definitely not born to be a creative designer / artist.
I left that school & came back to my home base of Dallas (yep – moved back in with Mom at age 22) to try to figure out what I wanted to be when I grew up. I worked a few jobs through a temp agency (loan document processor at a BofA corporate, secretary at GTE World HQ, etc). A coworker at GTE at the time told me that a Photoshop 3 class was being offered at a local community college by a teacher she recommended after taking his Quark Xpress class, so I signed up.
Photoshop. Yeah, baby. Now THAT (computer experience) was what I was led to believe I would be getting at my 2nd college, not Gouache (pronounced gwash as in squash) paint.
I picked up Photoshop quickly, learning every technique & keyboard shortcut I could find, soaking up every morsel of information I could from my teacher. After the course was completed, I was offered an unpaid internship doing high-end digital photo modification & editing, with the company owned by the teacher. I jumped at the opportunity, working there during the day while paying the bills working as a server (waitress) at Planet Hollywood at night.
This internship led to my first “real” job, in the Advertising Department of The RoomStore Corp HQ, where I did Quark, Illustrator & Photoshop work, creating ad layouts for each of their stores for every sale & holiday event (I believe there were 13 stores at the time).
Side note: Hiring for my replacement when I left opened my eyes to how bad people lie on their resumes.
“Do a clipping path around that couch & drop it on a new background”
“I only did b&w Photoshop.”
What does that even MEAN?!?!?
I was hired away from this job by the traditional advertising agency my Photoshop mentor had worked for before starting his own company. I enjoyed this job (I even got their coveted “Rookie of the Year” award) until I had not only learned everything I could about the tools I needed for that job (Quark, Illustrator, Photoshop), but had also voluntarily become the resident “fix-your-mac” expert, with no one there left to learn from. Yep, my first machine was a $3800 Power Mac 6100 that I took out a loan for with my mom as a cosigner. I think it took me about 7 years to pay that thing off :-).
My next job was at a prepress company. If you’re not familiar with that term, here is wikipedia’s definition:
“Prepress is the term used in the printing and publishing industries for the processes and procedures that occur between the creation of a print layout and the final printing. The prepress procedure includes the manufacture of a printing plate, image carrier or form, ready for mounting on a printing press, as well as the adjustment of images and texts or the creation of a high-quality print file.”
We would get files overnighted on SyQuest disks (I think each disk could hold something like a whopping 44MB), and have to do the layout & color separations for press (CMYK, spot plates, varnish plates, packaging, film, etc.). I learned those tools, plus another high-end trapping system called Barco, as thoroughly as I could, and became part of a 4-member team dubbed “The Red Hot Team,” responsible for the most urgent projects with the fastest turnaround (I did NOT come up with that name).
For a more concrete example, one of the Red Hot Team’s biggest clients was a sports trading card company. Their designer would create a prototype card & my team was responsible for creating clipping paths from every high-resolution image for every player; placing each player on the card with their respective info (Name, stats, etc), proofreading, prepping the files properly for the various ways they wanted to print cards (many projects had around 20 plates, including C, M, Y, K, white, emboss, die cut, x spot colors, etc.). It was a technical job where precision was key since that process also included “trapping” the proper elements to account for variance on press.
Due to the technical nature of this job, we were called “Digital Production Artists.”
From Production Artist to Programmer
After 3 years & about 5 positions there, a former coworker from the ad agency I had worked at prior recruited me to my current place of employment, for a position in a new department they were creating to act as a liaison between designers & developers.
In a nutshell, I knew nothing about building web sites, and didn’t understand the term, “cut images” when I interviewed, but was hired after a very lengthy interviewing process based solely on my enthusiasm, confidence, perceived aptitude & Photoshop background.
I had tried to get into programming during my last position at my former job, where I had moved to the “new web team,” but the person who ran it (let’s call him “Cedric A”) had a fit when I said I’d like to be one of the programmers. He very clearly told me there was too much risk with me TOUCHING any code, and that as a female, “my place” was in customer service. He was, 100%, the only reason I left that job.
So on Oct 9 of 2000 (at the age of 27), I walked in the door for my first day of work for my current job & was informed that between the time I was hired & the day I started, the decision had been made to dissolve the department I had been hired for.
They gave me three options:
- Be a designer
- Be a programmer
We had a few VB sites back then. We also had “that guy” who was always too busy to work on them, so to my surprise & delight, the team was open when I spoke up and said, “I’ll try!”
“I’ll try” has become my 2nd favorite phrase btw, my favorite being when I get to follow that with, “Holy sh*t! It worked!”
In May of 2003 (8 months pregnant with my 1st child), we had the privilege of working with a client who wanted his site built on the “new ASP.NET Framework,” and I got to be a part of it (FW 1.1 was released April 24, 2003). My manager at the time took me under his OOP wing, and the whiteboarding & all-nighters began.
The site had various aspects like location-based service calls that had to be plotted on a 3rd party map, very functional Flash that had to be communicated with, etc. This was not as easy back then as you might think of it being now that some of that stuff is old hat (especially when both devs are new to c#.NET & WebForms, and one dev is new to OOP as a whole). We had quite a few late nights throughout the project, especially during the week of launch with no contingency plan if baby came. We pulled an all-nighter the day before the site launched (like you do), which was also one day before my due date (although I didn’t have her until May 22, 8 days later).
The client was thrilled with the results…. so thrilled, in fact that we got to build quite a few of their other brands’ sites on .NET after that project.
Unfortunately my OOP .NET mentor left in July of 2004.
We do so many different projects with so many teams, that I didn’t really have a lot of resources to ask my questions to. It’s hard when you can no longer just walk into an office and get a quick, in-person whiteboard session.
For the next 5 years, I worked on .NET 1.1 & 2.0 projects. I was quite fortunate to get as many opportunities as I had to figure out how to build cool things with variations great enough to constantly challenge me… things like:
- Creating many “standard” web sites that implemented SQL Server because of either a Contact Us page, maybe a registration page (Our DB layer consisted of running our db through a tool that had been created by my mentor to write the crud stored procs & stub out those db calls for years after he left)… then we did a few projects using CodeSmith NetTiers before moving largely to Linq2Sql, which we still use because of its easy maintainability / lack of ramp-up-time (I took a six-week Entity Framework class taught by Zeeshan Hirani but our software architect is waiting until EF is more intuitive with less training to roll out).
- Web admin systems that included document uploads & management, communication with 3rd party api’s, database authentication & even a “help desk view” on one site, so help desk users could see what the logged in customer was seeing, without having access to make changes to the customer’s account.
- A WinForms kiosk application that got reused so many times it became an actual company offering.
(A client came to us and said, “I know you don’t do this kind of thing, but I’m not happy with my current company who does this work for me; Can you do it? My response? “I’ll try!” …followed by, “Holy sh*t! It worked!”)
This was one of those interesting-with-lots-of-learnings-but-painful experiences. Because we were not a WinForms shop, I had to figure it out with no one I could ask, and no prior knowledge of WinForms whatsoever. I WAS fortunate to start with a template (built by my mentor before he left) for a one-off trial app with a controller & interfaces implemented everywhere… I didn’t really understand the reason for those interfaces back in 2005, but through the magic of “copy paste modify” got it to work.
This app also had to scan conference attendees’ badges & parse that info into on-screen, editable fields. Something to note here is, that was the biggest part of the rebuild for quite a while, from conference to conference, since every one had a different format. I finally got this decoupled into an xml config file, but the variance in delimiters made abstracting that out a challenge & also disabled us from changing this to a web app (some conferences used ctrl-b as a delimter, which got intercepted by IE before I could receive it). It was an exciting day when I finally got that configurable; incidentally it is also the reason I did not move it to a WPF app, since my badge scan spec files use keychar codes, which seem to be less accessible in WPF).
Another learning I gained from building this was in logging tracking events to the DB of events called by both the WinForms questionnaire & the embedded Flash swf with the pharma sales aid, then building a web interface admin site that pulled & graphed real-time data (WebCharts from http://www.carlosag.net/ were gloriously understandable, ahead of their time & free :-).
Fortunately, the client was thrilled with our work, enough to rehire us for at least 45 subsequent conferences that I know of since that first “Can you try this” question in 2005.
Because I was the only person who worked on this (until I documented it & trained a couple of others so I could go on my 2006 maternity leave stress-free), and because they used variations of this app for about 8 brands / conferences a year, I got to continually enhance & improve my app, eventually implementing ClickOnce deployment on thin clients, and implementing concepts like Abstraction organically from the need to decouple, before I even knew what those terms meant.
During this 5-year timespan, I was able to go to coworkers with some of my questions, but did not have the luxury of getting many code reviews. The nature of the kiosk app didn’t really lend itself to providing me with resources to review my code.
There has been more than one occasion when I have been looked at like I was crazy because I would BEG for a code review (“but your projects rarely have reported QA defects”). That reaction is one I never understood. In my eyes, there is nothing that has potential to be as enlightening as a code review, and there has never been a code review I’ve attended where I did not learn something.
On June 24, 2009, Microsoft DE Chris Koenig came to my work to speak about WPF. I was included in the meeting because I wanted to rebuild my kiosk app with this “new Winforms Replacement” technology.
During his visit, he informed us of the large .NET community in the DFW Metroplex. I had no idea any user groups existed before his visit.
This visit was life-changing for me.
Up to that point, I thought I was doing what I was supposed to as a programmer, but had no idea how much bigger it was & could be. I was also very insecure about showing anyone anything at work, assuming that anything I had picked up was known by any other developer that worked there.
After Chris Koenig’s visit, I started attending as many user group meetings and conferences as I could. I was incredibly intimidated because I didn’t look or feel like I fit in, but went regardless, absorbing every talk & topic I could.
For me, this .NET Community was (and is) this magical, inspiring place, full of every person I’ve longed to talk shop with since my mentor left in 2004.
I remember the first time I saw Toi Wright speak August 25, 2009 at http://www.dallasasp.net/ in front of a huge room FULL of programmers on “Best Practices with Enterprise Library.” It was one of my first user group meetings, and it was all I could do just to walk in that room. Then Toi spoke. I was in awe. I came home & told my husband all about how amazing she was with her knowledge of what she was presenting, and with her comfort level speaking in front of that group, AND SHE WAS A WOMAN (take that, “Cedric A”). Toi left quite an impression on me. (Coincidentally at the time, I was working on a project that implemented Enterprise Library, so it was helpful as well.) After I saw her credentials, I was left longing to have had an earlier start.
What I would have given to trade all of those hours I wasted trying to find my real passion with my nose in the right books instead. Trying to juggle playing catch-up from not getting a B.S. in Computer Science after having a family has been an enormous challenge for me. Thankfully, my husband has been wonderfully supportive about all of the 6-9pm meetings.
Another memorable event happened a few months later, when Rachel Appel was in Dallas for a few weeks. The buzz around her was crazy. Everyone in the DFW UG Community LOVES her. To this day, I’ve never seen anything like it. I attended a couple of her talks & it was standing room only. It was inspiring.
I go could on and on, citing memorable event after memorable event (Tim Rayburn’s talk on Parallelism; many wonderful podcasts I listen to while commuting & jogging; CodeMash 2010, etc etc). I just have SO MUCH APPRECIATION for these opportunities & experiences.
In early 2010, I got to work on a project that had been architected with patterns on patterns on patterns (with a team that did code reviews!) for a WCF REST Api. Prior to that, I had really only been on the consuming side of api’s, which made them these mystical black boxes. To actually be tasked with creating one (and guessing what 3rd party consuming sites would want with that data) truly changed my perspective. That project was a HUGE contributor to my growth, enabling me to start understanding concepts in ways I had not even had to think about before.
After that project, I had 2 Silverlight projects that
really kicked my were conceptually eye-opening in many ways. Because I was the only person at my office trying to learn WPF & SL, the opportunities that came to my work were given to me (by default) to figure out.
- For the first one, I painfully rolled my own MVVM, finding out the hard way things like INotifyPropertyChanged didn’t hit elements in the TabControl that were not in focus (part of the project included a login tab whose state determined what showed on other views). This project also forced me to really take a look at events & other concepts I had not been forced to truly understand before (thanks to double-clicking on the event from the properties windows in webforms and winforms and having that part generated for me without the need for me to really understand what it was doing). Boy, did that make me appreciate & worship Laurent Bugnion for the simple elegance that is MVVM Light.
- For the 2nd one, I was tasked to build a Silverlight date picker control after my concepts around Silverlight had been built up thinking you could do everything through a knowledge of MVVM and the Blend IDE. The realization that controls were built with pure c# & it was harder to see, create & modify the default templates you had to create was both frustrating and eye-opening, but it also gave me a much bigger understanding of just how separated views are from the logic that drives the controls (and why some controls have so many nested templates). It also introduced me to concepts like data virtualization, the Metro UI, Dependency Properties, etc.
Thanks to the wonderful DFW User Group Community & the power of Twitter, I had access to amazing people with true, real-world experience doing WPF & Silverlight. Expression Blend MVP Teresa Burger organized a local working group called “Blendability” that consisted of a group of us sitting around a big table, passing around the cord for the projector as we each had the opportunity to present our challenges to the group of about 10 people & help eachother try to solve each challenge. The conversations I had at these meetings were consistently those priceless, “AHA! Moment” types of conversations.
In September of 2010, Rob Vettor started http://www.hands-on-coding.net, an AMAZING user group where he presents deep dives of topics like Collections, Delegates, Events, Lambdas, and ties back how they all relate & differ. Rob is one of those rare technologists who has that gift of presenting information in a broken down, understandable, relatable way (similarly, that gift of presentation is why I have so much appreciation and respect for the Hanselminutes podcast).
Why So Insecure?
- I have never programmed anywhere else, for any other company. I had no perspective of what I knew or didn’t know, especially compared to others who came in with programming backgrounds.
- I did not go to school for programming.
- For years, I asked the person at my work who ran the .NET Advisors group if I could please PLEASE attend meetings just to listen & learn – I made it clear that I was not trying to make him admit me as a .NET Advisor. I just wanted to learn from them.
He never let me come, and repeatedly dismissed my requests with, “you’d be bored – it’s mostly administrative.”
- Maybe the lack of women in programming, combined with how much I feel I stick out at events has made me feel like I need to work twice as hard to prove myself? (On more than one occasion, I have felt dismissed before I proved I could hold my own in technical conversations). I don’t want to play that card though; or at the very least I don’t want to feel this way.
Before this career I never, ever, not once felt I had ever been treated differently because of my gender & would get mad when I heard others talk about being treated differently for it in the workplace, as I had not felt affected by it or treated differently for that.
Experiences like the comment by “Cedric A,” and this one I experienced in Austin make it difficult for me to ignore or keep my head in the sand though:
On day 1 of Austin #WebCamp’s after-event at the Dog & Duck Pub, I got to be a fly on the wall when Scott Bellware was asked, “What is your opinion on women in technology?”
His response? An emphatic, “Oh f*ck.” It didn’t offend me; he was hilarious, but reactions like that are the ones that make it hard for me to pretend attitudes like that aren’t out there.
Although I’ve been at my job now for 10.5 years, I’ve only known about & attended user group meetings for about 20 months.
In that 20 months, I’ve experienced a phenomenal amount of growth, not only in my understanding & awareness of technologies & concepts, but also in my confidence.
Instead of that fear that I used to have to try something (what if it’s not right?), I seek it out. I have always loved to troubleshoot, and that’s what I’m getting to do at work, now more than ever. I’ve always loved working there, but have recently become ridiculously smitten. I’m just enjoying this path of learning so much it’s almost scary.
A surprising result that has come from that has been in my approach helping other devs at work. I’ve found myself making a concerted effort to help new developers, not by doing it for them when asked, but by sitting at their desk, instructing them what to do & why.
I’m admittedly shocked at how rewarding it feels to be seen as a helpful, approachable, trusted advisor (when I know how it feels to long for someone to ask for help).
So What’s The Problem?
Although I’m more comfortable going to events now (I actually went to a 2-day WebCamp in Austin BY MYSELF last weekend [gasp]), I am now getting quite a bit of encouragement to actually talk at user group meetings. My insecurities make me scream & run the other direction.
- I need to learn more, especially since I didn’t go to school for it
- I blank out when I get nervous
- I shake just ASKING a question in front of people
- People can be MEAN [@antichipps]
- I need to learn more
- I need to learn more
The thought of Public Speaking in any capacity is WAY beyond my comfort zone, and yet there are already regrets I have for not presenting some of my User Group learnings at work.
Dynamic Data, for example, became one of those incredibly helpful tools in my toolbox that has proven to be invaluable since I saw Shawn Weisfeld present it, and although I have shown it to people one-by-one at work, I regret not getting up the courage to present it to the ~45-person Tech Department as a whole.
When I saw NuGet presented at Microsoft WebCamp Austin last week, it had the big, “wow, this could change the way we do projects” effect on me.
So it’s all about learning & sharing. That is my ONLY thing making me contemplate going out of my comfort zone.
Why the Sudden Soul Searching?
I’ve been hearing for a while now from my friends in the local DFW user group community that I should present at local user group meetings. “No way.” That’s been my reaction, along with, “They must really be hurting for speakers.”
A very weird thing happened to me when I went to Austin WebCamp. For 2 days, I had the privilege of asking questions to & having many, many conversations with Scott Hanselman, Clark Sell & Brandon Satrom (such unbelievable GREAT people, wow), and I had the honor of attending an invite-only “community influencers dinner.” As out of place as I probably should have felt, I didn’t. Nervous, yes (holy crap – THE Scott Hanselman was sitting at the same table, and look at all the brain power in these chairs around me – so awesome!), but I just wanted to hear more and more and more of what every person at the dinner had to talk about. The conversations were fascinating… then they took an unexpected turn & paused on me. ME. Why? I’m just a developer who’s worked at the same place for 10 years who lucked into this dinner thanks to Twitter.
Why are they telling me I should talk at meetings? They’ve never met me.
So in my binary world, it’s one of two options, right? Either they’re that nice & encouraging to everyone, or there might be something other than my gender & hair color that are different.
Maybe they see my passion.
Maybe they see in me what my favorite thing to see in others is – that spark that says, “I love this stuff, and I can’t get enough.” I saw it in Seth Juarez when he spoke at the Dallas Day of .NET. When someone really, really loves what they do, I love seeing it come out in them. Maybe they saw that in me, but could they see that in such a short time?
I don’t know.
Regardless of the answer, that experience has left this small-time developer doing some big-time soul searching.
How does one get over that feeling of terror & fear of falling on their face? It’s so much easier not to put yourself out there, but what happens when that fear turns to regret that your experience actually might have helped someone but you didn’t take a chance?
I don’t lack confidence in my belief in myself to understand & figure things out for my job. I lack confidence in the thought that I have the ability to keep my composure in front of a group well enough to actually help someone.
My appreciation to those who DO have that courage is so great that I am starting to wonder if, indeed I could actually help? Can a “Pay It Forward” mentality get this nerd who hates attention past the biggest fear she has ever had?