What have I done for the past 10 years

01/17/2025Post cover

Table of contents

Prelude

First of all, I would like to introduce myself. My name is Jose Chirivella, and I am a software engineer. I have been working in the tech industry for over 10 years, and I have a passion for writing code and building products.

I have worked in various companies, from small startups to large corporations, and I have learned a lot from each of them. I have experience in web development, mobile development, and cloud computing, and I am always looking to learn new technologies and improve my skills.

I started this blog to share my endeavors, tech, and whatever I want to write about. I hope you enjoy reading my posts, and feel free to leave a comment if you have any questions or feedback.

Thank you for visiting my blog, and I hope to see you again soon!

Who am I

Male, 29 years old, married, no kids, 2 dogs that count as kids, 2 siblings. Born in Venezuela, moved to the US in 2014 via the Green Card Lottery, yeah... I was one of the lucky ones who got selected from millions of people around the world, only 300 thousand get selected, and only 50 thousand get an actual green card after going through a tough background check, medical tests, and a one-time-only interview at the US Embassy to proof the value you bring to the US.

Life before the US

Both parents worked for the public sector, dad was an Engineer and mom was a Doctor. Dad used to work for one of the subsidiaries of the main (and only) oil state-backed company in Venezuela called PDVSA, and he was laid off when Chavez took over the presidency. He couldn't find a job for the longest time due to his age (Late 40s) whereas companies would rather hire younger people without thinking about a pension. Mom took over as the main provider, even though she was a Doctor, working for the public sector in Venezuela, doesn't mean much. Still, my parents made a lot of sacrifices to give us a good education, and I am forever grateful for that. I went to a private school, and I was able to learn English from a young age, which helped me a lot when I eventually moved to the US. My Brother is a Computer Engineer and my sister is a Chemical Engineer. I was the only one who didn't graduate from College spoiler alert, but I'll get on that later.

Elementary did ok, High School did terrible, graduated with a low GPA, too lazy to study, did great in Sports (soccer, tennis and golf)

In Venezuela, and some colleges in the US, if the parent is a Professor at the University, the kids get a one-pass entry without any test or scores to the university which the one I was thinking is one of the best in the nation. I wanted to follow in my Mom steps and become a Doctor, but I didn't have the discipline to study Medical school required a lot, but what threw me off was the current health system in Venezuela, parents suffering, no supplies, no medicine, no equipment, no nothing, and I didn't want to be part of that. So, I went with my third option, which was Computer Engineering. The second option was being a Pilot, but it would mean spending a lot of time traveling and I had a girlfriend at the time I eventually married her another spoiler alert.

College

Went to a private college, 20 min away from home, and the curriculum was ok, In the fifth semester it was split between network engineering, software engineering, and hardware engineering. In my Intro to Programming class, I remember looking at a terminal, and it was like... Nope. Not for me. Funny how things change, right?

The first year as an immigrant in the US

In May 2014, I arrived in the US, I was 19 years old, left my high school sweetheart behind, and I was in my third/fourth semester of College. Parents sold everything, left their jobs, and moved to another country in their 60s. I was the mistake btw, my Mom had me when she was 43 😳

I had a couple of options, go back to college full-time, work part-time, or work full-time and go to college part-time. I was going to choose, working part-time and seeing some classes here and there but I encountered an option I didn't take into consideration because I didn't know their existence to be honest and that was Code Schools. I first arrived in Charlotte, North Carolina where I had a cousin who recently graduated from Duke and just launched her own company. She was the one who told me about Code Schools, and I was like... What is that? She explained to me what it was and the outcome of it. At the time, it was 10k for 3 months, intensive, and you would learn how to code and get a job at the end of it. I was intrigued, so I quickly set up a meeting with the Campus Director, Hey Jessica!, to learn more about this coding school called The Iron Yard. They offered multiple courses but the one I was interested in was Front-end Engineering.

All this happened in the first two weeks of my arrival in the US, already off to a good start. I applied to The Iron Yard meanwhile we were driving to our final destination which was Miami, Florida. We had relatives there, and they were really helpful for us to settle in. While I waited to hear back from The Iron Yard, I started working as an Assistant for a VC since he worked closely with all matters related to Venezuela, he wanted somebody who could understand how everything worked with our troublesome country.

