Mary Dickson Diaz

Code, Life, Learning

Tag: Code Fellows (page 1 of 2)

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


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


Continue reading

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


  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

try angular

this is what angular feels like, a bit

In the last two weeks of my Code Fellows Ruby on Rails bootcamp, we’re focusing on JavaScript, JQuery, and all their friends. This week we kick off with Angular. Angular is a JavaScript tool created by Google for fast, responsive websites. I completed the (free) Code School course “Shaping Up With Angular” and I’m about to embark on a quest to connect it to a persistent database. In my case it will be a Ruby on Rails app.

But first, let’s talk Angular!


When you create a JavaScript file to hold some Angular, you initialize it like so:

var app = angular.module('gemStore', ['store-products']);

if you’re not well-versed in JavaScript, this is essentially saying: Declare a variable “app” and set it equal to an Angular module named “gemStore” that depends on another module named “store-products.” Once you’ve declared at least one module, you can get going filling it up with useful stuff like…


Controllers work similar to how they work in Rails. You can set up and assign a controller to a specific part of your webpage, and it can render and manipulate data in a variety of ways. In the tutorial, we set up controllers to manage information about the gems, the product tabs, product reviews, etc. If your code is getting repetitive and/or you want to isolate specific chunks of the page, you can create directives instead that will load a separate html page using naming-conventions (much like how Rails renders partials). Depending on what you’re trying to do, you may be able to include controller functions in a new directive and eliminate the need for a separate controller altogether. Neat!


Angular controllers are called on specific DOM elements , and operate within the scope of that element only. So for example, here’s some pseudocode:

<section id=gems ng-controller="gemController">
  <unordered list of gems>
    <gem 1>
    <gem 2>
    <gem 3>
  <end of list>
<end of section>

Outside this lovely, contained section, if you want information about gems you are entirely out of luck. Note how any of the list objects know about gems (and any child elements we might create under them, if we so choose)–basically anything that’s in the gem section family.

But not outside that family. They know about other stuff, maybe. Like maybe they know about…


If you’ve ever typed on a website and had text show up magically elsewhere, tracking as you type, that’s a two-way data-binding and Angular is a pro at it. Here, why don’t you go make some boxes to see how it works? Hmmmm… boxes. That’s not very try angular. Get it, triangular? I feel like this demo could be improved… perhaps a project for a rainy day…


Wow, that one sounds pretty grim, right? Coffee is my dependency injection these days. But we already saw this above — you remember in that top example how my app.js had an array of one element — it looked like this:

angular.module('gemStore', ['store-products']);

The app can’t run without the file where I’ve created a module named ‘store-products’, so injecting the dependency here tells my app where to look to import that info. Once it knows how to read ‘store-products’, it inherits any and all controllers and directives in that dependency JavaScript file, and the app can load as usual. Quickly, we hope!

