Showing posts tagged technology

The Glamourous Life of… Software Developers!

That’s right. I just used the word “glamorous” to describe software development. Not the word you were anticipating? Let me tell you – software development is where it’s at! Here are some of the perks: 

- Create your own hours, work from the beach, work in your pajamas, work from a swanky coffee shop, work wherever you want!

- Amazing benefits. As far as health and overall benefits go these days, tech companies cannot be beat!

- Networking parties and gatherings galour. There’s something for everyone.

- The pay is pretty great.

- We work on some of the most interesting problems for some of the world’s most innovative companies. Or we create our own awesome little companies and work on whatever we damn well please. So fun!

- You can get as creative as you like. You can get involved with the business side of things. You can work on a new and interesting problem every day. It keeps you on your toes!

- You can wear high heels or jeans and sneakers. You can be yourself!

- There are SO. MANY. OPPORTUNITIES.

- You feel amazing when someone says “oh you worked on that app? I love it!”

Shhhh. Don’t tell anyone. The fewer people we let in on this little secret, the better. Let those TV/media tycoons keep turning people away from computer science. More for us!

I’m KIDDING. Spread the word!

Celebrating Women in Technology!

It’s International Women’s Day today, and on my walk to work I thought, “wow, I am feeling so optimistic!” Optimistic, because in the last year, I have gone from fearing that in my career I might never see an improvement in the ratio of women in technology (particularly software) fields, to feeling positive change everywhere.

I wrote an open letter after an upsetting experience at a conference. The responses I got were so overwhelmingly positive and supportive. I received messages and emails from guys I didn’t even know, telling me how important it was to them that their daughters, wives, friends, could feel comfortable being a part of the computer industry. I learned something really important. If people don’t speak up about the things that they feel aren’t right, nothing will change! But if we have productive, open, and honest conversation, amazing things happen. Perspectives are changed. Understanding is achieved. Empathy is developed. And everyone works better together!

So to my fellow women in technology, let me tell you that we have a lot of support out there. We have to keep an open dialog in order to realize change, but it is happening. It is more than possible… it is all around us.

I am so grateful to have a supportive network of women in technology who take care of each other. I am also beyond thrilled to have met such amazing men in the Mac/iOS developer community who have showed their willingness to listen, try and understand, be the change we want to see, stand up for women everywhere, and most importantly, to be wonderful co-workers and friends.

Some things I’d still like to see improve about the women/minority experience in software:

- Toning down the inapproriate/raunchy content that can make people feel uncomfortable at conferences or events while STILL having fun with each other!

- More people taking a step back to try and objectively look at what they can do differently to make women feel more included. Maybe that means helping to steer the conversation away from a constant stream of “guy jokes” at a networking party, introducing yourself to every woman you don’t know in the room at a party or event and thanking them for coming, or just making a solid effort to get more female speakers at your event.

- More reaching out to the women you know in your tech community to ask what you can do to help, or to invite them to a tech get together you attend.

- Being great listeners, having open minds, and putting differences aside to realize that what this is really about is improving the entire community and making the future even better than today.

As of right now, the number of women studying computer science is still in decline and under 10% at most universities. It’s due to so many factors but sometimes I don’t think that we realize how little things like the suggestions I made above can really make an impact.

Let’s break stereotypes. The future of programming is people of all types. And that can only be a good thing!

A special thanks to the guys who I have the fortune of knowing personally and are always there for support! You guys rock. And please take a moment to appreciate the amazing women in your life today!

Staying Sharp

When I first started working for myself, the most common question people would ask me was something along the lines of “how do you stay motivated?”. If put in my position, it seemed that most people expected they would be lounging in PJ’s until noon. In their minds, once you remove yourself from a position of being managed to becoming your own boss, there’s no reason to work hard. I mean, there aren’t consequences for under-performing without a manager or performance review waiting for you, right?

This couldn’t be further from the truth. That is, for me it’s quite the opposite of reality, and I imagine the same is true for anyone who expects to be working for themselves for more than say, five minutes. But I can understand where the expectation is coming from. The real question, I think, is “how do you stay sharp without someone else managing and shaping your career”? If you are your own boss, who pushes you to become better and better? The answer is, well, you!

From where I’m sitting there are two basic motivations for those of us who are self-managed. First, the consequences of failure actually become greater when you begin working for yourself. In a traditional job you work hard, you hope someone notices, if you’re doing well you move up. That’s the expected path. If you screw up or get lazy, well then maybe you don’t get a promotion this time around, or someone scolds you in a performance review. But there’s always someone there to pick up the slack. Your manager is the one who’s ultimately responsible for your team’s performance and no one can hold you individually accountable for the successes or failures of the company.

