Mary Dickson Diaz

Code, Life, Learning

Category: The Plan (page 1 of 4)

and life happens, the sql

'hello world' baby bodysuit

shipping this October…

Hey there readers, it’s been awhile since I updated this site. Life’s been overwhelming (in a good way), and has required all my focus on one day at a time.

I started this blog in late 2014 a few weeks before quitting my job to document the journey of becoming a software engineer, and in some ways that story is now DONE — this July, after a year and a half of training and independent project work, I started a full-time position as a software engineer with Experticity, the company that acquired and merged with ReadyPulse, where I’ve been contracting for the last three months.

I went into that three-month contract under the following assumption: “This will be a great, foot-in-the-door way to get some industry experience, but temporary, because NO WAY are they gonna hire a career-changing pregnant (!!) junior developer on full-time.” This false assumption was debunked thusly:

  1. My pregnancy (which I disclosed early in the contract period, as soon as it was “safe” to do so, medically speaking) did not impact the decision to bring me on full-time, or not, which yeah yeah yeah I know it is “the law” but look, discrimination happens, and I’m grateful it turned out to be not an issue for me or my company.  My advice to others in a similar situation is to seek out a workplace where “family friendly” is a genuine part of the company culture — not just because they say the words, but where employees, including senior management, *have families*.
  2. I turned out to be not as junior as I thought — I’m on a steep learning curve and still have a ton to learn, but I’ve been able to contribute and add value to the company right away, while developing my skills as a software developer and engineer. From that point of view, the decision to continue on full-time was a no-brainer for me and the company. I credit this to my past professional experience, as well as my software training from Code Fellows and Kal Academy — where I not only learned Rails and algorithms, but more broadly: how to learn software, how to work on an Agile team, how to set up a development environment, how to debug, how to ask good questions, etc.

So, yeah… I am employed. And we’re pregnant! I’m 28 weeks along today, and due in mid-October.  I wouldn’t necessarily recommend to others having a baby in the middle of a career change, but I wouldn’t not recommend it either — life happens when it happens. It’s gonna be tough to leave our little baby to return to work, and I’m incredibly lucky to be in a situation where I have exciting work ahead of me, both personally and professionally. (And a great spouse excited about it all, and a generous maternity leave courtesy of my job — oh look we’re hiring.)

The story is not done, of course — I want to keep writing about what I’m learning and doing to develop myself as a developer in these early stages. And about navigating this space as a new mom. A friend referred me to this Ruby on Ales talk titled “Baby Driven Development,” which is a fantastic 30 minute watch if you’re a parent, parent-to-be, or work with anyone who is.

Future posts will probably continue to be less frequent, and might go baby shaped for a while, but I still like making them, so thanks for reading. 🙂

the gig is up

wocintech stock - 42

photo via #WOCinTech Chat

I landed my first coding gig!!

Long-time readers know that my job search started out with a bang back in November, marinated a bit over the winter holidays, and then resumed in full force these past few months.

Throughout it all, I had some heartbreaking near-misses and some real low points of thinking, “this will never happen for me.” My instructor helped connect me to a potential contract project that didn’t quite get off the ground but led me to develop a cool app anyway. I flirted with some near-coding opportunities like writing code school curriculum and Salesforce development before narrowing my criteria for what I’m looking for. I met other kind and well-meaning people who made a bunch of introductions, and followed those rabbit trails where they led.

And thanks to one of those introductions (which happened not as a result of going to meetups, though I did that too, but rather the practice of “find and follow cool people on Twitter” which I have been doing for YEARS), I met the team at ReadyPulse, a Bay Area/Redmond-based startup where I start Tuesday as a Ruby on Rails development engineer in test.

I’m so excited that I’ll get to continue to work in Rails, expand my knowledge of software testing, work closely with the client support team to understand and troubleshoot issues, and work with a small development team to ensure new features behave as expected with full test coverage. And at a market rate!! (Add to the heartbreaks: the company that wanted to pay me $35k a year to join them as a junior developer, and the company that rejected me from their job seeking site.)

As is not unusual in this biz, I’m starting out on contract for three months, with potential to convert to a salaried position (and possibly move from testing into feature development at that point) if we both agree it’s a good fit.

