Mary Dickson Diaz

Code, Life, Learning

Author: mary (page 1 of 11)

now we are four

Hello readers! It’s been awhile.

This happened:

<3

Some other life happened as well!

  • I was promoted to senior software engineer at my job
  • We sold our house and bought another one about a mile away, which we are sharing with my mom
  • Kiddo #1 is in pre-school, if you can believe that

Our family is now four people (plus bonus Grammy), and this fall is my 4 years of experience in the software industry anniversary. I’ve been meaning to write about the transition to a senior role, what it looks like and how it happened. So why haven’t I? First off: it’s complicated. Secondly, I’ve been pregnant all year, which means TIRED ALL THE TIME. This pregnancy was rough on me, but thankfully resulted in a pretty darn-near perfect baby.

I’m on family leave through the end of the year, and recovery is going a lot easier than last time. Which means… you guessed it… I’m itching for a new programming project. Here are some ideas I’m floating around:

  • Build a Rails app using Rails 6 — my current work at job is all in a very outdated version of Rails 3, with little chance of an upgrade.
  • Make a project with React — I do a lot of this at work, but it’s all behind the company repo and I have no personal projects to show in a portfolio.
  • Update/document earlier projects with new technology. I think it might be fun to revisit some of my past projects with fresh eyes and experience, and document what I choose to do differently.

Help, I want to learn new tech, but I’m out of project ideas. Solution: re-make something that already exists.

I’ll leave it there for now. Maybe some more writing coming this year. Thanks for reading.

that was fast (employed, take 2)

Mary and Leo smiling in a field of purple tulips

Tiptoeing through the tulips

First, a story:

Two years ago I was approached by an external recruiter who had read my blog posts. He asked if I had time to talk about his client, Navigating Cancer. I responded that I was not actively looking for new work, and in fact would be taking maternity leave in three months, but was interested in the opportunity and would be happy to talk given those caveats. We scheduled a phone call for later that week, and then he never called me. Never apologized or explained, UNTIL… exactly three months later, he contacted me again, with no mention of our previous correspondence. “I know you’re super busy at [former place of work],” he wrote, “but can we schedule a time to chat about a company you might be interested in, Navigating Cancer?”

The email arrived while I was in labor, and I can’t remember if I later responded that I was literally having a baby when he wrote oh and by the way, he stood me up last time, or if I only imagined doing so. It was memorable to me because his first email was so personal and diligent — he had tapped into several of my social media profiles, and commented on their content. When I told him about my upcoming maternity leave he even said “3 months! How exciting!” And then somehow he managed to blow all that goodwill by not calling me when he said he would, and contacting me again at the very worst possible time.

Fast forward to a few weeks ago:

Continue reading

laid off

Gentle readers,

I had planned to get back into tech blogging this January with the Code Newbie “blog more” challenge — but then everyone in my house got sick and would you believe I am still sick today — this is the bronchitis that keeps giving, I tell you.

I had also planned to start prepping for tech interviews to launch a job search sometime later this year. I have been happy working at ExpertVoice (formerly Experticity, formerly ReadyPulse) — where for two years I’ve been doing full-stack software development with a fantastic team. My hours and work location are flexible, I get to work on interesting projects, the snacks are plentiful, and the time off “unlimited.”

Job perks aside, I’ve always known that it wasn’t my forever job. My commute isn’t ideal, and the company is heavily skewed towards the outdoor industry, which meant that a large segment of clients are gun manufacturers (hunting and whatnot). They don’t sell guns directly, but they definitely help gun manufacturers sell guns and shooting accessories to military and law enforcement officers. This has never aligned with my values, and sometime after the mass shooting in Vegas, I remember thinking, crap, I have to find a new job.

You know… sometime.

all my free time goes to this kid

Anyway, an unexpected round of layoffs (30% of the company) has turned “sometime” into “right dang now” and I find myself facing down my nemesis, the tech interview. Just like finding a job out of boot camp, finding a(nother) job now requires dedicated and specific preparation. I took some baby steps at the end of last year and did a few interviews with little to no prep — and failed spectacularly. Apparently the fact that I have a few years of actual job experience, have built real software that people use, and can provide great references means nada if I can’t solve a specific technical challenge on a whiteboard or on a shared screen, while my interviewer watches, within the time allotted, which SPOILERS:

