Blog

03/05/2025 πŸ‘©πŸ»β€πŸ’» Recent Full-Stack Professional Experience in Enterprise (2024-2025)

What I've Been Up To Lately: Developing software with Python, Django, React, Docker, AWS ECS, EC2, and IAM, Postman, MySQL, and Material UI

Recently, I contributed to the full-stack development and support of a robust web application in Enterprise, working on both frontend and backend repositories. My tech stack included Python, Django, React, and our old friend HTML. I also gained experience working with Docker, AWS ECS, EC2, and IAM, along with tools and libraries like Postman, MySQL, and Material UI.

Generic Photo
  • Python
  • Django
  • React.js
  • Docker
  • AWS
  • MySQL
  • Material UI (MUI) React Library

Key Contributions:

Frontend and Backend System Integration & Webhook Testing

I developed the app's initial unprotected URLs and public-facing branded web pages, ensuring seamless integration with the backend and external APIs like Stripe. I utilized manual testing with webhooks and the terminal CLI in both the local and development environments. This crucial step ensured seamless data flow between the frontend and backend systems.

Implementing Django Serializers for Data Accessibility

I designed and implemented Django serializers to streamline the data flow and ensure that data was accessible and viewable in the Django admin interface. This facilitated quick and efficient data verification throughout the development process, alongside using debugging tools like print and console statements. Additionally, I added and refactored Django view functions to support enhanced data management and visibility.

Optimizing Codebase with Reusable Helper Functions