Some highlights from the interview process:

  • After being e-introduced, the VP of Engineering invited me to come to the office and after some chit-chat he had me do a whiteboard exercise where I built a simple Rails application. This was actually my first whiteboard experience outside of the Code Fellows practice environment, and it went really well. My interviewer was patient, supportive, helped when I got stuck, and didn’t ding me too badly for some minor syntax errors. After I got home, I built the actual app and sent him a link to a Pull Request so he could see 1) I know how to use GitHub and isolate my code changes in readable fashion and 2) that I paid attention to what we talked about and had the follow-through to create a functioning app.
  • He replied that the app looked good, and did I have any tests for it? So I added tests.
  • I did a second whiteboard exercise with the CTO that was similarly positive and even a little bit fun. At one point I was doing the talk/think out loud thing and I told him I couldn’t remember if Ruby hash supported the “shift” function and he was like, “oh, you can look it up on your phone if you want.” And I was like, “SERIOUSLY?” And he was like, “yeah, real programmers use Google. Go for it.”
  • When my interviewer was discussing the position with me, which involves writing tests and quality assurance for two versions of their software, I asked him “how’s your technical debt” LIKE A TOTAL BOSS and he was like “oh, good question,” and his response led me to a deeper understanding of the situation and excitement to take on the challenge. It is a giant milestone to know enough to ask good questions.

There’s still a lot of unknowns in the future, but I consider this a big step towards the career I want to build as a developer. I’m grateful to Code Fellows for my training, to my partner Josh for supporting our family during this transition, and to friends new and old who cheered for me along the way! I’m gonna keep building my network and do my best to help other new coders find opportunities to get into industry quickly — there’s no better way to keep learning than on the job.

I had one of these to celebrate and I invite you to join me!

Root beer float

Cheers!

a modest (code school) proposal

I posted awhile back that after two classes, I took a break from working as a Teaching Assistant with Code Fellows. Part of this was logistical: it’s hard to dedicate yourself to a job search while also working long hours to support students and instructors. The job opportunities I’d been hoping for didn’t materialize, so I decided to double down on my efforts.

The second part of leaving was emotional — It’s intense work. Two months seemed like a manageable amount of time to sustain that level of full-time effort. By the end, I was exhausted. I’d had a terrific first class working with my former instructor, and was excited to bring that experience with me to a second class with a new instructor and TA team. The last week of that class was particularly stressful when I clashed with just about everyone on their decision to throw out all the assignments done up to that point and heavily weigh “instructor gut feeling” and a hastily conceived and executed pen-and-paper “quiz” as grounds for student advancement, or not. In doing so, I watched in real-time as all the studies about gender bias in the classroom played out, and experienced the frustration of fighting back against it, all the while being treated to a lecture about how none of this was sexist, at all, the opposite in fact!

So I left that team. And since then, I’ve found myself distancing myself from Code Fellows and gravitating more to communities where inclusion and diversity are lived values. I’m also hitting month five of job searching, witnessing how other code schools have programs in place that help with the gap from code school -> industry, and feeling that Code Fellows is still for the most part sending us off with a pat on the back and a “go get ’em, tiger.”

But it doesn’t have to be this way! Code Fellows has a uniquely diverse and passionate student base and huge potential to be something great. As a friend and alumnus, I have some ideas. I will probably get labeled a “hater” for this, but it comes from a place of optimism.

Part 1: The Low Hanging Fruit

ApplePicker

Continue reading

the gift and cost of clarity

7-Your Move

An update! Since I decided to Go Into The City many wonderful connections have been made. I updated The Plan with my goals for March:

 

  • Go to coffee 2x+/week, with someone I know and someone I don’t know (find folks doing jobs I want and ask them how they got there)
  • Go to meetups, 2x+/week
  • Find an open source project to contribute to (possibly through Open Seattle, CF App Builder Club or the Outreachy application process)
  • Work through Harvard CS50, Programming Interviews Exposed, and Cracking the Code Interview
  • Apply to jobs, 3+/week
  • Take a new class through Code School or Pluralsight and build a new app or add to an existing one with new skills
    • Angular (focus on Rails backed Angular)
  • Reinforce core skills
  • Stretch Goals:
    • Learn VIM
    • Outreachy application (most likely Wikimedia)

Some of these I am doing well on and others not so much, but we’re not even to the Ides of March yet so I’m just going to silently note it for now. Besides, I think it’s time to narrow my focus even further. Recent conversations have been valuable in determining exactly what type of opportunities I’m looking for among my diverse and varied interests and abilities. This leads me to the following Career Intention:

I am looking for full-time or contract work… 

     …as a junior software developer

     …in a supportive learning community

     …where I can work on substantial projects

     …preferably in Ruby on Rails

     …with people who value diversity and inclusion.

That’s it! It’s a tall order but not impossible to find. And, I need to be putting all my efforts towards learning experiences and projects that will move me closer to this role. Other tech related ventures that are not coding, I bless and release.

The closest match I’ve found so far is an Outreachy learning opportunity with the Wiki Education Foundation’s Wikipedia course dashboard system. The dashboard is built in Ruby on Rails and uses a combination of technologies I’ve worked with and technologies I haven’t worked with but would like to learn. The project manager is based here in Seattle and would be great to work with. The opportunity itself is a three month internship, paid (a small amount), with a respectable network and prestige for alumni that can lead to more opportunities.

