Triumphs & Tradeoffs (Life after being made Dev Lead)

People were so f#$%ing nice when I shared on Twitter that I was made Dev Lead

I don’t know why anyone really follows me to start with, I post a lot of kitten pictures, I’m a prolific shitposter, and occasionally I’ll go on a Microsoft rant or touch on something remotely tech related.

People were REALLY happy for me when I announced this a couple months back. It honestly made my heart grow three sizes grinch-style.

But I wanted to share some of the underpinnings just for anyone out there wondering why they haven’t hit that milestone yet, or thinking other people who do these cool sounding things have their lives all together.

Spoiler: I ABSOLUTELY do not.

The backdrop to this story

I would be lying if I said I got where I am in life from this wonderful supportive team and I owe all my success to my environment. I’m more like a weed managing to grow through the pavement.

I have had consistently challenging environments, but not always in a positive way. In my previous job, my amazing boss was ousted in a coup and I was reassigned under a boss who had called me a Diversity Person, like affirmative action hire. Couldn’t stand him ever since, if you can imagine. Decided to leave as soon as I heard he’d be my new boss.

Out of the frying pan into the fire, I made a very tough call faced with a Senior Software Eng offer from Red Hat and the offer for my current role, which I (obviously) accepted. If I’m being completely honest with you, there are dynamics on my team that had me so shaken in my first 1-2 months I almost tried to renege and go back to Red Hat. Part of not doing so was just embarrassment at my absolutely terrible decision.

One thing I’ve learned is that it is extremely rare to be able to outwork a bad team environment or certain structural challenges, so for several months where I am currently I hustled to my normal level, but you could sum up my motivations as golden-handcuff-syndrome. I’d love to be in a position in life to just walk away, but I’m definitely not.

Interestingly, in this rare case, I actually did outwork a negative environment. I began work on an application where one developer had made the backend and another the frontend. I discovered that because of my unique background (equal parts Vue, SQL, and maybe slightly lighter on Python but I’m still very productive) I was able to hustle my way into getting more challenging teammates out of my workflow.

I’ve never been able to just work my way out of a nasty teammate before, but in this one instance: I actually did it. In the course of doing so I also managed to double the feature set of a frontend and two backends without much of any instruction. Difficult parties involved in my project learned to move aside or disrupt my ferocious velocity, and no one wanted that.

Even so…did I actually deserve this(?)

When I got made Dev Lead you could probably have knocked me over with a feather. For anyone keeping score, it happened only 7 months into this really mixed bag job where I’d been tearing my hair out half the time.

I didn’t expect to be able to outwork a bad situation, like I said. But I think at this point its fair to say, I did. The tenor of the team is completely different than when I started, night and day. TBF, my progress brought us a lot of positive external praise to the point of me getting called out personally and publicly by people at the VP level. As a previously more junior dev doing a lot of background tasks, the praise was very unexpected

  • With three years of developer experience, I’d been planning on spending year(s) 3-5 ramping up from mid to senior
  • I wasn’t pushing for the change, so there was no reason for it other than merit that I can think of
  • Even WITH my merit – keeping a single page app, API, ETL process, and database running and managing the bulk of new feature development, deployments, testing, and bug fixes – there are so many things I don’t know that in my mind make me NOT a Dev Lead. When I first started telling people about it, I mostly prefaced it with So I'm pretty sure this is title inflation, but guess what...

There’s nothing really I can say to make it fair or make it make sense.

In the context of MY team, I am absolutely senior. I can recall down to a constraint the way our database is structured, I picked up Node on the job and took to it like a duck to water, and I can write Vue all day. I had intimate understanding of the three codebases I took over by idk, month three(?) of working there?

But in many other ways, I’m the first to tell you I’m not a Lead. I have a generalists working approach to just about everything I do. I’m not an expert in any language. I’m a googler, not a memorizer. I have 3/4 of a software engineering degree making me the least educated person on my team. And I still screw things up from time to time in embarrassing ways.

You take me to, idk, Facebook, and for all I know they’d call me a junior. That’s not humility, I promise you, I have healthy self-esteem. That’s my honest take.

K so…why did I accept(?)

Well the irony of this all happening during a pandemic is that maybe it was preemptive. Like maybe I had Dev Lead duties, but since like a lot of places we are on a hiring and raise freeze due to Coronavirus, its a no stakes move to change my title right now lmao. They headed me off at the pass to give me the title bump when no pay bump could accompany it.

I accepted for related reasons. To be completely honest with you, my opinion at the end of the day is that I am a Lead for my app, somewhere else, maybe not so much. But at the same time, I have a philosophy that has gotten me far as a random gal with no college degree whose made it surprisingly far in life anyway:

