What It Was Like Working At SCE

Before joining Southern California Edison, I had a few years of experience building scalable, maintainable, and open-source applications on GitHub. I worked unpaid in diverse, distributed scrum/ agile teams with passionate developers from the greater United States, Turkey, Korea, Venezuela, and more. With COVID-19 and unemployment on the rise last year, I decided that it was time for me to land a paid job. I applied to 200+ companies, large and small. I wanted to be able to make a positive impact with the products I would code. That was when an external recruiter from Sharp Decisions emailed me regarding an interesting role at Southern California Edison.

From Interview to Offer

In 2020, I had a phone interview with Jamey on 4/23, and a 1-hour Hackerrank technical test on React, Node, SQL, NoSQL, and general web development knowledge on 4/27. Apparently, I scored 96.3%, which was even higher than many candidates with 10–20 years of experience competing against me. Jamey was ecstatic and the SCE team was curious to meet me. On 4/29, I had a virtual onsite interview with the SCE mobile engineering team. It was a mix of behavioral questions and technical discussions. What immediately caught my attention was the positivity, team chemistry, and synergy among my interviewers (a manager, a tech lead, and a developer). I could feel that they all loved their jobs and were passionate to hire someone who also believed in the mission.

Cool Project

My team consisted of 15 technical people (11 developers & 4 QEs, 6 women & 9 men, 5 in LA & 10 in India). Our daily standup was 8 am-8:30 am PST. We coded a mobile application, written in React Native and Node in Typescript. The iOS application is used by electric field inspectors as they answer survey questions of electric poles in their work orders on the map. Southern California Edison owns millions of poles in the SoCal area and is part of California’s wildfire mitigation project. Depending on each pole’s health, our inspectors would need to reinspect the pole periodically. To give you a clearer idea of the survey questions, the app asks inspectors questions such as “Is the pole leaning?”, “Are there animal nests on the pole?”, “Are there cracks in the wood?”, “Is oil leaking from any electric components?”, and so on.

Smooth Onboarding

I started on 5/26/2020 and onboarding was really smooth. Day 1: I drove to SCE to get a Windows PC and a MacBook Pro, and set up the laptops with various command-line tools and IDEs. Day 2: I got access to GitHub, our Azure DevOps scrum board, MS Teams, Outlook mail, Sharepoint sites, and Microsoft Azure Cloud databases, and more. I started actively digging into a few codebases, discussion threads, and documentations. Day 3: I joined daily standup and had video calls with the tech lead to learn the app’s architecture. Day 4: I learned how to launch the app and set up database connections in the environment file, then did my first ticket that involved changing the dashboard version name in a React Native component. Day 5: I set up GitHub in order to submit a pull request. Day 6: I’ve talked to various coworkers through private messages and understood the team dynamic, workflow, and project history. Day 7: I spearheaded the migration from our monolithic app to the first microservice by migrating an entire node endpoint. The endpoint would upload photos by turning them into a blob, saving them in a Docker container in Microsoft Azure Cloud, and upon the success of saving in the cloud, get a remote URL back. I had to dig through a large codebase and migrate 22 files over with some tweaks. I tested all the endpoints.

Fun Technical Challenges

One of my favorite projects was creating a Proof of Concept (POC) of using Google’s Firebase for data syncing for offline mode for our one of our Swift mobile app, where I was able to reach a 100% sync rate. I set up a Firebase connection and uploaded a dummy document from our developer database into NoSQL after the photo file uploads. Then I proceeded with handling other unhappy paths, including user force quits and in the background. I set up a firebase event listener to listen for photo storage uploads and uploaded photo metadata into NoSQL documents on Firebase first even before the cloud URLs are sent back. Then, listen for URLs and update the firebase document with the remote URL. If the client force quits the app between any of these events, then when they relaunch the app, I’d query the NoSQL firebase for any documents where the URL is null, and save them into an array of photos to reprocess.

Forming a New Team

In January, I interviewed and onboarded a team of senior developers efficiently and effectively by hosting technical knowledge transfer meetings and sending them relevant videos and documents to read between our meetings. The team has done a couple of major releases, is in a steady process of migrating to Swift UI, has done a PoC on Google Cloud Platform and access various AI/ML tools to streamline computer vision development, and can increase the pole tag model’s classification accuracy even further and cut the model-training time by 100 times utilizing Cuda on NVIDIA GPU.

Things I’d Truly Miss About SCE

  • We save lives through coding — we prevent California wildfires from happening around electric poles we own. Wildfires kill human and animal lives. It burns down homes, offices, and habitats, killing human and animal lives and rendering people homeless and bankrupt. We work hard to prevent that.
  • Awesome teammates. We support and are always open to questions to unblock one another. Here, no questions are dumb questions.
  • We have fun, interesting technical challenges that even the most senior/ principal developers with 20+ YOE would love to get their hands dirty with.
  • Our teams have a good mix of mid-senior developers with a few junior roles. There’s plenty of growth opportunities and learning from one another.
  • The leadership and management team really cares about team welfare, physical and emotional safety, and encourages folks to take time off to rest. As a result, working at SCE gives me a great work-life balance. I’m not stressed and the work pace is just right.
  • One can move to a different team with a different tech stack and technical challenges if it interests you.
  • Our scrum retrospectives are always celebratory with mutual shout-outs.
  • We really uphold our 5 cultural tenets: (a) don’t let perfect be the enemy of good, (b) together, (c) be courageous, (d) leave your title at the door, (e) our customers are our priority.

Conclusion

All in all, at SCE, I absolutely loved my job — something that I learned that more than 70% of Americans didn’t have the luxury to say. When I signed the offer, I assumed it to be a “good enough” job to take during the pandemic economic depression. A year later, I realized working at SCE is so much more! The work is meaningful, fun, and my teammates form a supportive community. Sadly, life has many variables, such as us moving away from the great weather and community we have in California to DC because my wife got accepted to Johns Hopkins University’s International Relations graduate program. My manager told me that he’ll always welcome me back to join the SCE family if we ever come back to California. With all that said, I encourage everyone to apply to SCE. It is so much more than an electric utility company, so much more!