I’m struggling to get my development environment set up to jump in and contribute in some small ways (required for the application), but it’s a priority for the March 22 deadline. More to come on the technicalities of that.

It is tough but a great relief to let go of “I’m open to all sorts of tech and coding related opportunities.” It means I’m still not getting paid, but I’m not compromising on activities that won’t move me closer to the goal.

Having now clarified my intentions, it should be easier to share them with the world and let the world help.

go into the city

gointothecity

“Now get up and go into the city and you will be told what you must do.”

I’m not particularly religious, but this photo by my friend Andrea was so timely this morning it brought me nearly to tears.

I’m wavering these days, trying to figure out the best path forward. What to work on, what to study, where to spend my time and energy to appeal to potential employers. I’ve been kinda all over the place: I spent a week climbing the Code Wars code challenge rankings to #2 for my Code Fellows “clan.” I went back through the assignments for Code 301 (the class I TAed) and completed them myself, to make sure I thoroughly understand all the components of a MVC website. (301 is a new class, which is why I hadn’t completed the assignments previously.) I’ve been coding in JavaScript and Ruby. I tried Rails 5. I went (finally) to an Open Seattle meetup and met some great people with neat project ideas. I started learning vim!

What I know is this: when I try to plot my path forward from my living room, I get nowhere. So my goal for the remainder of the month is to figuratively and literally GO INTO THE CITY. Look around. Talk to people. And listen for the clues to what to do next.

the wait

Hard to fathom that January is nearly over. What a ride it’s been already.

Earlier this month I had to take my laptop in to the Apple store because it started making vacuum cleaner noises. When I called them to get some additional information, this song above was the hold music. I thought it was sooooo clever. But then I called again a week later and the hold music had nothing to do with waiting, so maybe just a coincidence?

Nevertheless, I have a few irons in the fire at the moment and the waiting is exciting and terrifying, while simultaneously I am trying to continue to forge ahead in case nothing comes of it.

Being unable to talk about my own job search I will tell you instead about a conversation with a colleague last night, a  fellow TA who graduated around the same time I did from the JavaScript Accelerator. She’s slated to start working in February for a company here in Seattle who empowers female entrepreneurs, in a contract-to-hire position. When I asked, “How’d you find out about that gig?” she told me that she invited someone out to coffee for a networking conversation, a women she got connected to on Twitter, and that conversation turned into “hey can you come in to interview?” which then turned into “actually nevermind, can you start in February?”

via GIPHY

“Hang on, so you went to coffee… and then… you didn’t have to do a phone tech screen…”

“Nope, they just offered me the job. It’s contract so if it doesn’t work out, no harm done to them or me.”

“…You didn’t have to code on a whiteboard…”

” 🙂 ”

via GIPHY

I’m really happy for her, and the more I thought about it, the more I land on: WHY AREN’T MORE ORGANIZATIONS DOING THIS??

I interviewed back in November for job that seemed like a *great fit*, working as a Rails developer (“engineer”) at the local office of an org that allows users to track which books they’ve read and want to read. The job description said “be less than a year out of school” so I applied despite my green-ness, had a great “cultural fit” convo, and then got whomped in the technical phone screen. Guess what: that job is still unfilled, or still hiring, it showed up again today in my job postings notification. In the three months since they talked with me, at least two things have happened: 1. I got better; 2. The technology changed. If they had just hired me in November for a three-month run, I could have gotten better *on their technology stack* and we would both know by now whether it was a good fit for a longer commitment or permanent hire.

Josh helped put this in perspective for me yesterday, talking about another potentially stressful interview process coming up. “It’s not whether your technical skills are good enough to fit on their team, it’s whether they have the training capacity to take you on.” He continued: “[Company X] has enough resources, they could potentially take any of the five of us in this room [including the cats] and train us to work with their software. Whether they choose to do so is reflective of their own priorities and not your abilities or capacity to learn.”

#perspective

This article is making the rounds, and I think it’s an essential, and relevant, read: Why Doesn’t Silicon Valley Hire Black Coders? 

I’m not advocating for throwing your “Ace the Technical Interview” book out the window, but there’s something here worth considering, both for technical job seekers and those to seek to hire them. At a minimum, maybe it’s time to schedule those informational interviews you’ve been putting off!

Say, can I take you out for a cup of coffee?

the plan, part 3

Oh hey, Happy Thanksgiving December! My last post was a cliffhanger that wound up more suspenseful than intended. And then December exploded and I’ve been busy with no time to blog. But I started down this path, so let’s dive back in. 🙂

