12 Years at Liferay
March 20, 2026
I’ve decided to switch jobs and move to a new company. Before moving on, I wanted to take some time to reflect on my career here and look back on my journey.
The average tenure at a single company for a software engineer is ~2 years. It's often recommended that you jump companies every 2-3 years so that you can maximize your salary. I've even seen some people recommend that you never stay at your first job for over a year or two. This might all be good advice, but I'm really not the person to ask because I've been at Liferay for over 12 years now. It was my first "real" job out of university, and I have been here ever since.
Starting From Zero
I started at Liferay as a "UI Intern." I came in totally blind to anything software-related. I studied Physics at university but only had one programming-related class, MATLAB. I hated it. Probably my least favorite class in school. Yet, I needed a job, so I took this internship because it paid at least minimum wage. The internship was laid out as a 3-month period to prove your abilities and hopefully get hired full-time.
I started on March 3, 2014. The job was pretty straightforward: grow and get better.
I was tasked with finding a WordPress theme and then re-implementing it as a Liferay theme, recreating all CSS, HTML, and JavaScript functionality. I couldn't tell you what any of these words were and even more so, I spent the first week trying to learn something called "git." Branches, trees, trunks, what sort of forestry had I gotten myself into?
One funny memory from my first week on the job was trying to figure out what application I used on my computer to even write code. I opened up Microsoft Word because I thought that was just how you write text on a computer. I remember asking my boss and being so confused about what a "text editor" was. I thought for sure I needed some fancy application to get started. My boss helped me download something called Sublime Text(still love this editor!). It took me way longer than I want to admit to realize that writing code was simply putting together text in a format that your compiler or runtime understands.
My first pull request and commit to an actual product was on April 18, 2014. I remember being so nervous when I sent this. I had no practical idea what sending a "pull request" even was, and on top of that, I was sending code directly to the company's founder, who is one of the top committers on GitHub of all time. I had no clue what I was doing, but I focused on learning and trying to understand.
During this time, I learned some of the best advice I've ever recieved. Strong Opinions Weakly Held.
Bit by bit, things started to click. This wasn't MATLAB anymore, I was actually starting to enjoy working with code.
Becoming an Engineer
Obviously, since it's been 12 years, I got hired after the internship. It's been challenging and so fun to work with such great people and on so many exciting projects.
Here are some I got to work on over the years at Liferay:
- AlloyUI - before modern JavaScript frameworks were even a thing
- Loop - Enterprise Social Network; this was the first time I used React, at v0.14
- Analytics Cloud - Platform for big data and user anlytics
- Metal.js - During the JS framework wars
- Senna.js - Providing speedy single-page application solution
- ClayUI - Design library implemented as React components
- and more...
And then in the last few years, I have mostly been focused on the Liferay DXP platform itself in the areas of front-end infrastructure and developer tools. It's been the area I have found the most interesting and satisfying. I've enjoyed enabling developers to be more efficient, have better tools, and ultimately build better products.
To get a grasp of of some of my impact, I took a look at some of the numbers. I had AI pull from Github all my contributions over the years to the liferay organization. This was fun to see
- Repositories contributed to: 25
- Public commits: 5,093
- Private commits: 6,201
- Total commits: 11,294
Why Stay?
So why did I stay for over 12 years? Why didn't I try to jump for higher salaries or to climb the ladder for high positions?
First, Liferay consistently gave me opportunities to grow and work on interesting and challenging problems. My time here allowed me to pursue producing excellence by going deep into expertise and not just jumping around. I valued growth and learning over just salary jumps. Second, the people, Liferay isn’t a glitz-and-glamour tech company (enterprise B2B software can sound as unexciting as it gets), but I had the privilege of working alongside great people and learned so much from them.
I especially think of the Loop team and the Analytics Cloud team. Working with them was extremely formative during the early years of my career. Had I moved on to another company after only a year or two, I would have missed the chance to work closely with them and gain that depth of experise.
Finally, Liferay’s leadership has always led by serving and showed that they value people. I am so thankful for their kind-heartedness and leadership over the years. From as early as my time as an intern, I've always felt comfortable being myself, even if that was respectfully disagreeing with leadership while continuing to move forward together(a blog for another time). My role never felt at risk because of differing opinions or proposing alternative directions. There was a shared understanding that everyone was working toward the same goal: to grow and get better.
To put it simply, since day one, the culture at Liferay truly embodied their core values.
Looking Ahead
So here's to 12 years at Liferay. I will miss this place and especially the people, but I look forward to new adventures. Liferay and the people here will forever have had an impact in my life and for that I am thankful.
Stay nerdy, Liferay ✌️