When working for yourself, the failure falls to you, and you alone. That pressure in itself becomes a major motivator. Particularly, if you are the type of person who has pride in your work ethic and reputation, which is true for many self-managed people. If you don’t set the example, push yourself, do your best work, your team will fail. That’s a near certainty. For me, I just couldn’t let that happen. Not after risking so much and coming so far. I’d say the majority of start up founders are probably workaholics for exactly that reason (although I don’t condone overworking, but that’s another topic). If you get lazy, you’re only letting yourself down. You’re risking your own job and lively hood. If you’re bootstrapped (like my company), you’re throwing away all the equity you worked to build. But mostly, there’s just that fear of being seen as a failure. Without anyone else to blame, your company’s failure becomes very obviously yours. And everyone would see that.

The second motivational component comes not from fear, but from passion. A lot of people end up in a self-managed position as a direct result of pursuing their passions. That’s true for me. So I have this deep protective instinct toward my job. I want to preserve the ability to be my own boss, and do what I love every single day. I want it to last. I want to keep loving my job for years to come. That’s what motivates me to stay sharp. I never want to stop getting better, because I never want to wake up and have the fun job carpet suddenly pulled out from under me. You can’t achieve greatness by lounging in your PJ’s and hardly working. That just isn’t going to happen. For me, that desire to preserve the job I love is motivation in itself.

Certainly there are other factors at play like competitiveness and financial security, etc. I don’t mean to say those are the only two motivations. And what’s really fascinating to me now, is thinking about how much more the larger, more traditional companies might achieve if even half of their workforce approached their jobs the way self-managed entrepreneurs do. We all need to stay sharp and keep pushing forward, but the results are so much more powerful when that push comes from within.

A Letter to the Developer Community

Dear Mac/iOS Developer Community,

Empathy is the ability to put yourself in someone else’s shoes who may be different from yourself and attempt to understand/have compassion towards that person’s feelings, especially if their feelings are different from your own. If you do not consider yourself to be a particularly empathetic person, there’s no need to read any further.

I attended a Mac developer conference recently and overall had a great experience. I had the opportunity to meet and get to know many great developers while learning a few things too. Unfortunately, I left with a bit of a bad taste in my mouth. This feeling I attribute to a lack of conduct standards, and a failure by many of us to understand the changes in the industry that have been occurring, like it or not, over the years.

Here is what happened. I sat down to listen to a talk that I could tell by the title of the talk, was going to be inappropriate. I thought to myself, I’m at a respectful Mac conference, the organizer is walking around in a suit and conducting himself very professionally, I’m sure it will be ok. This was, in fact, a poor assumption. The speaker prefaced his talk by basically stating there was a little substance, but that most of the topics were being presented simply because of the sexual or otherwise inappropriate jokes that could be formed from the topics. For instance, jokes that can be made about “autoreleasing”. I’ll let you think about that for a second and you basically understand how this went. About ten minutes in, I was thoroughly disappointed in the immaturity and inappropriateness and walked out of the room. As others informed me later, it did not get any better. There were tidbits of information weaved in, but the overarching theme remained the same.

Sadly, this was not the only offensive point in the week. The highly respected keynote speaker managed to weave in a reference to a female celebrity’s “tits and ass” in his discussion, which I found awfully distasteful.

Now, I know that being one of the handful of women in attendance at the conference, I am in a serious minority in terms of the way I experience and react to things such as this. I also know that it’s quite possible that others would not be offended as they may have the same, in my opinion immature, sense of humor. Yet, in discussing with others, including members of my team, I found that I was not alone in finding these references uncomfortable.

Why is it that an inappropriate talk would even be permitted on a stage at any respectable conference? How does this in any way further the advancement of the software industry at large, and the Mac community especially? In my opinion, it sets us back quite a bit. During one of the much more informative and respectable talks of the week, the topic of diversity was brought up. The speaker pointed out the fact that the Mac community is full of mostly men from an educated and higher income background. The context was in discussion of how we tend to gravitate towards like minded people. And in fact, it’s impossible to argue that this is a truly diverse field by any means because women and minorities are grossly underrepresented as I’m sure you know.

However, what this experience and other similar encounters I have had in the last three years as a Mac developer have started to suggest is, maybe the Mac community doesn’t want people like me to be comfortable? Perhaps they would rather keep this a boy’s club forever, and it’s simply irritating when people like me disrupt that.

