Liz Abinante

Founder and CEO of Programming. Feminist. Not here for you.

Read this first

Getting hired without getting burned: Sniffing for culture smells

It is incredibly difficult to find a good place to work. With companies that fire women after they announce that they’re pregnant, intimidate women into leaving, hire people who think it’s ok to compare women to programming tools, and have abysmally low diversity numbers (although at 10% women in tech, I am no longer surprised by Twitter’s terrible block policy), it’s surprisingly easy to end up working in a toxic environment.

How do you sniff out culture smells and determine if a company’s work environment will be toxic to you? A large part of this depends on what you expect for your work environment, but there are a few questions you can use to screen companies.

While this is written by an engineer primarily for engineers, these questions and techniques are incredibly useful for any employee, at any company. You should, of course, pick and choose the things that matter to you most

Continue reading →

“We only hire senior engineers.”

It’s a pretty good time to be an engineer, but it’s an even better time to be a senior engineer. In the economy of engineering jobs, there’s an increasing demand for senior talent, but no one is working to increase the supply because senior talent can’t be made, it takes time.

Companies will say things like:

“We’re only looking to hire senior developers right now.”

“We need to hire more senior talent to balance things out before we hire more junior developers.”

“Our code base/business logic is too complex for junior devs, we only hire at the senior level.”

But there’s a problem with this. Is it not immediately clear to you? Basically, replace the phrase “senior engineer” with “white men” in any conversation about hiring senior engineers you’ll see what I mean:

“We need to hire more white men to balance things out before we hire more women and minorities.”

This is, of course, a

Continue reading →

Deploying Rails 4.1 apps with Resque to Heroku

The Heroku guides for deploying Rails apps encourage you to do so using a Procfile and Unicorn. Not being super deployment savvy, I tend to follow the instructions provided to me.

… that is, until they completely, totally, and utterly fail me.

After I added Resque to a Rails app I was working on, I was having a hell of a time deploying it to Heroku: first Redis wouldn’t start, and then when Redis finally started, my workers wouldn’t start. Nothing in the guides for Resque, or two Redis add ons (RedisToGo and Redis Cloud), was helpful or even remotely close to correct.

Some intense Googling turned up some issues related to older versions of Resque (1.22.1, which Heroku uses in their guides) and some compatibility issues with Unicorn.

I don’t think the compatibility issues have been resolved, but I was able to come up with a fix that works locally and on production without any hiccups.

Continue reading →

Too big to test: combating test apathy in legacy code

Originally written for the Instructure techblog.

Writing tests for large Rails apps with lots of dependencies and complicated modeling is, without question, a complete nightmare. We often spend more time wrestling with tests than we do writing code. The end result of writing tests for legacy code is unfortunately predictable: a test suite full of holes, poor coverage, and tests that aren’t actually testing the thing you think they are. Bugs begin to pile up, technical debt is avoided like the plague, and quick-fix bandaids are applied instead of addressing the problems head on.

We are then faced with a dilemma: our app has become too big and too complicated to test, and we no longer want to write tests for it because it is so painful. This is unavoidable. No matter how many conference talks we attend that promise to teach us how to writing clean, maintainable code, we’re still drowning

Continue reading →

An apology: I’m done being “acceptable.”

Since I joined the tech community, I have worked very hard to be acceptable. I have tried to be the “acceptable feminist,” and I’ve done this because I thought it would protect me from the problems present in tech. I really thought that if I was a nice, “reasonable”, friendly, middle-ground person, I’d be safe.

Turns out that isn’t how it works. I don’t know why I was so naive to think I’d be more protected if I was fake, not myself. I hid who I really was because I was afraid of being trolled, doxxed, blacklisted, assaulted, and hurt.

Turns out those things happen no matter what I do, no matter how you are protected. If I’ve learned anything from the events of the past few months, particularly this week, it’s that nothing is what it seems to be. Julie publicly defended GitHub because she thought she had to, and regardless of her motives, it didn’t matter, she wasn’t safe. Allies have

Continue reading →

A year ago today, I started doing this crazy thing that I love.

Since I became a co-leader for Girl Develop It Chicago in January, I introduce myself in much the same way at every workshop, class, and event. It goes a little something like this:

Hi, my name is Liz, and I’m a co-leader for GDI Chicago along with Katy, say hi Katy! I’m currently a Software Engineer for an educational company called Instructure, but a year ago today, I wasn’t doing this. I was quitting a decent paying job with no real career prospects to attend Dev Bootcamp, and now I’m an engineer and I absolutely love what I do. I am here to help you see if you love this as much as I do. I learned HTML and CSS when I was a kid so I could build a fan website for NSync - it’s easy to learn, but hard to master, and you can totally do it! I love questions and I’m really nice, so you can email me anytime!

As of this weekend, I can no longer say “a year ago today” because I will have

Continue reading →

Words I hope to regret someday: “I’m glad that I didn’t give a technical talk.”

When I decided to speak at my first conference, I picked a topic that I knew would be safe. I picked something not threatening, not overly opinionated, and not technical. In short, I picked something I didn’t think I would get aggressive questions about. I picked something feminine: I talked about teaching kids how to program.

I gave my talk yesterday, and it doesn’t sit well with me to say what I’m about to say. But someone has to say it, and since I was the only woman speaking yesterday it’s likely that no one else will.

I’m glad that I didn’t give a technical talk.

Before last night, I never felt like an impostor, just unwelcome every now and then. I genuinely think that my love of what I do and my utter joy about being an engineer overpowered any feelings I had related to being an impostor. I felt lucky to have found something that made me so happy and challenged me

Continue reading →

International Women’s Day: A guide for tech companies

International Women’s Day is on Saturday, March 8, 2014. As a woman in programming, IWD is especially important to me because it is an opportunity to celebrate other women in the field.

Lots of tech companies host events for International Women’s Day - I went to one at Google last year that had some great talks. However, IWD is an opportunity to celebrate the achievements of women, not an excuse to throw a PR party for your company.

No matter how pure a company’s intentions may be, their undoubtedly very well funded International Women’s Day event takes attention away from those hosted by national and local community organizations that work to serve women every day of the year.

If your company does not already have an established women’s initiative or group (ex: Passion Projects, Women @ Groupon), don’t try and do your own thing for IWD. It will come off as disingenuous. Yes, you

Continue reading →

So, you think you want to be a web developer?

About once a week, I get an email, chat, tweet, or other electronic communication asking me about some aspect of my job or how I made the transition from a non-technical career. The majority of the time, it’s because that person is considering applying to (or has already been accepted to) an intensive bootcamp-style web developer training program. This is what I say to those people.

Most importantly, above anything I can tell you about becoming a web developer: there are no short cuts. Going to an intensive bootcamp-style program already is a shortcut.

 Who are you? And why should I listen?

What makes me qualified to be someone that you talk to about this? Nothing official, and not much, really. At the end of 2012, after spending countless hours playing with Ruby and building CLI toys, I came to the decision that I did want to be a web developer. How? I loved it.

In April 2013, I quit

Continue reading →