Continue reading

go on now

Hello readers!

It’s been awhile. Look how big my baby is now:

HUGE. And so many teeth. He’s walking all over, including all over his dada, and keeping us on our toes.

But I digress.

Earlier this year I had the opportunity to go to GopherCon. Since I resumed work in March, most of the work I’ve been doing has been in Go:

I rewrote an API service from Java to Go. The service has a handful of endpoints to manipulate filter strings including create, edit, get by id and get (all) by org, and uses some customized middleware based on go-kit for logging and etc.  Figuring out my way around all the company-specific middleware was complicated because it was created by a former employee to make Go development easier for Java developers (I am not a Java dev). Luckily, my very talented co-worker Amy had recently built a similar Go service and I was able to use her work as a template of sorts — while still dealing with a number of unique challenges to the project. Today, this “marketer” API runs in production servicing the marketer platform and a number of additional endpoints and services have been added.

Continue reading

making a baby blanket (smaller)

sleeping baby in a baby blanket

I’m scheduled to return to work this week, which makes it the perfect time to pick up another project (not). Nonetheless, I’ve been wanting to knit something for Aurelio for some time, and Ravelry’s declaration that they won’t steer away from “political knits” inspired me to go check out some patterns.

I found a simple baby blanket with a repeating pattern that adds some lacy details — baby loves this because he can stick his lil fingers in the holes. Here’s the pattern:

CO 107 st
Row 1: knit
Row 2: purl (and all even rows)
Row 3: k3, * k2tog, yo, k2 *
Row 5: knit
Row 7: k1, * k2tog, yo, k2 *, k2
Finish with row 1 or 5.

The elements in * are repeated for the remaining stitches in the row.

Now, I want my blanket to be smaller than the pattern. A mini-blanket. But the thing with knitting is you can’t just pick an arbitrary number to cast on or else you’ll break the pattern and wind up ☠️. So how do I figure out how many stitches to cast on?

Option 1: Overengineer a ruby solution to visualize the pattern, then guess and check at cast-on numbers to figure out which ones work.

What an EXCELLENT idea. Let’s do just that.

I started with some nested functions, like this:

…then realized I was breaking the rule of DRY (Don’t Repeat Yourself). Let’s get a bit more object-oriented, shall we?

that’s better, now I don’t need to pass on the width to all those functions, I can use the object’s instance-accessible @width property.

Coded correctly, the pattern passes with the default cast-on width, and breaks when a width breaks the pattern.

Works:

Doesn’t work:

I used the guess and check method to find a variety of cast-on options that don’t break the code, including 107, 99, 87, 75, 63, 51, 55, 7, 11. What do all these numbers have in common?  And how can we identify them without testing via an elaborate visual chart?

There must be a more mathy way to solve this, right?

Option 2: Ask Mary’s Mom

My mom is a skilled seamstress and knitter/crocheter, not to mention a Mensan, so I knew she would know how to reduce a pattern without all that hub-bub above.  I sent her the pattern and asked her what my cast-on options are. She said:

Looks to me like the pattern is just 4 stitches +3 on the edges, so you could cast on 7 or 11 or 15 or 51.

4 and 3… going back to our tested numbers, we find that they are congruent modulo 4, meaning they give the same remainder (3) when divided by that number. Put another way, any multiple of 4 (the pattern), plus 3 (the stitches on either side), will work (4 * 10 + 3 = 43 = works).

Don’t forget to remove the blanket from the crib once baby falls asleep.

If you all have any additional knitting or math questions for my mom I am happy to pass them along.

where do we golang from here

go gopher

The Golang gopher, because every blog post needs an image

When I was getting ready to go on leave, I asked some colleagues what languages and programming skills they recommend I study up on in my free time. The company that hired me was acquired one week after I started working there, and just before I left we were in the process of merging engineering teams and technologies. As the new products and systems development shift to other programming languages (ugh, Java), I won’t get to use Ruby on Rails as often.

One senior member of my team (with two small children) wisely rejected the notion of “free time” during maternity leave. Beyond that, I can’t for the life of me remember what anyone recommended. I’m pretty sure “who knows what tech we’ll be using, learn what you want” was the consensus.