Wow, does that thought scare me. Coming from a different industry where diversity is praised and encouraged, could it be that software developers want the exact opposite? Clearly not all of us. But, perhaps some of the organizers of this particular conference gravitate toward that mindset.

The Mac development community has changed a lot over the years. There are new iOS consulting companies popping up all the time. Macs are in more homes than ever before in history. Mac developers are hiring business partners, even donning suits sometimes, and prancing into major corporations to work on exciting applications. It’s a new world, folks. And as a result, there will likely be growing pains.

All I ask is this…

First, if you are in a position where you can control the conduct and standards at a software event that is intended to be in any way professional, you are therefore obligated to do so. Or at least warn people who may be attending otherwise, so we may steer clear.

Second, before you start to defend this kind of inappropriate behavior in a professional setting, think about how you would feel if I were your daughter or your sister. I’m not against inappropriate humor by any means, I just think there’s a time and a place. This was not it.

Do we want the Mac community to be a place where anyone, regardless of gender, race, religion, etc. feels uncomfortable?

Diversity is great. It shows that our field is growing up. But diversity can only happen with acceptance, tolerance, and the ability to empathize with those who may feel uncomfortable, even if you yourself do not. I sincerely hope that at future Mac community events, I will not be similarly offended.

Thank you to the wonderful guys who provided support and feedback in preparation for this article. It’s nice to know we have some gentlemen out there in the Mac community!

Sincerely,

Brit

Update: After getting in touch with the conference organizers, I have a lot of hope regarding this issue. They were very concerned, apologetic, and acknowledged that this should not happen at a professional event. Thank you!

Software should be more like Cirque du Soleil

I recently attended a traveling Cirque du Soleil performance called “OVO” which was an insect themed performance. If you haven’t seen a Cirque du Soleil performance before, you must go because they are fantastic! When you arrive, you enter a humongous tent and are immediately transported to this bizarre kind of circus that’s all grown up. The costumes are incredible, the music is live and fantastic, the sets are extravagant and capturing, and the performers are amazingly talented. It’s a great experience. But the thing that really sets a performance like that apart are the details. Nothing was overlooked! From the elaborate costumes to the scenery, to the pre and post show entertainment, you could tell that someone had been over everything with a fine tooth comb. Naturally, I related this to software.

Great software is all about the details too. It’s the little things that picky development teams refuse to overlook, that really make a user’s experience with software exceptional as opposed to just fine or average. Certain personalities tend to be more detail-oriented than others, but I find that developers seem to be more often than not, concerned about the details.

With so many apps out there these days, it takes more than just functionality to make your products stand out. I think the details take you that extra mile. You don’t just throw fields onto an editing screen and call it a day. Even if it’s just simple text input, you really have to think about the layout, the appropriate width and height, is this blue the right blue, how strong should the font be, etc. We can’t afford to forget the user’s interaction at every level. If you’re writing low-level code, think about performance considerations. Could the user experience a slow down with a large data set? Think about your team as well. Who may have to work in this code file in the future? Is your code clear, organized, and concise? The more details you take the time to really consider, the better!

Ok, wait. By now, you must be thinking in the back of your head, “That’s great and all, but then I would never ship! Who has the time to leave no stone unturned in their app?” Yeah, I don’t either. And I certainly have not mastered this balance yet.

Here are some of the ways my team currently manages this dilemma:

- Make small adjustments/improvements in incremental releases (the first release cannot be perfect, but over time will get better)

- Prioritize tickets regularly to sort out the most important issues to the user, and which tickets can wait a little longer (we think about a ticket as must-have/nice-to-have/ or should consider)

- Never create a new UI without showing at least one other person, preferably several, for critiques and improvements

- Capture all ideas for improvements so that they are not overlooked or forgotten

- Use mockups! Even if it’s just a piece of paper or scribbles on a chalkboard. It’s amazing what you can eliminate before you even begin coding if you do this often.

- Test! This is one area that we are trying to improve on my team. It’s so critical to have others test out your changes before you send them out to the world. Catch as much as you can before it gets out there.

If you’ve never looked back at a feature you did and said… “Wow, was I drunk when I did that?!” then you deserve an award. For everyone else, I think it’s important that you’re willing to go back and re-work a feature (even if it seems minor) when it’s just not right. If you’re satisfied with mediocrity, then by all means leave it. But you are taking a big risk that users will overlook the details too. My guess is they won’t.

Right now, I have so many things I want to improve about the product I work on that it can seem overwhelming at times. The steps above seem to help break it down into manageable pieces. Just saying it’s good enough, though, will not allow any product to stand out. Details, details, details.