Around August, I heard back from The Iron Yard, I was accepted, and I had to start in September. I was excited and eager to start, I bought my first Mac ever, a 2013 Macbook Pro 13" with 8 GB of RAM and an Intel Processor. I was STOKED! My cousin, the CEO, offered me board for the first two weeks, and she got me a private room in a house with her best friend.

Everything was going to plan except that reality was settling in. I received a call a few days before starting the course that the Teacher that was going to teach us, got a job offer in another place, and they wanted me to move to South Carolina alone, or stay in Durham but take the Ruby on Rails Engineering course... I knew nothing about the backend, nightmares about the terminal, and databases. But, I didn't want to move into a strange city in another state without emotional support.

I decided to stay in Durham and take the Ruby on Rails Engineering course. I was the youngest in the class, 2nd youngest to possibly graduate. Everyone had a different background, different expectations, and different goals. I'll probably cover my experience in another blog post.

After an awful experience, depression, and missing home, I successfully graduated in December 2014, with no job lined up, my roommate needed the room back, and I had to move out by the end of the month. I was in a pickle but my parents were there to help me out. I moved to Miami, Florida, where I had relatives, and I started looking for a job there but no luck on that front until Mid-February 2015, when I got the opportunity to go back to Durham and my cousin told me that a company called Windsor Circle was looking for a Dev Intern for the Summer. Later that week, I had the meeting with the Engineering Manager, Ben, and went out great! Mostly talked about my resume and my experiences which wasn't much, to be honest, but I think he appreciated the honesty and the willingness to learn from my part.

After a week in Durham, lined up a few calls, meetings, and interviews, but it was time to get back to Florida. I didn't hear back from Windsor Circle until April, woke up to an early email from the VP of Engineering offering the internship for the summer with great pay to start in about a week. I was beyond excited, and the timeline couldn't be better since many things lined up perfectly.

The first job in tech

I started at Windsor Circle in April 2015, as a Dev Intern, they were using Marionette and BackboneJS for the Front End, the back end was Python, but they were more interested in the Front End. But I knew nothing about Javascript, just Ruby on Rails and, HTML and some CSS. I was in for a ride, but I was eager to learn and prove myself. My teammates Brett and Tam were super helpful, they carried me through. I was able to learn a lot from them, and I was able to commit. The whole experience at Windsor Circle was delightful, I went through multiple departments, and different tasks, talking to other engineers, and learning from them. My biggest takeaway was when they tasked me to write the first E2E tests for the company, using a library called Nightwatch which used Selenium under the hood, but you had to write Javascript for the commands. I believe I did a whole suite in like 2 days, my manager was impressed, and they gave me the news they hired a QA Engineer and he also was impressed by the work I did with my little to no experience.

The second meaningful task was when they tasked me to switch rendering the templates from the client to the server, I didn't know at the time what was the difference, and everything was like too much information. But, in a couple of days, I had everything like 90% figured out, but I couldn't quite get it to work and my teammates taught me a valuable lesson that if I'm stuck, is better to ask for help early than later. At the end, Ben saw my face and asked me what was wrong, I told him that I couldn't figure it out, I showed him what I had, and he quickly figured out what I was missing, a couple of lines of code, switched to the browser, looked at the network tab, and BAM! The savings were astronomical, it was like 10x faster and felt smoother also.

It was almost time to wrap up my 3-month internship when on the last day, the VP of Engineering told me what were my plans for the next month. Told him that I had nothing, and he asked me if I wanted to renew my internship for another month. Which I gladly accepted! I was having a blast, learning a lot, and I was getting paid for it. Then at the end of the other month, another renewal. We were talking about a full-time position, but they needed a little bit more speed and investment so they didn't offer me a position, but I left with my head high, and I was proud of what the work I did. Left with an amazing reference from the VP and my Manager.

Shortly after, I was hired as a contractor for a Marketing agency where I met also amazing people and ended up working with them multiple times in my 10 years of experience. I'm watching you Neal and Rob ❤️

The first startup and web frameworks

Around 2016, from this marketing agency I just mentioned, I decided to move to my first startup called EmployUs. Windsor was also a startup at the time, but they were growing like crazy, so their startup days were over.

EmployUs was and still is my favorite time in my career, I was the first engineer besides the CTO, Front-end, and doing newly released Angular 2, barely out of beta. Before hiring me, they gave me a small project to do which was my first time coding with a framework, my experience was all vanilla javascript and jQuery. I was reading the Angular Docs from top to bottom to get the app working that would get me hired.