So I’m using the rare programming time I have to focus in three areas:

  1. Code challenges in Ruby (I did about half of this year’s Advent of Code and sponsored a Code Fellows leaderboard for students and alumni)
  2. React, a JavaScript library for building user interfaces — mainly through Code Fellows new 501 level professionals course
  3. Golang, a compiled, statically typed language used for systems development (like Java, but not stupid Java)

I’ve wanted to learn React for awhile — it’s hot right now and a lot of places that would have used something like Backbone or Angular are switching to React. With my friend Emily teaching the class and my mom in town to help watch baby, the timing was as good as it gets. My work is looking at Go as a replacement for certain Java-based API endpoints. And code challenges are just mommy’s brain candy, so I do them in the language I’m most comfortable with (Ruby).

Here’s a little checklist of learning resources for my own reference (and yours, if any of this sounds interesting):

Code Challenges:

React:

Golang:

There, it feels good to have a list so when I have precious minutes to program I can just plow through it.

Why am I using my time away from work to do work-related things??

  1. I enjoy it.
  2. I’m building skills so I can do work I enjoy for my current job and future opportunities.
  3. I want to stay “fresh” (and not forget everything I trained for).

This little guy doesn’t mind as long as I get lots of snuggles in with him:

leo four ways

Bedtime and besos,

Mary

hurry up and sleep

Dear Readers,

Happy December! It’s December now, I think. I don’t know about dates or days of the week or time anymore — I just go where the calendar tells me, which is usually to a doctor — but I know it’s cold, and the baby needs a hat, and I know when he ate last and when he will probably want to eat again (immediately).

Readers, our son is two months old tomorrow and I am here to tell you that the first two months are HARD TIMES. So tough that honestly I am inclined to beg you child-rearing couples to please reconsider. Traveling the world is wonderful and very rewarding. So is going to the theater and museums and dance parties and restaurants and not seeing four different doctors to treat “severe nipple damage” and sleeping more than 3 hours at a time and not spending 75% of one’s income on childcare.* Every single parent I know says the same thing: these are hard times, but you will get through them, and it gets better — not easier, but better. Many of these parents have gone on to have MORE children, which tells me one of two things:

  1. They have all experienced permanent brain damage from 2+ months of no sleep;
  2. They’re all right.

Look my money is on the brain damage, but I’ve been in a lot of physical pain for a long time and that colors one’s world view. The alternate title to this blog post was going to be “oh honey, you’re brave” — which is what the last lactation consultant said before my angel baby child chomped down on the aforementioned severe nipple damage.

The days are shaped by a sense of urgency bookmarked by feedings and sleep. When the baby goes down for a nap, I usually get between 20 minutes and three hours to pump, eat, go to the bathroom, do chores or sleep. This means that whatever I’m doing that’s not sleeping is compromised because I’d rather be sleeping, and the sleep sucks because I’m racked with guilt about not doing all the other things.

Fun fact: missing a meal now means not only do I go hungry but also my breast milk supply will probably dry up and I will no longer be able to feed my child. So eat/drink up!

My mom is here to help and I’ve taken advantage of her presence to take a course on React. Yes I know I just told you I have zero free time but I needed something to remind me that I am more than a (flawed) feeding machine, so we’re making it work — and I’ve wanted to add React to my developer toolbox for some time. So maybe one of these days I’ll write about that. Maybe in month four. I’m holding out big hopes for month four.

I should probably end this post on a positive note so I don’t bum you out, or at the very least give you a cute baby picture. I mean, the kid is really very sweet and cute and I love him, but that does not make these times less tough. And, this blogging is taking away time when I could be sleeping.

So toughen up, readers.

Yours in hanging in there,

Mary

*Did you know that to hire a nanny you have to become that nanny’s employer what with the health care and sick days and the whole nine yards? So get on the daycare waiting lists, parents to be. Do it now even though you don’t want to.

the worst fun

A few weeks ago, just before 10pm on a Tuesday evening, we welcomed our son Aurelio (Leo) into the world:

14670890_10154729607119668_8328386244361863933_n