Across both frontend and backend, I focused on enhancing code maintainability and scalability by creating shared helper functions. This practice helped adhere to the DRY (Don't Repeat Yourself) principle and the Single Responsibility Principle. By organizing the shared utility functions into a centralized folder, I ensured that other parts of the application could easily access and reuse them without unnecessary redundancy, significantly improving the codebase's consistency and future extensibility.

Error Handling, Data Cleaning, and Reducing Maintenance

I implemented data validations as well as error handling techniques. I leveraged Python's Levenshtein module (Levenshtein Distance) and variance threshold algorithms to catch common issues like typos or duplicate entries in both the frontend and backend. This ensured better data accuracy and cleanliness within the relational database. It prevented duplicate entries of multiple different types of items/objects in the database. This also decreased the need for more future maintenance that might be due to duplications of data in the database.

By implementing data validations and error handling, I was able to improve the user experience by passing the messages from the backend to the frontend, showing the user clear, user-friendly messages. Additionally, I removed outdated files and organized the codebase's common folders and files to increase maintainability of the project and the efficiency of the maintainability.

Generic Photo
Responsive Web Design & Adherence to Accessibility Standards

For both the frontend UI and automated HTML emails generated by the backend, I implemented responsive design principles, ensuring full mobile-friendliness alongside optimized views for tablet and desktop screens. I created the web design palette and theme by adapting the graphic design and marketing branding style guide to web design.

I integrated these visual elements into the web application framework with React on the frontend and HTML within the Python backend, ensuring consistency with the overall brand identity. While adapting the design, I also considered WCAG and ADA guidelines to ensure accessibility for all users. To improve the user experience, I alphabetized lists and decluttered the interface. This streamlined the user adoption process, allowing users to use the application more efficiently.

Generic Photo
Webpack and Public Folder Integration for Frontend and Backend

As part of my work, I became familiar with Webpack and how it integrates with React applications. I used the public folder of the React app to store images, allowing the Python backend to reference these images via the public URL and trigger automation to process them on the frontend. This added functionality helped streamline the interaction between the frontend and backend, contributing to the seamless integration of multimedia content in the application.

Throughout this project, I focused on optimizing the codebase for maintainability, improving the user experience, and enhancing performance. By emphasizing reusable code, robust error handling, and efficient data flow, I contributed to the long-term success and scalability of the application.

Read about how I contributed to improving application security and centralizing configuration management:


The content of this blog post reflects my personal experiences and insights based on publicly available technologies and general industry practices. No proprietary information, code, or confidential data from past employers or clients has been shared. The views expressed here are my own and do not reflect the opinions or policies of any past or present employers. All trademarks and registered trademarks are the property of their respective owners.

01/21/2025 πŸ’‘ MLK Day 2025

Our Shared Humanity on Earth and Replenishing the Spirit

Over the weekend, I enjoyed a refreshing hike with friends in Southern New Mexico. Trekking 3 miles up 615 feet into the canyon and back reminded me of our shared humanity on Earth, and the activity replenished my spirit.

Lucca with friends hiking
Hiking in the Organ Mountains with my friends Susan and Carla (January 2025)

Thanks to Strava and AllTrails for the metrics and guiding us along the Bureau of Land Management trails.

Baylor Canyon of the Organ Mountains, photo by Susan

Learn more about me:

11/20/2024 πŸ’‘ My Recent Work on Application Security in Enterprise

Benefits of Centralized Configuration Management You Can Utilize

Recently, I had the privilege of working on application security. I made any variables that contain secrets, keys, or information that could be exploited for malicious attacks or configuration hacking into an environment variable. And, streamlining the workflow of accessing data stored in the environment variables is important, too.

Loading environment variables in a single file and importing them where needed is a key best practice that's called Centralized Configuration Management. It ensures consistency, simplifies maintenance, and provides better control over environment variables across the application.

A person enjoying the night sky
Benefits of Centralized Configuration Management:
  1. Single Source of Truth: Loading and centralizing environment variables in one place, like a dedicated configuration file, or settings file, ensures all parts of the application are using the same values. This minimizes the risk of inconsistencies or errors.
  2. Easier Maintenance: A clear, consistent structure for managing environment variables simplifies the workflow for developers and makes it easier to update, add, or remove variables. This structure enhances security and protects keys while improving the overall maintainability of the app.
  3. Consistency: Centralizing loading of the environment variables ensures that changes to them (e.g. from development to production environments) are handled consistently. It can also help with the organization of switching keys. A well-defined process for managing and protecting the keys also sets a standard for how developers should access environment variables, promoting cohesion across the application.
A close up of a daisey flower

As cyber threats and a deeper understanding of cyber attack strategies increase, I believe security will become more ingrained in the development process. Protecting sensitive information through environment variables and implementing Centralized Configuration Management helps combat against these threats and attacks, leading to enhanced security, scalability, maintainability, and efficiency.

The truth is that isn't not a one-and-done process - it's about maintenance that brings value to the product.

This past month, I attended Okta's dev_day(24) (Developer Day 2024), which is a global event about Okta's current initiatives within the cybersecurity space. Check out my blog post on a couple of my takeways:

11/4/2024 πŸ’‘ Website Updates 0

Introducing New Changes I've Recently Implemented!

Find out how I created this website:

10/28/2024 πŸ’‘ Identity Standards and Okta's dev_day(24) Part 1

Shout out to my friend, mentor, fellow Hackbright Academy graduate, and Okta's Developer Advocate Semona Igama!

I hadn't encountered the term, or job title, "developer advocate" until my now-friend Semona Igama generously volunteered her time to speak to my software engineering bootcamp cohort at Hackbright Academy about her current developer advocate role at Okta. I'm grateful to Semona for giving back to a community that helped her start her own career in the tech industry, especially since she's been a friend and mentor to me ever since.

As an Okta developer advocate in Okta's Identity Standards department, she recently interviewed Okta Director of Identity Standards Aaron Parecki about OAuth Global Token Revocation specification that's part of the OAuth 2.0 framework at Okta's dev_day(24). It outlines a standard way to revoke access tokens globally across different services or applications, and she did a fantastic job of guiding the conversation with her strategically outlined questions.

They talked about the new protocol and explained how it can effectively solve key enterprise security breach scenarios, which I found to be interesting. As a software developer, I think it's important to be open to new information and all things surrounding software development since security is inevitably part of developing software. So I appreciated Semona sharing with me about the event prior to the event, so I could sit in on that conversation.

Shout out to my friend and mentor, Okta's Identity Standards Developer Advocate, Semona Igama! See the link below to check out the recorded sessions at Okta's Developer Day 2024:

10/17/2024 πŸ“š Unlocking the Future of Generative AI in Business

Insights from Altaf Rehmani's Global Course on Ethical AI Practices

Did you know that by 2025, 70% of enterprises will identify the sustainable and ethical use of AI among their top concerns? (Source: Gartner)

🌌 It was a late night in a global class for me (Hong Kong morningπŸŒ…), but I really enjoyed Altaf Rehmani's presentation through O'Reilly titled Generative AI for Everyone.

Lucca Wang completed the course Generative AI for Everyone

For two hours, we learned about Generative AI, applications and impact on businesses, prompt engineering, real world use cases, risks and limitations, companies and tool, and trends - and the future.

    More specifically, we discussed about:
  • popular large language models (LLMs) and how using them is a good step to building and implementing them in business;
  • the different types of AI and where Gen AI fits into that;
  • the collection of techniques;
  • the difference between generative and predictive AI;
  • where Gen AI falls in the historical landscape;
  • what it is;
  • guard rails and reinforcement learning from human feedback (RLHF);
  • use cases over the Gen AI application landscape;
  • prompt engineering and the C.R.E.A.T.E. framework;
  • the economic impact of Gen AI;
  • and so much more.

I am interested in GenAI, AI, and ML, so if you have an open position, or partnership you'd like to collaboration on, please reach out to me.

10/11/2024 πŸ’‘ October PSQL Szn

With the season change, comes my database (candy)corn-y joke

PSL, or PSQL?

Or, if you're in New Mexico, you can have a pumpkin horchata AND maintain your Postgres databases at the same time. πŸ‘»

Horchata drink with a pumpkin pie on top

Did you catch my SQL reference? If you did and can tell me which clause this operator is in, message me the answer on LinkedIn and you'll get a (virtual, digital) gold star. (this is not a commercial contest))

Curious about how I work with Postgres? Check out the data model I built for my Postgres relational database of one of my full-stack web apps in the project's README (documentation).

If you need help with your backend development or database, please don't hesitate to reach out to me.

9/27/2024 πŸ’‘ A Use Case Example

Inline v. CSS

Before my transition to Software Engineering last year, I was an email developer, using Hypertext Markup Language (HTML) to code nonprofit and political fundraising emails for clients across the nation. (Being an email developer was part of my job, which was centered on communications and digital media.) Technologies: I used Notepad++, HTML, AWS S3, an SQL database and email client ActionKit, and also MailChimp, and before that, ConstantContact. The inline styling is not the templates used for the emails - but rather the inline styling was used for the body of the emails.

What does this mean? Well, I coded the emails mostly with inline styling, as opposed to what I use now as an engineer: I now mostly use CSS (95% of the time).

Why is that? It's because the emails were one-off (even if we might send 4 emails for one client in 1 day). By doing inline styling, you're able to customize each email according to the design and style, which reflects the content and needs/purpose of sending the (individual) email.

Why is this different from API, application, websites, etc.? (AKA: Why do I use CSS 95% of the time - as opposed to inline HTML styling - in my projects now as a software engineer?) It's different, because when you have a whole project, you want it to be consistent - in design style, writing style, coding style, and more. So, when you have a stylesheet that indicates how everything on your website should look, you have a centralized place of the styles, and it tells all the same elements on the website to do that same thing. (For instance, I have a certain size and color + CSS animation for my h2 headers on my portfolio website. Because of CSS' centralized stylesheet, all the h2 headers on my portfolio website are the same font size, the same color, and have the same animation on them. This way, the viewer/user of the website knows when they see it that that's a subheader, like the one they saw that looked like it before. This consistency increases readability and usability.)

Learn more about me and my experience and skills on my website that I hand built at https://luccawang.dev.

If you need help with frontend development (styling, or your CSS), please don't hesitate to reach out to me.

9/16/2024 πŸ’‘πŸ² Cooking Blogs in the Wild

How ads are weighing down your small business

My cooking hobby and developer skills collided in the wild the other Friday night when I was searching Google for a chicken cacciatore recipe... The chosen recipe's website was so slowed by ads and bugs, it was unable to load.

As a software developer, I know the obvious place to look for bugs. And there were tons of grubs under that log - as seen in the screenshot attached, which only shows 1/20 (one twentieth) of the total bugs showing in the inspector.

My cooking solution: I found a different recipe on another, working website. It's awesome to monetize, but be careful how you do it.

One twentieth of the bugs on the website from which I was trying to use a chicken cacciatore recipe.

I love solving problems - that's why I'm an engineer. So if this is you, if you have a website that's slow to load and negatively - or potentially negatively - impacting your site traffic, I am happy to help you resolve the site issues so people can see your amazing work!

9/12/2024 πŸ“š Generative AI in Enterprise

The Future PwC's Tim Persons Sees w/ GenAI

I'm digging into Generative AI by listening to O'Reilly's "Generative AI in the Real World" podcast by Ben Lorica - today, with Tim Persons of Pricewaterhouse­Coopers (PwC).

    Some of the takeaways:
  • Budgets are increasing for Generative AI.
  • Teams should aim for a high failure rates to push themselves quickly enough.
  • Because of technology advance­ment, we can infor­mation share and really learn a lot, which levels the playing field for positions that might have been formerly reserved for PhDs from top schools specializ­ing in certain subjects.

Listen for yourself on O'Reilly's Learning Platform.

I am interested in GenAI, AI, and ML, so if you have an open position, or partnership you'd like to collaboration on, please reach out to me.

Up to Top