My first task with the CTO and CEO was to deliver a mobile app using Ionic which I also had no idea and the idea of writing code to deliver a mobile app was intimidating. I did it in a month! I was proud of myself, and I was just getting better at coding. Working with Matt (the CTO) was a slap in the face every day since the guy is so freaking smart. It was like he was seeing the matrix and Ryan (the CEO) was the visionary. I was learning a lot, and it was time to hire our second engineer and decided to bring along a guy I used to work with at the marketing agency who taught me many things. Here comes Rob to the table, and we were just, the three of us, killing it. We had power days every Tuesday and Thursdays where we worked 16 hours straight, and we were just in the zone. We were building a product that was going to change the way companies referred employees.

The whole idea of EmployUs was an internal system/admin site where internal employees could refer others to that company easily. We just made it so easy to keep track of the payout. Since I got Rob referred, I got a referral bonus for using our app and the first referral in our company history for it.

A sad ending

Around March 2017, the company didn't have much runway to keep going, and I remember it vividly when I was in the zone coding, we had a daily all-hands, but I was just killing it. Walking to the elevator, thinking about the problem at hand, got into the meeting, still thinking about the issue at hand and I just heard Ryan that this was going to be the last day for everybody. I froze. I was in shock.

It felt like a heartbreak where you were just processing what just happened, and you were just in shock. I was in a daze and I remember looking at Rob like holy $%$&. What now?

Sad

The first big company

After EmployUs, it was a sad time for me because I wasn't ready to look for jobs, I was still in shock. I was depressed. Every interview felt like a humiliation, I was just not good enough, smart enough, and I was just in a dark place. I just suck at job interviews.

One day, a recruiter called me. Cisco System was hiring. Yeah... That Cisco. That was like a dream company to work at, and my brother since he was IT. I remember talking to the recruiter about the interview process, he was like... Relaxxxxxx... It's going to be fine. They are just going to ask you about your resume and experience and that's it.

The interview

Arrived at Cisco, and they had 12 buildings in RTP... Like... :blown_away:

I was greeted by a Manager, and he took me to the interview room, and I was greeted by 5 people. 5! I was like... Wat.

From right to left, they were the Manager, 3 Senior Engineers, and some Front End Engineer from another team.

I just kept saying to my head, relax, it's going to be fine. They are just going to ask you about your resume.

First question. Can you tell me the command to see the processes running in a Linux VM? in a Russian accent

WHAT

Luckily I knew the answer, and in that quick second of me thinking, oh ^%%#$, this is going to be another humiliation and hard interview. I replied. Yeah, is px aux

Him: Ok, and if I want to filter by a specific process? more Russian

Me: px aux | grep process

Him: Ok, that's all I needed to know. Russian smile

After that, the hard questions kept coming by, more in the sense of my experience. The last guy asked me excellent questions about Angular, RxJs, and Observables. There were some I didn't know, and I was honest about it. I didn't know.

After the interview, I received a call from the recruiter asking how it went. I told him, "You lied to me, they didn't ask just about my experience" and proceeded to tell him about it.

I wasn't sure that I got the job until a few days later he called me laughing... Dude, you got the job, they were impressed. The upper manager had some doubts that you didn't have a College Degree but the people in the interview defended you which was impressive.

I cried and proceeded to tell my parents that I got the job at Cisco and my dad's face was of proud and happiness.

There I was, starting my job at Building 10 of Cisco Systems, RTP, NC. The campus was amazing, and the building and the cafeteria were amazing. I was in awe.

To summarize, my tenure at Cisco was short and sweet. I was there for 5 months, as a contractor, I completed every task they gave me, and more. I was able to learn a lot and fix a lot of things that were broken.

The Expert

After Cisco, I worked at a startup called FoodLogiQ (later acquired by Trustwell). The application that I still think to this day did something and made a difference in the world or at least in the US. I will cover more about this in another post.

After FoodLogiQ, I worked at a company, and the last one I worked at the time of writing, ProcessMaker. A company where I discovered you could create and develop business processes visually like a flowchart and then execute them... and that you could write it in a sort of programming language called BPMN.

