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.
I learned that at this 112-year-old company, I’d be working in the Digital & Process Transformation department that was building the practice of agile and waterfall methodology. They have their fair share of corporate bureaucracy to navigate, but the Digital Accelerator & Mobile Engineering team always gets a lot of visibility from the higher-ups. There are usually 20 projects going on (from small to really huge), so there are a lot of horizontal mobility and growth opportunities. The technical challenges are quite interesting as well. They are using AI/ML models to detect anomalies on electric poles. They are migrating from a large monolithic to microservice architecture. They are also developing offline first for the iPad applications because the electric pole inspectors and crewmen drive around Southern California and frequently don’t have access to Wifi signals. I got an offer on 5/4, emailed my other interviewing pipelines to speed up the process, negotiated the offer, and signed on 5/7.
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.
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.
My proudest moment was when I integrated a React Native app and a Swift app via an internal app bridge API for a cross-functional milestone release. So it only made sense that in October 2020, I’d transfer to the another team to take over the project eventually from a consulting partner and onboard an internal SCE team in January 2021 to help save money. This app utilized an assisted reality camera and real-time machine learning models to automate the answering of certain survey questions during inspections of electric poles. Such automation would save SCE tons of annual profit.
The Optical Character Recognition (OCR) model would be an AI/ML model of high business value since we can lower the error rate of inspectors going to the wrong electric pole by identifying if the pole’s unique ID does not match with the correct unique ID as the inspectors take a photo of the pole tag. After weighing the pros and cons of various model architecture and tools, I decided that the most suitable tool for our use would be Tensorflow SSD Mobilenet Object Detection Model in the TFOD API created by Google. I quickly learned Tensorflow, machine learning fundamentals, and Python on my own, trained the model in multiple iterations, and experimented with different hyperparameter tuning to optimize the performance. In the end, I outperformed the benchmark metrics by 88%. That was when the consultancy team started rolling off, doing knowledge transfers, and finalizing documentation for hand-offs. I actively asked questions to understand the logic behind certain technical choices during their entire project development history and the ins and outs of the entire project from both technical and business standpoints.
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.
I love working at SCE. It saddens me to leave, but I’m moving to Washington DC and SCE is likely going back to the office soon. I know my team loves and cares about me and is also sad to watch me go. Thank you all for awarding me with the highest number of employee recognition badges and valuing my work. I love you all and I’m only a text away.
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.
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!
Update: Such a pleasant surprise gift 🎁 from my team! I got it in the mail and it fits perfectly. Thank you to my entire team for pitching in for the gift. This has been my go-to hoodie from now on!