We had hired a birth doula to assist with the delivery, which was a great decision, but I was unprepared for how hectic the days and week(s) immediately following the birth would be. I had this idea that while the baby is young, we could just strap him in a carrier and go about our daily routines. Baby is hungry? Give him a boob. Baby is upset? Give him a boob. Dirty diaper? Change it. Crying baby? Sooth him. (Or, stick him in the Rock and Play.) Everyone said it would be hard, and we’d need help, but I still thought that labor was the tough part and recovery afterwards would be exactly that… recovery.

I was so wrong. What followed was a period of what my husband described as “the worst fun ever.”

We spent two nights in the hospital and were released on Thursday afternoon. During that time, a parade of nurses and doctors came through at all hours for various tests, to impart crucial information, and to help us with things like breastfeeding, staying hydrated, and using the bathroom (me). And then somehow, inconceivably, we were home with our 3 day old and little man would NOT eat and what was that nurse hotline number again?!?

We really struggled to get breastfeeding going, and he lost more weight than normal — it’s a huge stressor to be recovering from a major body trauma, operating on little to no sleep, and feel unable to feed your child. We’ve since gotten some help and made major strides with feeding and weight gain, and I’m feeling positively human again (like, 60%).

For all you moms about to give birth, here’s some things I wish I had known about the first week:

  • Call a relative who doesn’t annoy you, preferably one who has given birth, and bring them in to help as soon as possible. My husband and I wanted to “establish our routine with baby” before accepting help from family. No ma’am. If you can afford it, hire a postpartum doula. I needed help with baby stuff like breastfeeding, as well as things like staying fed, hydrated, and medicated. Laundry and dishes. There are lots of articles out there about how to best support new parents, but unless you’ve been there yourself or been around new parents, you may not know this stuff (I did not).
  • Order a double electric breast pump. Health insurance should cover this. I ordered through yummymummystore.com and it was easy — click “insurance orders” from the top menu. You can do this as early as a month prior to your due date. Various breastfeeding advocates may tell you that you should be exclusively feeding from the boob and there’s no need to pump for the first few months — fuck that. You may very well need to pump to feed your kid, and manual pumping sucks. You’ll want to have an electric pump ready to go (you can also rent from a hospital). I went with the tried and true Medela Pump in Style.
  • Same for a pacifier. We got some of these. Buy or register for a pacifier and if anyone tries that “nothing but breast” guilt crap on you, punch them right in the boob.
  • Get a bra designed for hands-free pumping, like this Simple Wishes bra. After pumping for a week, I also bought some fancy accessories, like flanges that point down (so you don’t have to sit hunched over while pumping) and bags that let you sterilize the equipment in a microwave.
  • Schedule an appointment, or multiple appointments, with a lactation consultant. Maybe for some women and their babies, breastfeeding is easy? That was not my experience. We used the Lytle Center at Swedish Hospital — they are great — or even better, look for someone who will come to your home.

INTERJECTION: NOT LEAVING YOUR HOME IS ACES. I’ve seen / heard of these new moms who are up and on the go and having coffee and social engagements on day 4. Bananas, I say. I plan to avoid all unnecessary social interactions outside my house for at least a month. Which is a good segway into…

  • Get a big plush cushy robe and just wear that plus a nursing bra and leggings/PJ pants (and some cozy socks). Don’t worry about spending a shitload of money on this, because you’re going to wear it for a month. Forgot those fancy nursing tops with the lift-up secret panels and etc. — maybe in month 2. Or 3.
  • Schedule an in-home massage with someone who specializes in postpartum. I’d venture that day 4/5 or after would be best for this. I got one this week and could easily do it every week. Your body is recovering from a MAJOR trauma. Don’t think of this as a luxury so much as a medical necessity. Also it helps prevent postpartum depression.
  • Schedule a meal train. We signed up for www.mealtrain.com because several friends offered, and it’s been a great way to organize meals and allow friends and family to help and meet the baby while keeping the family fed. Out of town family and friends can also participate by having food delivered.
  • Buy a car seat cover. For some reason, it really bothered me to have strangers ogling my child when we had to take him out for any reason (doctor, lactation consultant, grocery store on the way home). If this is you, you can get a muslin car seat cover for under $20.
  • More about boobs:
    • This saline plus coconut oil trick helped with sore nipples
    • Get some Lansinoh Lanolin Cream — this stuff is great and not having to wash it off before baby nurses is key. I did not care for the reusable gel pads as much, but some people swear by them.
    • I had a good deal of nipple pain following the first few nights of feeding a very tongue-tied baby, and this prescription nipple ointment was a godsend. So, find someone who can write you a prescription for it.
    • Mother’s milk tea — the stuff with cardamom tastes great. It might help, it might not. I drank it anyway.
    • Fenugreek — the bottle says take 3 pills daily, my lactation specialist says take twice that amount. So, I take 6 pills daily and smell like maple syrup.
    • I got a Boppy pillow and a “My Brest Friend” — the latter helped a lot in the first few days, but now I just use a regular pillow.