I worked for this company for almost 3 years, I was hired to bridge a gap between the US Office and the Latin American office and implement some sort of structure, processes, and quality gates. Plus, try to migrate the codebase to modern tools. Even though I wasn't essentially assigned to bridge the gap, I took the role because I saw the need for it.

The gap

There was a culture problem at the company, we had the main office in Latin America and the US office. I think some people just didn't know how it works in Latin America, there is a different rhythm and different ideologies. There is a phrase I learned that is

Americans live to work, non-Americans work to live

I say "non-Americans" because that's how the rest of the world sees the US. There were a couple in the US office who did a rotation at the Latin American office, and they were the ones who understood the most. The main issue.

I believe I was able to bridge that gap at the end, but it was a tough road. Nobody asked me to take this role, but I took it anyway.

Quality

I had this name or alias said to me before that I was the "Nazi PR guy" because I would destroy PRs. Leave a ton of comments, and I saw a pattern that eventually, people wouldn't tag me on PRs because of it. My manager put it this way after I noticed this and explained to the whole team that I was just trying to make the codebase better, my comments aren't personal or vindictive, I just want to make sure that the code is good and maintainable. I usually read line by line in the PRs I'm assigned to, because I'm trying to understand the ask, the solution, and the implementation. Which helped me understand better the codebase and the business logic.

Many PRs had stupid mistakes like typos or things that could've been a variable declared at the top. Tons of copy-paste code, implementing this ideology of reusing code, specially creating components or utils files to achieve this repeated thing.

I remember vividly a PR that I was reviewing from my manager, it was a component, an image uploader, that in the logic, would detect if the image was a HEIC (Apple's new image container format) to convert those to a PNG or JPEG using a node package. Easy-peasy, right? Well... It was right 90% of the way, but I saw a pattern and I saw a hardcoded variable that didn't need to be there. Explained my findings in the PR, and he was like... Oh, I see what you are saying and he re-did the PR. I was happy with the reimplementation, and how it looked. I'm not always looking to refactor a PR, just that I'm happy with the change, or that we are both happy with the implementation. It takes two to tango

The migration

I started working in my early days at the company, to migrate us from webpack, or at least fix some things that weren't right. We were adding extra libraries to the final build, non-minified code, and no externals. The build in the core repo was taking about 2 minutes to build, in Dev Mode!!!! It was a mess, I was able to reduce the build time to 40 secs. Baby steps.

Then, Vite was released. It was a game changer, mind-blowing. It was created by Evan You, the creator of Vue.js, and since we were a Vue shop, I decided to give it a try. Long story short... We had about 4 main repos, core, the designer (modeler), screen builder, and vue-form-elements (a library of reusable components). For VueFormElements, the dev build was taking around 40 seconds, it was reduced to two seconds. Two freaking seconds. Build time was around 5 seconds at the end. Screen builder from a minute and a half dev mode to 2 seconds. Build time was around 5 seconds. We shared some code between the repos, and we could add external packages, meaning... No duplication of code, and no duplication of packages. It was a dream come true. I was happy with my baby. The dev team of course was blown away, it took me 1 year working on a Silo to deliver this, but it was so worth it. It increased dev productivity by 100x.

The exit

Not all good stories come to an end, but this one did. I was let go from ProcessMaker, and I was devastated. I felt like an important piece of the puzzle for the engineering team but that wasn't the case. It was by far, the worst state financially I've been in my life. Surprisingly, I was happy, in shocked, but I already saw the possibility of " writings on the wall". I needed a break, I was burned out, I was tired, and I was just done. I needed a break, and I took it. 6 months of not looking for jobs, just enjoying life, and money-wise was stressful, but I was able to manage it by doing some consulting here and there. Mortgage

Old friends and new beginnings

When I posted on LinkedIn about my exodus, two friends reached out to me, Matt and Ryan from EmployUs days. Ryan was launching a new company targeting foster care management, and he wanted to build a prototype. Since we worked together in the past, I was really happy to work with those two. I did a whole post about it.

Old Friends

I forgot the feeling how good it feels to code something that you enjoy. We built YourCasePlan and I was proud of it.

Did freelance for the most part, but I was enjoying the peace.

What I am doing now (written in Jan 2025)

I started my year going full speed ahead applying for new jobs, learning new things like Rails 8 and React / Next.js. Maybe getting an AWS certification, but React is on my list since lots of job postings require React now.

That's it! Thanks for reading. See you in the next post.