Ok, off I go to attach this gemstore to a database… wish me luck and above-average retention as we dive into the last week of instruction (#justkeepswimming).

the struggle is real

Hey folks, happy Labor Day!

I survived week 1 of the Ruby on Rails bootcamp. We’ve had to do a lot of work and reflection in class about what we’re learning, which makes me less inclined to write about it here. Yet. Stay tuned. In the meantime, you can take a peek at my portfolio site, which is build in Ruby on Rails and uses foundation zurb for the layout elements. It’s served on Heroku and redirected to a custom domain (that I got on sale for $4 from namecheap). Eventually–and in theory–it could replace this WordPress site altogether!


Please, internet, behave yourself around the blog tool until I get user authentication in place (this week probably).

My first week was overall very positive with one small hitch in the form of some medical issues I’m dealing with (remember when I was all, “let’s get the doctor visits etc out of the way before class starts”? Yeah, I did not do that, nor would it have necessarily helped). This means that I haven’t been able to devote 100% to the material and assignments, but this long weekend was a good chance to catch up.

In reflecting on how my health needs might potentially conflict with a high-impact, time-intensive program, I’ve also come to peace with the fact that two months is essentially an arbitrary amount of time and this might take me longer. Which is not to say that I don’t intend to work hard, do my best, and take full advantage of the excellent resources available to me during that time. But if my body is telling me to go take a nap, coding will still be there when I wake up.

It also might not take me longer, which would be great. But I’m prepared for the possibility. As of this moment I’m a member of the Caught-Up Club.

I have to give a lightning talk next week. What should I talk about?!

riding rails (for fun and profit)

At the end of my interview, the instructor asked, “Soooo… what are you doing in September?”

And just like that, I snagged a spot in Code Fellows coveted Ruby on Rails development accelerator, an 8 week full-time bootcamp designed to jump-start a career in web development. Hi-fives for everyone!

I was nervous but well-prepared going into the interview. Keeping this website and writing about what I’m learning has been a good way to internalize it and work out “talking points.” I was glad that I took some time to clean up my portfolio site ( since that was one of the first questions asked, “do you have a projects site we can look at?” Why YES indeed I do!

I have a month to prepare, so I updated The Plan with what I’m working on before class starts. In a nutshell:

  • get some more perspectives on Ruby on Rails, and learn as much as I can about Rails apps
  • review JavaScript (two weeks of the DA will focus on this) and practice it via some hands-on projects
  • bone up on algorithms and core programing concepts

I’m also going to try to take care of some of those pesky “life” tasks. I finally renewed the car registration (they give you two years in Washington before you have to get an emissions test), and I need to set up my new health insurance and convert to life as a married person.

At times throughout this process I’ve felt a bit aimless, so it’s good to be entering into a period of intense, highly structured time focused on becoming career-ready. And, much as I’m currently feeling “let’s get this show ON THE ROAD” it all happened exactly when it needed to, and not before.

Thanks for coming along for the ride. More adventures to come!

on motivation and timing

Hey folks, this is a short, feel-good post.

I’m halfway through my Ruby II class and I’ve completed all the homework exercises.

_All of them._ Two weeks ahead.

I’m now working on the development accelerator (DA) application challenges, which are going to be challenging, but seem entirely doable.

I’m light years ahead of where I was halfway through the Python II class. If you’re considering taking a Code Fellows Foundations II class (or any coding class), you might be interested to know WHY this one is going so much better than the last. So here are a few of the contributing factors, as far as I can tell:

Continue reading

state of the code

this kid has A Plan

this kid has A Plan

(cross-posted with The Plan)

In January 2015, I made a tentative 4 month schedule for what my code learning would look like, and for the most part I executed on it. Anything optional got shelved. Almost all the MOOCs got shelved (I did stick with the MIT one about 3/4ths of the way through). I went to one meet-up group meeting, once, which is ridiculous given the wealth of resources in our community and openness to sharing, but hey, this journey is about learning and I’ve learned I’m not a meet-up person.

Not surprisingly, in-person class commitments were key to moving forward and keeping me accountable, and I’ve had overall positive results with Code Fellows so far.

If I had to plan it again, here’s my do-over itinerary:

  1. First, get you a Mac, or get ready for a world of pain.
  2. Unless you’re planning to do the full-time bootcamp (in which case do everything you can the month before), take a night class with Code Fellows ($500 for foundations I or $1,500 for foundations II if you already have some code experience and want to prep for an accelerator).
  3. If you have an opportunity to apply to Ada Academy, do it! Don’t let the required video and their unpredictable cohort schedule scare you away, unless the latter is a deal breaker. This cohort timing wouldn’t have worked for me, but that’s not why I didn’t apply — I didn’t apply because I was scared to make a stupid video. And that’s super lame. So, you know, just do it (and then turn them down if it doesn’t feel right).The act of applying will be a useful exercise for you. This year they had 265 applicants and selected 24 women, and, while I’m confident the number of applications will only grow, those odds are not terrible. You can do it!
  4. You’ll want to work all the way through the HTML/CSS web track andJavaScript tutorials on Code Academy. These are required for the Code Fellows foundations classes and a good intro/refresher for everyone else. Don’t let it be your only teaching source, but it’s not a bad piece of the bigger pie.
  5. Work through MITx 6.00.1x  Intro to Computer Science with John Guttag. I bought the textbook but never really used it, so skip that. Instead get the textbook for…
  6. Python the Hard Way: the book is offered for free entirely online, so a paper copy is optional (but nice, IMO, because you can keep going without an internet connection). If the hard way isn’t your style, try Elizabeth Wickes python for informatics instead.
  7. Get familiar with git (where you’ll keep track of your programs), unix/terminal line(where you’ll run/edit/etc your programs) and a text editor, I use Sublime 2. Like, really, learn them. This could maybe wait until month 2 or 3 but the sooner the better.
  8. Tackle a few side projects to start to grow your portfolio and have something to practice your new skills on: mine were this blog (powered via WordPress), a non-Wordpress pure html/css webpage, and twitter bots. Bot, bot, bot!
  9. Talk to programmers to learn about their jobs, and research code school options that might be a fit for you.
  10. Hopefully you made some friends in your class (or online) and have an ongoing study group in the works. Or, for Pete’s sake, go to some meet-ups. I hear they don’t bite.
  11. You should probably try a few languages/programing paths to see what’s a fit. At some point you’ll want to narrow down a programing language. Keep in mind that once you know one, it’s easy enough to pick up another, so you’ll also want to pay attention to who’s teaching what and where the opportunities are. I personally like Python and there are lots of jobs in JavaScript, but I had a great experience with an instructor who teaches the Ruby accelerator and that’s what I’m currently focusing on.
  12. Next steps for me: take another foundations II class in June (this one in Ruby), and apply for the Ruby accelerator in August. On this path, I’ll be “done” by the end of October and looking for jobs or internships before the start of 2016. We’ll have to take a good hard look at finances after the wedding and honeymoon this summer. I’ll be most comfortable if my period of unemployment lasts no longer than a year, but I’m mentally prepared for a career shift to last up to two years (same amount of time as full-time grad school for most programs). One year could be crazy wishful thinking.

And that’s it! I tried and failed to break this out month-by-month, but I hope this is helpful to someone even without that timeline. I’ll keep my first (aspirational) draft on The Plan page that has many repeat resources (and a lot more that I didn’t get to). Enjoy! –Mary

Older posts

© 2017 Mary Dickson Diaz

Theme by Anders NorenUp ↑