A good friend told me that I won’t even remember the first week — a new mom is too exhausted to form long-term memories. I believe her because apparently some people go on to have additional children after all this.

It is the best worst fun a person can have.

gestational diababies

A few weeks back, I flunked my 27 week glucose test, used to diagnose gestational diabetes. I’ve always been an overachiever, even in failure, and my blood sugar level for the 1 hour test was no exception: they were looking for a number between 100 – 140; I scored a 220.

When the nurse called to give me the results, I was polite but dubious because I feel fine and despite adding on a few extra pounds the past year, I still think of myself as pretty solid, health-wise. There’s no history of diabetes in my family. So honestly, my first hypothesis was: “they must have given me the wrong dosage.” I went back in for the longer, three hour test to confirm, which I failed again (just barely, this time).

And that is how I found myself on a diet and exercise regime in my third trimester, which is not a nice thing to do to a pregnant person btw. The good news — and this was surprising to me — is that no foods are completely off-limits. The goal instead is to spread out the consumption of carbs/sugars and eat them with foods containing protein and fat for balance.

Me: “So what I’m hearing is that I can still eat ice cream.”
Nutritionist: “Yes, but look at the portion size.”

Witness the gestational diabetes eating plan, in all its comic sans glory:

No one can agree on how to spell placemat, apparently.

Each bullet item in the yellow bucket is approximately 15 carbs. You get 150 to eat throughout the day: 30 for breakfast, 30-45 each for lunch and dinner, and 15 for each of 3 snacks. (They say the food items on the right side have “little to no carbs” a serving but that is a LIE because every damn thing has carbs added.)

I spent the week after seeing a nutritionist following the plan and testing my blood sugar four times a day, and was feeling pretty good about the results — no spikes after meals, no numbers over 140 ever (I still think that 220 was a fluke). My morning fasting blood sugar was a tiny bit higher than where it was supposed to be, but overall I went back for my follow-up appointment feeling v. pleased with myself and also a little “anytime y’all want to admit that this was a mistake, I will accept an apology graciously.”

Instead, she tells me, Actually, that fasting blood sugar is the one we really care about…”

Ouch.

“We can try experimenting with the nighttime snack, but I’m probably going to recommend medicine to try to help lower the morning numbers.”

Medicine? Por moi? But… but… I’m rocking this thing! Which isn’t even real!

“And now, let’s talk about how you’re going to incorporate diet and exercise into your postpartum life because it is really very important to lose the baby weight within 6 months since you’re now at a higher risk for type 2 diabetes.”

Is it impolite to walk out of the nutritionist’s office midway through an appointment? Because I did not, but I did shoot the poor woman eye daggers for the remainder of our time together. (It’s not her fault, she was just doing her job.)

A few weeks later, on meds, I’m still struggling to get my morning blood sugar fasting numbers consistently below 95, and finally willing to admit “ok, perhaps this is A Thing after all.” It’s been tough to find any pattern between the high numbers and the low. Some days I think it’s affected by quality of sleep, some days by whether I met my walking goals (aiming for both of these can’t be a bad thing). The concern for baby’s health is that any excess sugars in my blood that can’t get absorbed into cells due to the heightened insulin resistance can travel freely across the placenta into baby, meaning baby gets BIGGER, more monitoring is required, and this potentially impacts our birthing options.

I’m trying not to stress about it, but that’s what’s going on at the moment. (I had ice cream twice yesterday and low numbers this morning, so perhaps more ice cream is in order.) Solidarity to any of you who may be in the same boat, and thanks for sticking around for anyone else who’s just here for the code.

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

« Older posts

© 2023 Mary Dickson Diaz

Theme by Anders NorenUp ↑