Hossam Mourad

Why I joined Okta

February 01, 2022

2022 started with me joining Okta. This is my first experience working in a tech company with thousands of employees. Okta is well-established in its domain (digital identity), it’s a public company, with tens of engineering teams, and multiple products that vary in size, influence, and area of focus.

Interviewing with Okta was straightforward and practical. I liked that their interviews are real (no whiteboard non-sense, no theoretical problems that no one will ever face). I got an offer 3 weeks from starting the process. I then decided to leave Fullscript (despite being happy) and join Okta. There are multiple reasons behind that decision. Let me walk you through them, and explain my motivation.

Not only frontend

This is the biggest motivation that drove me towards that move. Most of my experience has been in the frontend realm. I always got hired to do frontend work plus some other things on the side. While I still prefer doing frontend, my knowledge about the other realms needs sharpening. During my interview with Okta, it was obvious that the opportunity is not frontend-only, that I will be doing more than that. That is something I desired for a long time. I wanted an official commitment to do other types of programming. I wasn’t able to do that in side-projects in my own time.

More infrastructure / glue work, less user-facing features

NOTE: If you’re not familiar with the “glue work” term, I highly suggest reading this article.

Let me admit it. I’m bored of coding user-facing features. I keep repeating myself in this type of work, I started to hate that feeling. I wanted an opportunity where problems diversity exists. I wanted to join a company that has tens of engineering teams, which meant implicitly that each team needs to do some glue work and own pieces of the infrastructure. Which meant that I will find some for myself. Okta checked that box.

Business domain

I’m very interested in Okta’s business domain. I worked in education, healthcare, and e-commerce, but Okta’s business domain is different in the sense that it’s a more technical domain than the rest. While Okta’s customers don’t have to be tech-savvy as the normal software engineer, I guess the target audience is more tech-savvy than other businesses. Not sure if this will have any effect on how projects are done, let’s see.

JavaScript is great, but I need a change

Don’t get me wrong. I love JavaScript. I think it’s the most powerful programming language we have seen so far. It runs literally everywhere. With my JavaScript skills I’m able to write apps for the web, mobile, CLI just to name a few. I can’t think of another programming language that can do that. The thing I truly hate about JavaScript is how fragile it is when it comes to tooling/infrastructure. The lack of consistency in that area is damaging and I need to see the greener grass on the other side. While I can work with other programming languages whenever I want on side-projects, I want to experience mature and big-scale projects that are written in other languages.

For example, when I was part of Alef Education, I was exposed to using Java/Kotlin in a great deal. Although I’m not a big fan of those languages, I still admired the experience of witnessing something different and seeing smart people around me using them to their benefit. It definitely changed how I think about programming in general. It’s something to toy with a programming language on your own project, but it’s something else to see other people using it intensely.

It is a shame that frontend is all about JavaScript. I wish we had the choice to write frontend apps in different languages. Competition would have made JavaScript better quicker.

Roadmapping, project management, and planning on a bigger scale

I’m curious about how project planning and roadmapping are done in companies the size of Okta. How do multiple teams collaborate? how the services boundaries are defined? how releases are done? what are the actions people take when there is a fire on production for millions of customers? How requirements are defined? What are the responsibilities and skill level of staff (and beyond) engineers?