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.



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.




Adventures Lately


  • 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.


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!


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)


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.

“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.

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?


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.





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.