Never say no to yourself. Make someone else say it. (IE – I’m never going to disqualify myself for an opportunity, someone else is going to have to be the one to put the brakes on because I know I can do big things

Why else did I say yes? IDK, we’re in a global pandemic, and if nothing else I think it shows a positive trajectory to be promoted so soon. It is a gamble though. If I were laid off tomorrow and put Dev Lead on my resume and don’t meet people’s expectations…? Could blow up in my face.

The truth is this is both personally and globally uncharted territory, so I may be making bad decisions, and there’s no way really of knowing until they either pay off or turn into a disaster, lmao.

In summary

All to say, I don’t know if any of us ever feel ready. At the end of the day among other reasons I know Lead is where I want my career to go, and if that means me hustling like I’ve never hustled before to grow into those shoes, I’m okay with it.

Its also SO important to me to be that person I never had, that underrepresented person who is a Lead, that underrepresented person who is a Software Architect, the idea of getting to be that to somebody and walking away is something I can’t do.

So for now, my plan is to just fake it until I make it. Or in other words, basically the exact same approach I’ve had my entire time being a dev.

You may be like Well this post sucks, all you told us about was that you settled, basically, at a mixed bag workplac

Not really. To recap:

  • I made it to Dev Lead 3-4 years earlier than I thought possible
  • My contributions turned a challenging workplace into a much better one
  • I’d already decided to stay where I am because it is in my rational self-interest, but now I get to do so with a better title and environment. End of the day, strange as the turn of events were, my future outlook is extremely positive

And – oh yeah –

  • I finally remembered to write this post because they just laid out our work for the whole year, and I got the most technically sophisticated and interesting task, an LMS + streaming app. So whatever my mixed feelings about “am I really a lead?” I am leading. So that does make me happy and hopeful

I doubt I have any words of wisdom but I guess if I did, it would be that your opportunities in this field are always going to be morphing and changing. Don’t say no to yourself, and if my approach is any help just take things one day and one line of code at a time ❤

The path to debugging greatness as a junior dev

I hit a really phenomenal personal milestone this week, which is that I was elevated from regular old Software Engineer to being the Dev Lead for my team. It feels like time has flown, and it also feels really impossible that me (who couldn’t keep straight the difference between arguments and params, who spent two years straight forgetting how to link a stylesheet to an html page) could have come so far.

But I did!

I don’t think I have any particular talent as a developer, but the one thing I do feel like I’ve gotten quite good at over time is debugging. Not too long ago on a Women in Tech slack I’m part of, a junior developer posted asking for advice on how they can debug in a foreign code base when they are so new at everything. I jotted some notes to her and was surprised by the amount of really positive reactions I got to my advice, so I decided to condense it into a post.

First up, I’ll share my starting point with you just so you can see how non-fluid I was a debugger when I first started coding. I had major issues with my mind going completely blank if the task was full of unknowns, sometimes I’d get partway through a solution and wind up stuck on some minor item of syntax so long that my brain would melt and the code I just wrote wouldn’t even make sense to me. Many times, I would get doggedly 1/3 of the way to a solution and hit some minor issue, then go on an overly complicated side quest to overcome it and wind up getting mired in a way-too-convoluted approach to the issue. Sometimes it would warp into a shame spiral of anxiety and imposter syndrome and I’d basically feel frozen and helpless, and the more emotional my reaction the harder it would be (of course) to get my bearings.

In the time between then and now, a mix of techniques (some for my mood/outlook, some for practical debugging) have taken me from someone who agonized over bugs to someone who kind of enjoys them, the weirder the better. It doesn’t matter if they are related to a language I know well, or one i’m new to – they are universal techniques.

Your Priorities as a Junior Engineer While Debugging: 

1. Get the program to talk to you

It doesn’t matter how you do it, although there are a lot fancier techniques than just console.logging your way out of a hole. That’s another post for another time although there’s a great write up on some of these techniques here.

As a junior engineer, don’t think about anything else. Your first task is to go to the affected area of the program, and get it talking to you – period. If you can’t tell what area of the program is affected, guess.

This might sound simple, but it isn’t always. Sometimes you can do this in the browser. Sometimes you might need to generate a log. Sometimes you may need to generate output data from a SQL query or whatever the case may be. But getting the program to talk to you is your first step, always.

Some non zero number of bugs are eliminated at this step. Sometimes you find out you can’t get the program talking to you, and that’s because part of it wasn’t running. A file got axed somehow, a function wasn’t being called, a nightly script errored out. For those reasons and others this is a crucial step.

2. Take notes on the exact nature of the program, and take notes on the changes you are making as you try to debug. 

This is good for you on a couple levels. If you wind up coding yourself into a corner and getting into the brain melt stage (ie, “I’ve looked at this code so long I no longer understand any of it or remember what I did to it, my brain is fried”) it will remind you what you’ve done. Its your bread crumbs, a la Hansel & Gretel.

If you get really stuck and need to involve a more senior person for advice, it will also be invaluable to letting them help you.

3. Check what’s recently changed 

I didn’t do this step at first as a junior developer. It felt like cheating to just back out of changes and see if that fixed a problem without having a full understanding of the cause.

Yes and no.

Ideally, you would learn the root cause, but sometimes it is beyond the scope of your understanding as a junior person. If the chances are understanding everything may not be possible, I feel in hindsight like my next priority should have been making progress as a good use of the funds of the company paying my salary. For that reason, I wind up thinking its perfectly ok to back out of a change and see if that fixes your issue. Git and branching are the best mechanism I’ve found for that stage of debugging – git diffs are also great for this.

If you are gung ho like me, take it to a more senior person afterwards. Say, “I’ve resolved the issue, but I’m not quite sure why it had this effect…” and they’ll probably be able to give you a TL:DR on the root cause. No shame in that game. I’d rather be a person who gets things done than a person on top of all the minutia.

4. Forget all the specifics, and summarize your problem 

There’s a reason rubber ducking works. Instead of being head down in code, using human terms to describe an issue makes you describe a narrative, and sometimes that makes you have an aha moment about the problem type.

Have you ever come up with user stories? Non technical descriptions of what an app can do? This is a similar idea. Come up with bug stories. 

I can’t tell you how many times I’ve started telling someone “About every forth time when a user does <blah> we see…” only to append my story by saying “Actually, saying it out loud that sounds like a race condition.” Or a data anomaly. Or <whatever>. Most of the time, that gut feeling is right.

5. Binary search debug before trying other methods 

Most of us will have heard of binary searches, a highly efficient way of parsing through data that always reminded me of gambling. You take a gamble that one half of the data will take you where you need to go, and keep cutting it in half, then in half, then in half again.

I subconsciously began binary-search-debugging by just commenting out random hunks, as big as possible while making my bug behavior reproducible still, to save myself time in finding issues. Again, it feels like a cheat – there’s no skill involved just simple guesswork.

It turns out binary search debugging is actually completely valid, and a real thing, and my guess of what the name is IS the actual official name! How funny.

6. Iterative debug, but only if binary search debugging didn’t help or doesn’t apply 

As you maybe can guess, a binary search would have potential to be way faster than an iterative search, and the same holds true for debugging.

Iterative debugging would be commenting out lines one by one, or conversely commenting everything out then uncommenting lines one by one (thats my go to).

 


 

Now for some more philosophical advice that is more related to outlook/mood/not feeling like a hot mess as a junior tasked with debugging. 

 


 

7. Don’t care about WHAT’S wrong to start, only WHERE it is wrong

Finding where a bug is is probably 75% of the effort for me in finding out WHAT it is. Thinking back on my early debugging, figuring out where the real cause of an issue was wound up being my major time suck. Simplifying my task into “right now, I’m just looking for where this behavior lives” also had a somewhat soothing effect on me as opposed to thinking “oh my god I have to find the bug AND find out how to fix it AND (…)”

8. Don’t bother developing an expectation on how hard a bug is, you may well be wrong and build yourself up for nothing 

When I moved into development after having a former career that was unrelated, I was shocked at how bad I was at producing time estimates. It wasn’t my fault, I think its pretty common for a junior developer to not be equipped to estimate time well.

The truth is, maybe half the time or more your ideas about whether a bug is simple or complicated are completely wrong, so there is no point making an assessment and getting yourself psyched up for what may be nothing.

9. Snowball your assumptions 

Around the time I started to not have major freakouts and imposter syndrome attacks when debugging, I wound up being able to channel this kind of zen mindset that was a night and day switch for me. I think the two biggest breakthroughs were “I’m just going to find where this bug is and not worry about anything else yet” (covered in 7) and the second was, “I’m going to find one thing I think this program is doing then prove it.”

Snowballing is a concept in getting out of debt, where you pick the most approachable item first to make something emotionally fraught more manageable.

In code, that would look like “I think the first half of this function is working, but the second half isn’t.”

Ok, prove the first thing. Then prove the next thing you think is happening. Sometimes your assumptions are wrong. Sometimes they are right. Either way, breaking it down clarifies what is happening

10. Admit defeat early, but do it right 

I recently was sitting with a relatively senior debugger who was new to my org, and he lamented that a card he was assigned in our sprint had kind of fizzled with no real progress, because he hadn’t wanted to bother anyone.

I told him something similar to what I’ll say now. Developers are in general well paid. If you as a developer are stuck, its a bad use of company money. You are too valuable to be stuck more than, I don’t know, an hour and a half?

A classic new person pitfall though is that you can’t really describe what’s happening since you don’t understand it, so the more senior person you finally call in to triage has to do a lot of, idk, emotional labor to even get to the heart of your issue.

You, savvy early career dev, will be different though. Here’s how.

You already will have your notes on the steps you’ve taken (from number 2), and one of them may immediately tell your senior dev what they need to know. You will ALSO come correct, by making a minimum repeatable example of your bug, preferably in a code pen or some other isolated environment where your senior person could play with it without having to walk over to look at your machine. (Sometimes moving the code into isolation, you will also solve your own issue.) If your code is protected by NDA and can’t be moved into a code pen, push it up in a branch so your senior can grab it at their leisure.

You will pass along what you tried, any stack overflow answers that had solutions you were considering, and descriptive information about the behavior. (Side note: can’t tell you how many times as a junior dev I found the right answer on Stack Overflow but just implemented it slightly wrong. That type of information still helps! Pass it on.)

Is the behavior intermittent? Does it specifically follow other events? Is there any pattern or seeming anti-pattern to who it affects or when it occurs?

All this should be wrapped up in a bow for hand off. There is no shame getting stuck on a bug. But you want to help people help you.

Wrapping up 

I was really hard on myself as a junior dev, and the pressure I felt around debugging and how fast or independently I should be able to do things was one of the biggest areas of turmoil for me.

I hope I can maybe save someone else out there those feelings of anxiety and frustration. If there’s anything I’ve missed that helps you debug, please drop it in the comments below!

Real Origin Stories

There’s a dance that I’ve come to recognize. One person says to another, “How did you get into programming?” Outside of interviews, I rarely hear these answers go linearly, like “I did undergrad in computer science and really fell in love with Python”.

Instead, I hear cagey, stylized origin stories. “Actually I began programming as a teenager”, people will tell me. “I got my first Pi when I was 16”, or “NeoPets!” or some other story to legitimize ourselves by sounding like we all always knew this was what we wanted out of life.

It’s a silly exercise, but I can understand the caginess. I’m one of the people narrating my own story this way. The gatekeepers are constantly on the lookout for the “real programmers”, they are ready to pounce on the tiniest weakness. So we pose and posture. For those that did a bootcamp like I did, many of us fret and conspire about how quickly we can manage to get it off our resume, and shift it into the camouflage of “legitimate” industry experience.

The truth is, any and all programming you are doing is legitimate experience, but that’s a rant (mostly) for another day.

(Says the girl 3/4 of the way through a software engineering degree, because she’s tired of having to explain herself to anyone.)

 


 

I’m a pretty private person, except on here. For starters, I don’t think anyone really reads this blog so who cares :p. I pride myself in almost having a chameleon ability to talk to someone all day, have them leave thinking “She’s so likable!” and not realize that I didn’t tell them one meaningful personal thing about me. That’s deliberate. Not to sound too cynical, but letting people know things about you gives them power. Knowing things about other people gives you power. And that’s what I’ve believed for a long time.

But I guess I’m finally ready to give some power away. 

I’m a good enough engineer at this point that I actually think my origin story is kind of cool. It tells you a lot about me, and its probably the proudest arc I have in my entire life. So I’m going to talk about it. Let’s go.

 


 

I’ve mentioned on here, sometimes more obliquely than others, that my dad passing away was the catalyst for me getting into the field. That’s the truth, but only part of the truth.

The truth is, the whole first half of my twenties was kind of a train wreck. My dad first became ill when I was twenty, and had a string of ailments thereafter. Cardiac events, which is the word for a small heart attack. Regular old heart attacks. Had part of a lung removed. Had multiple strokes.

The strokes actually changed his personality to become aggressive and hostile. People don’t talk much about that with stroke victims – it is usually a question of, can they speak? Can they see? My dad did lose some vision from strokes, but the personality change was by far the hardest on me. It was sometimes like living with a feral animal. He was permanently disabled, and I shuffled working part time to get him to doctor’s appointments in the most critical days. I made very little money during that time. Dropped out of college. Lost a lot of friends. My former best friend wanted to go out and meet boys, and couldn’t understand why I’d “changed”.

I absolutely had changed. That’s for sure.

 


 

I was the person most responsible for my dad. I had medication lists memorized. His doctors didn’t always do the job you would hope. It felt like I was constantly wrestling with death, to stall it by a handful of days or a week at a time.

After his discharge from one hospital stay driving him home, as soon as we pulled up in our driveway I looked over at him and saw he was unable to undo his seatbelt. His hands were flopping uselessly and I had to turn right around and go back to the hospital. It turned out he’d had a stroke that the hospital hadn’t even caught, they just released him. You can’t make this up.

Another time we were literally sitting in the cardiologists office when I noticed he had become completely jaundiced. I rushed him to the ER. I can’t even remember now what wound up being the problem that time, but it meant another lengthy hospital stay. I couldn’t trust the people that were supposedly taking care of him. The authority figures, doctors, were not trustworthy.

During this whole time, there I was twenty, twenty-one, then twenty-two. Trying to keep his house together. Mowing the lawn, taking care of his two dogs and two cats, and spending many weekends shop-vaccing the basement which kept flooding.

You may be wondering, is this relevant to how I got into programming? Bear with me. Yes, it is.

 


 

On a delayed reaction, a year or so into the illnesses and me taking care of my dad, I was diagnosed with a generalized anxiety disorder. The panic attacks came a few times a week. A couple times I was driving and would have to turn into an urgent care place thinking I was having a heart attack. My hands shook and I’d be unable to draw breath.

Each time it felt like hurtling towards a point of no return physically – like I would croak, or explode, or vomit, or go up in a cartoonish puff of smoke once the terrible feeling finally coalesced into some resolution. The panic attacks I started getting were coming a few times a week though. All said and done, I lived with them for about five years. 

I’m a very logical person, but that panic attacks felt like heart attacks was very triggering for me – my dad had this messed up heart, and with him when there was smoke there was almost ALWAYS fire. He was constantly almost dying. So even being in good physical health, the sensation of fear around my panic attacks put me into this really high alert reactionary zone.

Eventually around the time I was twenty four my dad’s health stabilized – in terms of blood thinners, heart medication, vision. By this point, had moved from part time work around his doctors appointments to a full time job, and I moved out of his house. I didn’t make very much money but got a small place in Baltimore, and lobbied to get myself a security clearance through my work, seeing it as a ticket towards a more middle class life.

I threw myself into work because my home life was still a constant source of stress and pain. The personality change from the stroke really turned my dad into a different person his last few years. At one point, he called my work belligerently because he was mad at me over something, and the fury I felt at him jeopardizing my career was explosive. I stopped talking to him.

The story gets worse before it gets better. Estranged from my dad, I moved through a string of high powered jobs at dysfunctional places in DC, I finalized my security clearance, I snuck in with the network guys at Ft. Meade at my work to get some technical certifications, I started doing code academy on my phone. I started making more money. I gained a reputation for being tech savvy, I started taking a Coursera course on the programming language Scratch invented by MIT.

One thing I haven’t mentioned at this point about my work is, I was actually a technical recruiter. When I say I’m cagey about my origin story, maybe now you understand why. Recruiting is among the most hated professions alive, especially by tech people. I tried very hard to be different. It used to be the highlight of my day when people would tell me “Wow, you’re really knowledgeable. Recruiters usually don’t know any of this stuff.”

 


 

In 2015, inevitably, the call I’d been waiting for for five years came. I could hear it in the first syllable out of my sister’s mouth before she said a word, my dad had finally died. My dad and I were out of touch for about a year at that point. Over him calling my work enraged, and another time him getting mad at me and smashing a bunch of my belongings. My dad was a really gentle person and my best friend growing up, so I don’t know if you can imagine what his personality change was like for me. We were estranged almost a year to the date of his death.

To say it nearly destroyed me is an understatement. The first week, was just shock. I was the only recruiter at my firm with the other on maternity leave, so if you can believe it I actually wound up having to schedule fifty informational interviews for a Department of Energy contract in Colorado in the day immediately after my dad died. I blearily trudged through it somehow before taking some bereavement leave.

My anxiety which was already a huge problem became completely unmanageable. I had insomnia, and no appetite, so I lost weight rapidly. My work, realizing I would be requesting time off, put me on a performance improvement plan – a PIP – it was obvious they were trying to squeeze me out, realizing I’d need time off to deal with my dad’s estate.

I will never in a million years forget what that felt like. I was not surprised at all when an expose came out on Amazon a while back, alleging that they did similar things, putting employees with cancer or dealing with sick parents on PIPs to squeeze them out. It is the dark underbelly of technology. The money at stake makes humans inhuman.

I became labelled disabled because of the chronic intensity of my mental state in the aftermath of all this. All of the suspended anxiety of waiting for the other foot to drop through my dads illnesses all those years became somehow worse after his death. Everything I lost, all that misery, all that effort, and for nothing – he still died. It felt like five years for nothing, nothing I’d done had mattered. For the better part of a year, it destroyed me.

There are a few slack communities I draw a lot of strength from, and some of them have mental health channels. Someone the other day in one was describing lying on the floor. That really hit home. In my period of disability, you could find me laying on the floor, unmoving, for hours at a time. I think I would have been a bigger mess, but maybe as self preservation I got a puppy, which forced me to have some type of sleep pattern and to leave the house. This is her – named Dani, after my dad Dan:

 

Screen Shot 2019-04-20 at 2.45.29 PM

 

I felt deeply uncomfortable both with my disability status, not having a direction to my day, and the feeling of not working for the first time in my adult life. I found out the workplace that I thought was trying to squeeze me out had leaked my mental health status to my manager, instead of simply saying I was on disability leave. I felt so betrayed and humiliated that I wound up resigning from the job altogether.

I felt guilty about not working, and tried taking a different job. But within three months it was clear to me that I was still a wreck. Panic attacks and insomnia, rinse and repeat. I couldn’t do it. I left on disability leave again for a month, and eventually just resigned. My limbs worked and I had very mixed feelings about being on disability leave for something all in my head.

Part of it was the depth of my feeling in the moment, but I just couldn’t do it anymore. All my strength had been drained. I couldn’t sit in an office and act normal, I couldn’t control my panic attacks, I was slurry and unfocused from the multiple months of insomnia. I was on a rotating bevy of antidepressants and anxiety meds, none of which was making any dent. Dani actually saved me, because I narrowly just gave up on living.

Never thought I’d identify with this character, but there is a line Voldemort says in one of the Harry Potter books that goes something about being “less than spirit, less than the meanest ghost … but still, [..] alive.” That was me. I remember at various low points feeling like the echo of a soundless scream, indelible but invisible. I remember wanting to disappear from the face of the earth. Not die, specifically, but be closed like the book of a story concluded.

But — and this is where this very intense story finally gets more positive — at a certain point, I began to round a corner.

 


 

At some point, my shame over not working and feeling of guilt over my new lack of  ambition or drive subsided. What was a terrifying lack of investment in my own future became a feeling of freeing abandon. I started thinking about leaving it all behind, becoming a dog walker, or living like a hermit in a cabin in the woods.

I started cooking, which I’ve always hated, to relax myself, and began to gain some weight back. Dani who was a tiny puppy forced me to express some physicality to keep her tired out and get her potty trained and all that jazz.

A while ago I found a somewhat manic looking drawing I made from that time on a notebook that says something like “If I’m going to go crazy, I’m going to do it right.” I stand by that characterization of that time in my life. I did the damn thing, lol.

Somehow I managed, slowly, to pivot out of deep hopelessness. This manifested in weird, specific fixations, blowing hot and cold on no particular schedule. One span of weeks it was puppies, the next it was antique books, the next I would be looking for jobs that would make me do physical activity or have to be outdoors. Somehow the idea entered my head that I could – actually – become a technician like my dad. Before he became an engineer, he went around going up in bucket trucks for Verizon. He had some hilarious stories about battling with squirrels that preceded him up the telephone pole.

I thought about going to cable college with Cox, the internet provider where I lived. I thought about learning to do tech support. I don’t know how all these ideas became related to each other in my jumbled brain, I was on some type of sleep deprived and addled mission to get away from how badly I felt, which seemed to loosely translate into turning into a different person than the one I was.

I’m sure it wasn’t a coincidence that a lot of my career preoccupations during that time would have had me following my dad’s footsteps. I don’t remember the exact way I stumbled onto the idea of bootcamps, but I’m pretty sure it came up somewhere along the lines of me googling “cable college career change”.

Although cable college or becoming a nomadic dog walker were real contenders, my old ambition at some point won out, and the compromise reached was that I would enter a bootcamp to become a coder, and live in North Carolina simply, away from the stress and pretension of DC. The idea of a bootcamp was somehow completely insane in my condition, but it had a smack of self preservation too. I couldn’t handle working and I couldn’t handle not working, so what other options were there for me? One of my fixations was on the idea that if I tired out my mind and body I could temper the crushing anxiety through exhaustion. In retrospect, it was not one of my worst ideas.

 


 

Bootcamps are intense, and I was especially poorly prepared for mine. I was out of shape discipline wise, after months of reading and lying on the floor and trying my best not to think about anything.  My varying obsessions – getting a dog, moving to North Carolina, becoming a dog walker – were whimsical and without any logistical planning around them. The bootcamp was probably worst off in terms of practicality or feasibility, even among my other crazy ideas during that time.

I didn’t do any of the bootcamp pre-work, and entered it singularly unprepared. I moved 300 miles to North Carolina in the middle of the first week of it. No longer on disability leave my insurance lapsed, and so did my access to any antidepressants or anxiety medications. I was on my own, cold turkey.

Unbeknownst to me, I also needed glasses this whole time, so early into my bootcamp I realized I would have to stop working way sooner at night than everyone else or get awful headaches. With no insurance and no income, going to the eye doctor didn’t enter my head as a realistic option.

But despite all of this – my vulnerability, my relative lack of skills compared to some of the other bootcampers, going off my mental health care regiment, moving to a city where I didn’t know a soul – my insane plan for self preservation worked. I was too busy to think. Instead of being crushingly present in my own body and own panic attacks I was seeing javascript objects behind my closed eyes. I joked to someone recently that a bootcamp is “all learning and no thinking” in that you are being drilled, without time to think about the big picture. The hyper-focus required for me to make even the tiniest thing work with code left no room for my other anxious thoughts.

I loved my bootcamp, even though I really sucked at first. It honestly saved me from the worst point of my entire life, and I will never stop being proud that at my darkest moment, even at the point of considering ending it all – that’s how I wound up dealing with myself, and my pain, out of all the things I could have done. It is something I’m genuinely proud of.

Maybe this is a sentimental take, but it also makes this work mean something to me that I don’t think it means for other people. I can’t tell you the power and calm I felt coming out of a haze of grief, to be able to do something constructive and build things. It was like all the mental energy that had been turned inwards, driving me to distraction, had an outlet finally.

 


 

Bringing it back to origin stories, this one is mine. In terms of why I haven’t shared it, with people I work with or a lot of my peers in the field, its complicated. If I ran into you, a random other person in tech, I might say that I started messing with MySpace layouts and CSS when I was 15 (this is true). I could tell you about how I would spend hours in front of the primitive design software KidPix as a kid making graphics, or how my dad the engineer would bring home wires that me and my siblings would play with. All of that stuff is true, but it is also partially window dressing.

There’s a stigma about mental health, and as you can imagine the workplace that I felt was trying to squeeze me out and then shared my condition improperly left a huge mark on me, and it makes me cautious to this day.

In terms of why I’m talking about it now, I have the advantage of hindsight because I can tell you that for the past few years as a programmer, I have been delightfully and robustly sane. When I look back on that time…yes, I was consumed by chronic mental distress, but I think it was also a perfectly reasonable reaction to my surroundings. My dad kept almost dying for five long years. When he did die, as a primary caregiver for a lot of those years it destroyed my sense of self, and I felt special conflict and pain over the fact that we weren’t talking when he died. I don’t feel ashamed of myself during that time, if anything I just wish I could reach back through time and be kind to me. I was in no position to be making those kind of decisions at twenty years old, and I did the best I could.

 


 

My story isn’t probably all that unique, or all that unique to tech. But I guess I finally want to talk about it because I don’t know that people understand or appreciate how many people around them may be pushing through panic attacks to meet deadlines, or worrying about a family members deteriorating health, or their own deteriorating mental health in reaction to things they can’t control.

Programming is also a field that can be somewhat terrifying in terms of the machismo around it, and unwillingness to see technical people as whole humans. We are ninjas, or rockstars, or 10xers. I recall one programmer I know who had a client tutorial displayed proudly on his portfolio site saying “YOU ARE A MACHINE!!!”. To me, it is totally unrealistic and sad that we spend our times making ourselves less human, thinking that it makes us better programmers.

I am a programmer, and a good programmer, because of how human I am.

In terms of why I’m talking about it now, I like my real origin story better than my sneaky, cagey constructed version. My name’s Joy, and my dad died and I got all fucked up and then went to a bootcamp. I’m proud of my reasons, all of them, and how I got here. I think these messy, heartbreaking, real origin stories are better and I’m sharing mine so maybe other people will feel ok sharing theirs too.

On Sucking: Unsolicited Advice For Junior Devs

At some point over the course of this year, something magical happened to me. And it coalesced into a series of realizations I figured I’d share. Here they are:

It isn’t imposter syndrome, you just suck.  Sorry for the tongue in cheek descriptor, lol! Somewhere around the year and a half mark, which coincided with being three months into my new big-kid engineering job, something wonderful happened. Everything became easy.

Although it felt like some supernatural other worldly alchemy that turned me overnight into a self assured engineer writing moderately clean code guided by some spidey-sense I never had previously, in reality it was just a lot of unglamorous work. I realized that in a way every weekend I spent toiling on some random code adventure had prepared me to be on my own in the wild, at last.

I wouldn’t wish imposter syndrome on anyone. For me, I also have a generalized anxiety disorder so it was very difficult to tell where one stopped and the other began. That being said, in retrospect I think it makes all the sense in the world to feel constantly terrified as an entry level developer.

You SHOULD feel terrified, probably. You just got dropped into a live volcano. One wrong keystroke and you can nuke a database, as was recounted by this poor dev.   Before you go thinking I’m the girl version of a stern greybeard here to give you a hard time, I’m not! It is OKAY to suck, so long as you aren’t doing it on purpose. I have a theory that people who are too terrified of sucking don’t take risks and don’t learn as fast as a result.

 We aren’t purposefully being mean to you. One thing I do a lot of is spend time on Slack communities like CodeBuddies and CodeNewbies – I learn a lot from the more senior people there, and people are up for talking technology 24/7. (Yay!)

Inevitably new people wander in and as you might expect, they have some questions that are head-scratchers to us people in the field. One common source of tension is people asking questions they could have/should have googled.

Another is ‘Here’s my code it doesn’t work can someone help me?’

That’s fine, but no one is going to rewrite your code for you. As busy as you may be as a junior developer imagine how busy the people are who make it to mid and senior level. If you are going to ask for help, the format StackOverflow has provides some good general rules on the right way to ask for help.

  • show what you researched already
  • set up your code for hand off – make it runnable and publicly available before asking someone to look at it. No one wants to have to pull down a repo to their machine and work on it that way. Also, since you are getting free help the onus is really on you to make it easy for people to provide that help
  • if there is one serious pet peeve, never introduce your request for help with ‘It isn’t working.’ WHAT ISN’T WORKING? When you are new, feedback can kind of hurt even if it is well-intentioned. If you drop a snippet of code like chum for sharks and just say ‘it isn’t working’ you can & should expect the response to be all kinds of critiques, even about parts of your code you didn’t want critiqued. Without knowing what exactly is not working, everything is fair game. Its like going to the doctor and saying ‘I don’t feel good.’ Ok, but without more information you aren’t going to receive help.

Outside of those parameters, there really are no stupid questions. Not a single one. As a frame of reference, here were some of my own former hangups (I think laughing at myself is healthy, you are welcome to laugh too) :

  • I used to mix up arguments and params constantly
  • I also used to (and sometimes still do) swap a = for a === without realizing it
  • When I first was learning to code any time someone said the phrase ‘Iterate over a loop’ my mind would instantly go blank and I would forget everything I knew about code. The same thing with ‘scripting language’ even though basically everything I know is a scripting language. I’d hear the phrase in interviews and immediately forget every piece of technical information I ever knew

Another good case for telling people what you already researched is that sometimes as a new person you do google things but the breadth of conflicting responses just mix you up more. An experienced person may be able to tell you which rabbit hole to pursue in those cases if you show them what you are looking at.

Perseverance beats raw talent 99.9% of the time. I was not naturally gifted at code, at all. For a lot of people I think that might have been a sign from the universe they aren’t cut out for the industry, or something crazy along those lines.

Despite having no talent it became apparent to me early on that I was more stubborn than I was bad at code. If you’re currently agonizing over existential questions like:

  • Should I be in this field?
  • Am I smart enough?
  • Will I be taken seriously?
  • Will I ever catch up to everyone that started writing code as a teenager?

I recommend stopping, immediately! Stop letting yourself focus on those questions. The only question you need to think about is if you are more stubborn than you are inexperienced, more stubborn than you are untrained, and more stubborn than you are bad at writing code.

Code is both the problem and the solution. To just about anything. If you feel bad about your abilities, go code. If you are sick of writing code, fine – go code in another language and that’s your break. (I get yelled at for being so gung-ho sometimes, fair enough. If you can be good at this work without doing stuff in your free time, I’m jealous. I sucked, so I had to practice on weekends.)

I sometimes describe my philosophy on this stuff as ‘Imposter Syndrome As An Art Form.’ Every time I felt bad about myself I made myself go learn something and eventually I stopped feeling bad about myself. I don’t know if it was that I learned so much I no longer felt insecure, or that I just jerked my mind out of that cycle of agonizing about my abilities and prospects and went and did something productive.

I think it also gave me permission to say that even if I felt badly about things I didn’t know, I felt secure in how much I was doing to overcome my weaknesses. I couldn’t wave a wand to instantly know everything, but I could learn. And that’s all you can do, so I started letting myself off the hook with some of those feelings.

 

Conclusion

In some ways the world is unfair to junior developers. You hear all this rah-rah-rah information about how EVERYONE SHOULD LEARN TO CODE! How much computer science degrees are in demand, or how much you’ll make after attending a bootcamp. Then you get into the field and you are exhausted, haven’t the slightest idea what you are doing and feel terrified all the time. The cognitive dissonance between those two things, in my opinion, is where crippling imposter syndrome comes from.

The good news is, you live in a time where there are squadrons of people right there with you. If there is one takeaway I can give you it is that if you can get through it, you’ll be glad you did.

A tale of two startups – Part I

I don’t write much these days, besides code. It feels unfamiliar and aching like returning to jogging after a long stint of couch potato habits. I tell myself I’ll get over that. (I really should do the same for actual jogging, but I digress.)

I hadn’t really talked about this much until recently and in doing so it made me want to write it down. After a many year hiatus, I have accepted a job at a startup, and somewhat to my surprise, it has brought back to the forefront a nasty experience I had earlier in my career.

It went something like this: at 24, almost 25, I joined my first startup bright-eyed and incredulous. Coming from more average workplaces, robotic desks and stocked fridges made the place feel somewhere between Narnia and summer camp. This fifty person operation was housed in a swanky section of DC, and my coworkers all seemed to have walked out of a catalog. Some perfect indefinable mix of care and lack of care rolling into an aesthetic that worked for them. Developers with grody hair and gigantic brains around which we all orbited to some extent, ironic t-shirts and man sandals on the C-Suite executives, some of whom were still young enough to live with roommates.

Money introduced interesting and polarizing behavior – at this point in time, I was a recruiter and was stunned that we would gouge people coming in the door. We didn’t want to pay them too much, eat our runway. But by the same token, we’d all fly out to Lake Tahoe for a trip and blow hundreds of dollars on booze alone. I realize now, the dual purpose of hiring people cheaply was not only to save runway, but to attract the right ‘type’. The kind of person that would exchange a better livelihood for beer and videogames and a cool environment. Obviously, it is a personal choice, but as you’d might expect it attracted a fairly homogenous group. Typically, young white guys that could wax poetic about craft beer until you, the listener, barfed, or walked away, or both.

If I sound a little bitter now, it didn’t start that way. I walked in the door thinking I had found a place that cut through the phony act and let people actually be human at work. Instead of caring about what type of suit you were, we valued creativity. Instead of being a bunch of clock-punching paper pushers, we were passionate and mission driven. All those things still appeal to me, and if that were the end of this story, I wouldn’t be telling it. I should also note, my experience pales in comparison to many stories of bad behavior coming out of Silicon Valley, or even my own backyard, where not long ago a female developer at a tech conference was roofied down here in North Carolina. The only bad thing to happen to me was deep disillusionment. You also could say that at a startup or not, I was probably headed towards this lesson sooner or later. You see, at that point in my life I genuinely believed my life had not ever been impacted by sexism.

As best I can recall this time, it was a running series of moments that struck me deeply that might be summed up as, “That was weird.”

  • When the other recruiter I started with was producing no notable work, but in meetings everyone spoke to him only. I’d be cut out of emails then asked about assignments I’d never heard of. They’d been emailing my guy colleague only.
  • When at Lake Tahoe I told everyone my design for the Lego-bartender challenge and I might as well not have spoken. An hour later a guy comes up with the same idea, and I can’t help but saying. “Yeah! That’s what I’ve been saying!” and flipping open to my notebook to where I’d drawn out the exact plan he was in the middle of describing to enthusiastic reception
  • When the male recruiter finally and eventually got fired for not producing any results, and all the C-Suite executives seemed to notice me in the room for the first time ever, a bunch of heads swiveling comically like meerkats

So what, right?

It is hard to define, and maybe part of my hurt over this incident is that I really was killing myself for this job. I accepted the job with them knowing I would need to begin from Baltimore and locate housing in DC. This meant for about 60 days I communted from Baltimore MD, to Alexandria, VA. This meant I was on the road for between 3-5 hours a day on top of my work schedule. Our other main office was in California, so I’d use the sometimes up to three hour car ride home speaking to west coast candidates.

I will say that it is really something to be just busting ass like that and have everyone act like your male colleague is the only person on the team. ESPECIALLY since I became suspicious of him early on. He was rarely reachable or in the office that I could tell, he would offer to take portions of work and then I would never hear updates or results, and seemed to be kind of loafing.

There are exceptions and moments of real kindness here where I was painfully aware of someone going against the bro-flo. Maybe not coincidentally, a lot of these encounters were with other people in the office who were minorities in one sense or another.

  • The guy who I interrupted in the lego competition to say he was saying the idea I already pitched: was very nice to me after this, and it was painfully obvious was listening to me more than others around
  • The smartest guy in the office by my estimation who was developing our distributed systems platform was actually the first person to encourage me to learn code. When he found out I was doing it, he had good advice. And considering how much many developers disdain recruiters, he was kind and approachable in his advice. He actually gave me a gem that was so on point I had no idea: that it doesn’t matter what software languages you learn.

I’ll also add for anyone tempted to say, not everyone can cut it in a startup. You aren’t always going to get credit for your ideas. These are fast-paced environments.

Buuuut, I really have to just stop that line of reasoning in its track. My job immediately prior to this was equally fast-paced – the only difference is that people knew what they were doing. It is a fair critique to say adjusting to the chaos and contradiction of a startup isn’t for everyone.

But that really wasn’t my issue. My issue was politics, a cult of personality, and for the first time like being a female was a gigantic gaping vulnerability to be managed if I were to survive there. It was the first time where I felt like possibly regardless of my performance and effort, factors around me could dictate my future.

So much has changed. It has been years since this experience, and up until very recently, I believed I’d written it off as a bad one-off encounter, where the twenty-something CEO essentially left college and then built his own frat culture. Can I imagine all that money and power going to your head if you stumble into it in your early twenties? Sure can. I probably would have been insufferable too if it were me.

I’m now easing my way towards being a mid-level developer, aided in large part by living inside code. Code is my weekends, code is some of my weeknights, code is my volunteer activities. I am blessed to have many geeky friends that humor me and we get into the weeds with obscure technology jabs and inside jokes. A cliche, I know. This field is so grueling though it creates kind of a subculture like you see in other professions. (For me it brings to mind some of my many friends in nursing, and how binding some of the shared experiences of the profession are.)

I recently accepted a job at a startup that I really originally expected to give a hard pass. I didn’t want to work for a startup again. I had extremely low expectations but made myself continue the interviews because I thought the interview practice would be beneficial for me. If I could sum up why I said yes this time around, aside from the hard advantages of the job itself, I would say there are four striking human factors:

  • I got to interview with multiple people my dad’s age. Where were all the frat boys?
  • I got to speak with a very impressive female VP of Engineering. There aren’t all that many of those
  • Not one person cut me off in the middle of what I was saying. Particularly not any of the men. I cannot tell you what a night and day difference that alone is from my last startup environment. I’ll add that just being heard made the difference! After letting me finish, a couple of times they corrected my answer and offered a simpler path on interview questions. I can totally live with that! It is just being able to get the answer out in the first place.
  • One of the first things in the company blurb says something to the effect of, ‘Check your ego at the door.’ My old startup CEO would have unequivocally failed on that one, and the culture he built reflected it

I should also say, this experience isn’t unique to women. I have a friend who is a person with a disability and said he gets treated the exact same. “So and so (a non-disabled person) just took credit for this idea I literally was talking about last week, and he was paying no attention to what I was saying. Now he’s acting like he came up with this idea.”  It isn’t the biggest transgression but can you just imagine that happening to you over and over like Groundhog Day? That is basically what I’m getting at, and what my friend was getting at.

I’ve always had a clear compass, and so I did not start to question myself on, ‘Maybe that really was so-and-so’s idea.’ But not everyone is like that. I imagine for some people if you get quite literally marginalized it could affect even how you see yourself.

All to say, I have a lot of hope, a lot of passion, and a lot of fear going into my new adventure. My gut really tells me this will be a different ballgame, but these memories have resurfaced with a vehemence that has shocked me.

Wish me luck, and I will hopefully return with a very positive ‘A tale of two startups’ part II.

 

Cheers,

Joy

Adventures Lately

HERE’S WHAT I’VE BEEN UP TO HERE AT LADYDEV

  • As semi-seriously referred to ‘Git girl’, I am still working on preparing folks at my work for moving off of Version-Control-That-Shall-Not-Be-Named. My work can be somewhat change resistant, so I am trying to entice them with things like the rerere Easter Egg
  • Work as of late has been SQL, SQL, SQL. We recently cloned an app from our secure servers back out into the wild, which meant migrating chunks of the db back out
  • We’re going to be beta testing the free Continuous Integration feature of GitLab for this crazy project we run where a master laptop acts as basically a central wireless access point for a buncha lil Chromebooks to run one of our applications.

ROUNDING CORNERS 

I’ve decided that my next official Joy Kaufman Programming Adventure will be Python. How did I land at this decision?

  • I have reached the consensus that as far as not getting to work with Ruby for a living, Python is like the methadone to wean me off of it
  • It has a great outlook, and I am interested in deep diving something with a good shelf life
  • I consider it equally syntactically beautiful to Ruby, perhaps even more so except for whitespace quirks

I like to start off, as silly as it sounds, with CodeAcademy. I feel like it sounds laughable that I’m a professional programmer and that is where I still go, but it has its advantages. I mean, I work really hard and I’m in school, so sometimes in free time code learning I like to start on stuff I can do while only half paying attention.

I also tend to much better learn interactively than say, through videos. I know many programmers who YouTube is their jam, but I really like to get hands on.

At this point, I’ve dabbled in enough languages that I pretty much have my workflow. Find an interactive tutorial. Pick a baby project => Pick a less baby project => Start using in the wild.

3.0 BETA

In redoing my portfolio for the 500th zillion time, found out that for some of my Heroku apps you can now do automatic pushes to Heroku from any time you commit to master instead of the oldschool CLI way.

I’m always a bit suspicious when technology takes over things I used to do previously…but so far so good!

IN OTHER NEWS

Hacktoberfest is officially on. Hackathons have the most gorgeous sites. Another beauty here.…although truth be told, their design last year was even better.

 

‘So you want to be a Developer’… | Imposter Syndrome Part II

My life has sure changed.

In 2005, you could find me changing the code on my MySpace page. I don’t think I had any clue I was dealing with ‘code’, and I certainly had no concept of it as a career. It was just something I did, and something my friends had me do cause I could figure it out.

In 2014 and 2015, you could find me idly doing CodeAcademy from my mobile phone to relax at night, never seriously thinking I would be a programmer two years later. (Why’d they scrap mobile??? Miss that.)

My career for a long time was as a technical recruiter. My claim to fame was being particularly adept at complex Boolean searches to find rare certifications and DoD security clearance combinations. In my first month doing this kind of work, I hired a guy for a job that had previously been open 6 months with no success filling it.

It is ironic in a couple of ways. Firstly, because as a programmer I would spend similar amounts of time querying databases, just without the dumbed-down GUI job boards offer up for recruiters to use. Second, because although I worked with technical professionals all day long I somehow never made the connection that my querying aptitude was anything significant.

 

In 2015, my father died after being ill for five years. I was devastated. My devastation manifested in really inconvenient ways as a tech recruiter. I couldn’t talk to people anymore for a living. A large part of being a public facing portion of a company is that you have to be upbeat, patient, energetic….as you can imagine, that is extremely challenging for someone just dealt a personal blow.

My dad’s death and life inspired me. He was a gifted guitarist and painter, and had an English degree. He was an engineer by profession. He raised me to draw in charcoal, and also took me up in a bucket truck at age 7 in his Bell Atlantic attire. (Predecessor to the Verizon behemoth.) When I was 20 or so he also let me shadow him re-doing failed electrical wiring – he was Renaissance in that way,  and I guess I am now too Renaissance. As a kid, I was never steered towards math or arts more pervasively. My dad had ultimate faith that I could do whatever I wanted, and it stuck.

I thought after his death, why can’t I be the way I always was as my dad’s kid, having an artsy side and an engineering side? I had all this interest lying there latently, and somehow in dealing with my dad passing it became more important. It is terribly cliche, but when someone passes you start to question whether you are doing something important with your life. And in 2016, with the economy fairly healthy, I didn’t feel as if I was doing people any great service recruiting. The jobs were for the picking by jobseekers, and I just felt neutral about the impact of the work I was doing.

I narrowly picked programming over Cybersecurity or network specialized training, and I find them all interesting still. (In fact, my educational background is more in that vein.) I realize now though, that programming was the right choice for me hands down. So here is the meat of it — what will make or break you as a programmer:

  • Problem solving junkie. Check.
  • Google nerd *EYYO BOOLEAN GEEK* Check.
  • Endless curiosity
  • You don’t need to know a certain language. You need to know, that a little like mathematical concepts, all things mainly stay the same but just get more complicated as you get better
  • You will feel miserable and dumb, and wonderful and brilliant, every day.  Maybe back and forth multiple times in that day. (Recruiting prepped me for this.)

I received formal instruction on just enough to be dangerous: HTML, Ruby/Rails, JavaScript, PostgreSQL and a bit of MySQL,  smidgeon of PHP and React. On my own afterwards, I was like an insane person. The full list of every thing I dabbled in via tutorial, CodeSchool, or what have you, includes PHP, Python, jQuery, Angular, I did another free JavaScript course that touched on JSON, some node, Java. Last week I made an application with Python, Scrapy, and Django. Next I’m making a MEVN (Mongo-Ember-Vue-Node app, which I’m SO EXCITED ABOUT!)  When I say dabble, I mean that with no exaggeration – there were certain things like Python I spent a good deal of time with back in summer of 2016, whereas Java I just stayed very surface. (Because, at risk of infuriating the ‘JAVA! JAVA! JAVA!’ crowd, I wasn’t a fan.)

I have my open source interests out in the wild, and my work staples on the job. We use this  library called Knockout.js for data binding, the code base is C#, and I also completely left mac development and had to get used to the ugly GUI Windows insists on giving you for EVERYTHING. ON. EARTH. I also spent about half my day in the database, which was a surprise.

I collect weird errors like trophees nowadays. I am equal parts proud and mortified when my machine does something spectacularly weird. I can rehash weird errors like a president in their inauguration rehashing campaign issues. I literally have a book of weird shit that has happened to me, like a scrapbook. For dumb technical goofy nonsense.

All I can say about this, is the change wasn’t easy for me. But I had unwavering faith that this was something I needed to do. For me, programming is a form of mindfulness. It is like running for people who are into that, wish I was among them lol. I dealt mostly without complaint with being a spectacularly idiotic programmer in my infancy, and now I look back and laugh. You have to suck to get any better, and I am okay with that.

To bring this back to my dad and the insane faith in me, I think I said that he never pushed me towards art vs math one way or another even though he was an engineer. What I’ve learned is that the idea of being only artsy or only math-ey an the two being parallel planes that never shall meet, is wrong. Just the same as it is wrong when people assume all of the most brilliant developers have extremely poor social skills.

To this point, what about cooking? Tenderizing meat or cooking heats are very scientific. But in the best restaurants it is an art form. Subjects like cooking, or programming, are the reason I think that anything done with enough precision can be a science, and anything done with enough passion can be an art

Lets think about that for a moment. I don’t think I am so brilliant for coming up with this way of saying it, but I also don’t think it is said enough in those terms. So, yeah. I’m an artist, I’m a scientist of sorts, I am a goofball, and I am my dad’s kid, a programmmer.

 

Lesson Learned | Fish Tacos | The Swift Kick I Needed to Improve My Project(s)

sabotaged-recipe-saver-herokuapp-recipes-1482002299578_720
Pretty…

The other day, I was sitting outside on my patio enjoying a cup of coffee when my neighbor across the hall came out to his patio to stain a piece of furniture for his son’s room. We had our small talk and he then proceeded to ask me what kinds of things that I build seeing as how I am changing careers into web development. I went on to show him the Recipe Saver app that I made using Ruby on Rails (link: https://recipe-saver.herokuapp.com/recipes) and I was in for a big surprise.

sabotaged-recipe-saver-herokuapp-recipes-1482002299578_720
“Fish Tacos”

The beautiful picture of my fish taco recipe had been replaced by a severed head and upon closer examination of the recipe, it looked like the ingredient “Chupacabra” in the unit of measure of “tesla” had been added as well.

At first, I didn’t know whether to laugh or be a little upset. On one hand, yes, this was hilarious but on the other hand this has proven to be detrimental to my job search due to the recent onslaught of rejections with no interview. This is especially devastating as I live in the Tampa Bay area, one of the most competitive job markets for web and software developers in the country, where the typical applicants per opening for development jobs are in the high 400’s/low 500’s on average. The job below is typical for my area, and has accumulated 497 applicants in 4 days.

screen-shot-2016-11-30-at-12-11-05-pm
I was the 496th applicant for this position on CareerBuilder.

Oh, it gets better, this position was also advertised on a few other job boards. If the other job boards get as many if not more applicants, worst case scenario, the competition for this position could reach the thousands. Even if the other sites do not get as many applicants if any at all, a minimum 497 applicants is still nothing to scoff at. So yes, I think what happened to my app was kind of a big deal and a severed head was not quite the right way to make the right impression for the companies in my area.

I will admit that this was my fault as it is true that my app did not have a login thus leaving the app open for anyone to mess with. It’s not that I didn’t know how to add a login, it’s more that I chose not to add the Devise gem to my app because I wanted hiring managers and recruiters to have easy access to experiment with the app without having to go through the hassle of having to create an account. I was also perfectly okay with people changing the pictures, ingredients, and even getting silly and having fun but I never counted on someone not changing the picture back or not deleting the nonsense ingredients. I now know this rationale was incorrect.

I have since added the Devise gem to this app so now if someone wants to change the picture to something silly or goofy, they can go nuts. It now won’t show on anyone else’s page. I have also learned a valuable lesson and I hope to pass it onto any other aspiring web developers—add a login because you never know what kind of person is going to look at your Ruby on Rails app. This is especially true if you’re applying for hundreds of jobs a month and have your resume up on not only your school’s or coding boot camp’s job site but also other jobs sites such as Indeed or Careerbuilder.

To the person who did this, I hope you had fun and now you can add goofy scary faces on your own login. I’m actually not mad at you and if anything, this is exactly what I needed to get me to clean up, improve, and keep tabs on my projects. So actually, thank you.

Who Goes First?

screen-shot-2016-10-25-at-1-05-57-pm

I remember how I felt when I first got the opportunity to be recognized as a programmer.The title alone was music to my ears: how unapologetically nerdy and technical it is, how honest and unassuming. (No Software Engineers here. Programmer with a capital P.)

For one role I interviewed for before landing my first dev job I had an interesting experience, that I would like to explore further. (Opinions and commentary welcome.) The recruiter I was working with told me in all frankness that this organization (a sports startup) was trying to diversify their team, but the previous candidate they made an offer to declined – she didn’t want to be the only woman on the team, and turned down the offer.

I had a mixed reaction to this, and at first honestly felt a little frustrated that there are women out there thinking this way. First I thought if all women felt that way we’d never have broken into tech at all. Then I started feeling a little impatient with this other unknown person – this woman knew she was getting into a male dominated field, right? No one goes in blind.

It didn’t take long though for my hypothetical annoyance at this idea to fade. Another part of me who has heard the tales of loneliness women in engineering face at work understands. Indeed, the endemic culture issues surrounding women in tech are well summed up in the image above. I often start google queries that way just to see what they type. The examples are incredibly depressing.

 

screen-shot-2016-10-25-at-1-09-07-pm

 

screen-shot-2016-10-25-at-1-09-44-pm

You’ll notice the trend: the most common queries are that we get harassed, are we even any good at programming, and then center on how attractive we are. Broadly to face a culture where female engineers are considered so ‘other’ that these are the questions we are asking, is it unreasonable for a woman to have hesitation about being the only girl in her workplace? Maybe not.

This still leaves a question akin to which came first, the chicken or the egg. How do workplaces get female engineers to join their ranks if women are unwilling to join a company that doesn’t yet have any women? We need people willing to be other. We need people willing to be first. At least in some places. (Although I have come to sympathize with having mixed feeling about being the only girl, like I’ve said – that isn’t anything that would ever stop me from taking a job.)

Whether you are okay being first or not, my advice to all women (and heavily borrowed from Lean In, to give credit) is to be that hand up to other women in your company. Maybe you are the first, but you certainly don’t have to be the last.

 

Brogrammer

filename-1

Brief Disclaimer: I have absolutely nothing against male programmers. Many are wonderful people that I have enjoyed hiring or working with. This article is more to speak to over-popularization of a ‘type’, that at times can make people who are from different walks of life feel a bit like the odd man out. 

For anyone not in a technical field, I’ll give a brief rundown. ‘Brogrammer’ is a controversial term in some ways, and some argue it doesn’t exist. But it is an archetype in Silicon Valley lore.

What is a brogrammer? This description made me laugh the most, from Urban Dictionary:

A programmer who breaks the usual expectations of quiet nerdiness and opts instead for the usual trappings of a frat-boy: popped collars, bad beer, and calling everybody “bro”. Despised by everyone, especially other programmers.

Do I believe ‘brogrammer’ culture exists, at least in some places? Yes, I do. I once worked with a startup where I very nearly lost an eye to a nerf style missile the DevOps team and software engineers were launching at each other. (Joke)

To me, the term brogrammer seems to be, at it’s essence, a hipster counter culture that rewards trendy nerdiness and technical skills. It has also (fairly or unfairly) been associated with the decline of female programmer numbers. The thinking is, feeling out of place female employees are phased (or phase themselves) out of these environments.

Companies suppose the average brogrammer is drawn to environments that attempt to replicate aspects of college for the sake of culture. You all are crammed together in a small space, and you do EVERYTHING together! You tour microbreweries, go to sports games, play with legos, and have beer pong at the corporate retreats. (Those are all literal examples from my exposure to startups.) There is probably a wii somewhere. (Are those still a thing? I don’t even know. Point is, video games!)

So it isn’t enough, culturally, to bond with a team over nerdiness. I am nerdy, sure, but in the non trendy non hipster way. I can throw down over Harry Potter trivia, and actually still subscribe to genuine oldschool printed out magazines. I listen to NPR and am not ‘on’ ‘kik.’ (I’m assuming that is an app, and not whatever recreational drug has eschewed Molly in fashionable circles.)

I think of myself much as a decades younger version of Nick Offerman from Parks and Rec. You show me a man bun, and in my head all I can hear is “Are the scissors in your house broken, son?” You tell me about how you make craft beer in your garage, and my eyes instantly glaze over. You know what kind of beer I like? Wine. Because I’m a girl? Maybe! And so what.

I don’t know what to make of a workplace where people willingly roll in to work at ten in the morning and stay at work, for fun, until ten at night. Um, I am in bed by then. I am a conventional, non trendy nerd. And as much as I love my colleagues, I need a little convention. I am militantly in the office by 7, and if you make me stay for optional-but-not-really 24/7 camaraderie, I lack some sort of clear cut boundary between work and fun that I apparently kind of need. I feel awkward getting beers with the CEO the first week of work, not totally plugged in to your ‘one of a kind culture.’ When a bunch of sleepy eyed boys roll into my workplace in flip flops and ironic overly tight t-shirts, (or god help me, v-necks) I feel five million years old. And very out of place.

And this culture can also be a reinforcement loop for homogenous hires. If you all share the same background, and the same work style, and the same interests, sure ‘culture fit’ seems locked down. As often this is the x factor startups claim as the special sauce  for their success, it is rarely challenged. (This is my experience in interviewing with them, and previously hiring for them.) It makes people from more diverse backgrounds seem possibly at odds with this cumulative culture of sameness.

So I am proudly a non-brogrammer. By virtue of my X chromosomes and 90 year olds preferences for workplace norms and formality. Is there a place for strange breeds such as myself? Who knows. Know this, however my tale ends it will be painstakingly recounted here at Lady Dev.

🙂