Starting at HeroDevs 🎉🎉🎉

On Monday, February 7th I started working at HeroDevs as a Senior Angular Engineer! I'm incredibly excited for this role. It combines my passion for Angular development with the chance to work with some world-class developers and clients.

This blog post is a (i) short introduction to what I'll be working on at HeroDevs and (ii) a one-person retrospective on my time at Ubiquisoft.

1. The Road Ahead: HeroDevs and Angular

HeroDevs specializes in Angular development. Our work includes AngularJS/Angular Migrations, Angular consulting, and training. I expect the bulk of my time over the next year will be focused on helping clients with these types of projects.

One of my co-workers describes our job as Angular "firefighters": we come in, help set Angular issues straight, and go home. I have a lot of firefighters in my extended family so I found this metaphor endearing.

I'm also interested in attending ng-conf 2022 and contributing to HeroDev's Open Source Software projects Scully.

Mentorship and creating safe spaces are also core values to HeroDevs. In the year ahead I want to take concrete steps to give back to the tech community. I've taken a bit of a step back since COVID started and since I've had two children under two, but this year I want to get more involved.

2. Reflections on my time at Ubiquisoft

I worked at Ubiquisoft as a frontend developer for two and a half years. COVID has messed up my sense of time so it feels both longer and shorter than that.

I learned so much at Ubiquisoft and will always be grateful for the time I spent there. It was a fantastic place to work on enterprise AngularJS/Angular applications.

Here are a few notes about what I learned:

Managing Complexity

One of the most challenging parts about working on enterprise applications is dealing with complexity. For me, managing complexity means getting the architecture right and simplifying "user stories" into clear requirements.

At Flatiron, I got a high level view of the frontend and backend parts of the web stack. At Ubiquisoft, I saw that even after you (1) learn how to implement a feature in part of the software stack, you still need to (2) understand what value your feature is actually adding.

Both (1) and (2) involve different types of complexity. As an attorney I think I focused too much on the first type of complexity (technical/implementation). At Ubiquisoft, I worked hard to build my technical skills while also striving to ensure that my features actually added value to the client.

Deployments and Agile Development

The third principle in Principles behind the Agile Manifesto is:

Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

I think this principle directly relates to the previous section of this blog post (Managing Complexity). At Ubiquisoft, I saw that a feature's complexity went hand-in-hand with its deployment schedule.

Of course, some project are actually complex (building a scheduling tool that can handle timezone conversions) and take more than a week to complete. However, that's an even bigger reason to break the project up into manageable features and deploy them frequently.

What Else is New?

It's been a while since my last blog post. Here's a snapshot of what I've been up to over the last few months besides getting a new job:

  • 🔨 Finished home renovation, added home office;
  • 👶 Cheered on my ninth-month old son as he start to crawl and pull up;
  • 📘 Be amazed at my 2 year old's continued speech development, empathy, and spirit.