Crater Lake

Andy Spearing, Crater Lake

Ok, so I was talking about my assumptions going into this year, and I left off at number 4:

  1. I can learn to code in a year — TRUE
  2. I will be job-seeking in a year — TRUE-ish
  3. I can tailor a program of free resources and paid classes for less money and time than the cost of graduate school — TRUE w/caveats
  4. As long as I can build software, the amount of math I’ll need to know is minimal
  5. An all-women learning environment is preferable to co-ed (but not a deal-breaker).
  6. MOOCs will be a great tech resource for learning computer science
  7. Meet-ups will be a great way to network, make connections, and find job leads

Continue reading

the plan, part 2

Hey, you got a few minutes? Ok, let’s talk about The Plan.

In January, I quit my job to pursue a path in software development. I didn’t really know then that it was called “software development.” I’m still not particularly married to that job title or role, strictly speaking, but a lot of other roles stem from that one so it’s not a bad place to start.

(I am married to Josh, though! I wasn’t when I started. Pretty cool, huh?)

But be ye more educated than I:

credit Brandon Hays 2015 RubyConf talk, full slides here

Knowing very little about the tech industry, I made several key assumptions going into this journey.  In this post I’ll detail how these assumptions have panned out (and in a follow-up post I’ll talk about where things go from here).

Assumptions:

  1. I can learn to code in a year
  2. I will be job-seeking in a year
  3. I can tailor a program of free resources and paid classes for less money and time than the cost of graduate school
  4. As long as I can build software, the amount of math I’ll need to know is minimal
  5. An all-women learning environment is preferable to co-ed (but not a deal-breaker).
  6. MOOCs will be a great tech resource for learning computer science
  7. Meet-ups will be a great way to network, make connections, and find job leads

Continue reading

teachable moments

[This one from the drafts folder, folks. Reflections on the code bootcamp, week 3-ish out of 8. Written on the number 7 bus en route from class, most likely. My bus commute is at best two and at worst three hours every day. I had grand plans to maximize that time, but here it is week 6 and I’m still spending it mostly on phone games.]

learn-64058_1280

stop teaching me things, I’m trying to learn

As a middle school teacher, I became attuned to “teachable moments,” opportunities to impart knowledge related or unrelated to the topic at hand in response to what is happening in the classroom. Sometimes these situations relate to “real world” knowledge, questions about current events, observations about how people interact with each other. “This wasn’t on my lesson plan, but this is a teachable moment and I need to take advantage of it while it’s here.” Genuine connections, stuff kids will remember.

My instructor and TA are great at taking advantage of these in class. When someone couldn’t connect their laptop to the overhead, we got a lesson in how to clone a repo in github. Unexpected errors get dissected until they’re solved.  The answer to “who else has seen this error?” is usually not nil. Almost nothing is off the table, and I’m a better programmer for it.

It’s not always a picnic though. The structure of this class is a lot of stuff to get done in a short time frame. I’ve had multiple scenarios where I ask a question about how to implement something in my code, only to be steered towards doing it an entirely different way, often with huge structural implications. My impulse here is to respond with “Hell no, I’m almost done! That sounds like a great suggestion for another app. Let me just finish it my way and move on.” I’ve had to resist those feelings of impatience or frustration in order to leave myself open for what I’m thinking about as unsolicited learning. Those situations where I did *not* want a lesson, or not on some topic other than the one at play, but here is one anyway. It can be valuable if I stay open to it. Hell, I can even ignore it once received, as long as I get it.

It’s a blessing and a curse to be meta attuned to what’s happening with my own learning. And of course timing is everything. I may be open to one lesson at a given point and another one, I just want to go home and think about it and hash it out later. I’ve tried to convey this with as much respect and humility as possible while still being assertive– it’s my time, and I usually know what’s going to be productive for me and when the only solution to hitting a wall is to step away from it and come back later. That conversation looks something like this: “I see what you’re saying. This code could be definitely be refactored. I don’t know enough about this particular function and I’m not in the headspace to dig into it now, so I’d like to table this to research and work on later. I’m confident I have what I need to solve this now.”

It’s all a process.

badge of honor

The bad news: my achievement bot got banned! (a twitter ban on a benevolent bot is actually a badge of honor in twitterbot land, so I’m not too broken up about it)

The good news: I discovered this fact while updating my resume! I added some projects that I’m proud of and can talk about, which makes the idea of chatting with tech recruiters less horrifying.

I haven’t had time to blog which is a bummer for me, but not unexpected. In the meantime though, you can enjoy my lightning talk about Markov Chains, which I used to create Bookmerge.

Back in a jiffy 🙂

Older posts

© 2017 Mary Dickson Diaz

Theme by Anders NorenUp ↑