Let’s get familiar with a couple of key concept for Spring Batch error handling including restart, retry and skip. You can also see coding examples in Spring Batch Github project. I have also put the link for how to configure in each section.


By default , if there’s an uncaught exception when processing the job, spring batch will stop the job. If the job is restarted with the same job parameters, it will pick up where it left off. …

As engineers, after our software is released to production, we have to constantly keep track of how the application is doing and see if there’s any alarming issue that we need to fix in order to better server our customers. In this article, I will discuss how to use Wavefront to achieve that goal.

Image for post
Image for post
Photo by Luke Chesser on Unsplash

What is Wavefront?

Wavefront is an enterprise-grade cloud monitoring and analytics tool developed by VMWare. Using Wavefront, you can see the real time monitoring data in the dashboard which is not supported by Splunk, another popular monitoring tools. It also has integrations with Kubernetes, AWS, Docker, etc. …

Spring Batch

There are four approaches to scale Spring Batch. I will explain how each approach works and the pros and cons for each one of them.

1. Multi-Threaded Steps

By adding a task executor to the step, Spring Batch executes each chunk in its own thread. If there are a million records to be processed, each chunk size is 1000 and we have 4 threads exposed by task executor, then we can process 4000 records in parallel instead of 1000 records.

Pro: Easy to configure by adding ThreadPoolTaskExecutor

Con: No restartability and no thread safety

2. AsyncItemProcessor / AsyncItemWriter

AsyncItemProcessor returns a future. The logic of AsyncItemProcessor is executed on another thread. And when the future is returned, AsyncItemWriter unwraps it and pushes the data. …

I have compiled a list of five websites that every software engineer should know. These sites will give you software engineer market salary information, company reviews, interview questions, company insider gossip, and startup funding information. Super useful! Let’s get started!


Glassdoor is a website that has lots of user contributed data for different company’s salary information, interview questions, and company reviews.

It has a very nice search engine that you can search for the company or job title that you are interested and you can see the salary records for that company or jobs. Company reviews are also very useful. It listed out many employee reviews of the company. It shed some light into the company’s culture, benefits, work style from insiders’ perspective. On top of all these, it has past interview questions and job openings for various companies. …

DynamoDB is a NoSQL database that supports key-value and document data structure. It’s a cloud database service provided by Amazon Web Services. Here are six DynamoDB key design best practices that will help you to increase performance and make efficient use of your provisioned capacity and money.

Image for post
Image for post

1. Ensure Data Uniform Distribution Across Partitions

This can be achieved by using as many unique partition keys as possible. The reason is that DynamoDB uses consistent hashing algorithm which produces hash values with partition keys as one of the inputs. Thus, more unique partitions keys will result in more unique hash values that DynamoDB generates.

2. Ensure Uniform Distribution of Read and Write Patterns

Avoid hot partitions by choosing your partition keys wisely and distribute the read and write permissions across partitions uniformly. In this way, we will reduce the number of idle partitions and increase the performance. On top of that, the application will perform at the designed throughput and make efficient use of the provisioned capacity. …

Image for post
Image for post
Photo by CoWomen on Unsplash

I work in software company where females are about 20% of the workforce. Sometimes I feel very lonely in the career journey. I started to participate in circles a few years back and it has provided me tremendous emotional support, mentorship that I sought after, established a sense of belonging to a community, and also allowed me to network outside of my team. The journey has been phenomenal and I want to share how you can do it too!

What is Circles?

Circles is like an emotional support group at work combining the mentorship and networking functions. In the circles, you can get mentorship from your peers and provide advice to others who need it. …

Have you ever wondered — if only I get this thing, I will be super happy the rest of my life? And then after you actually get what you want, you are happy for a while, then the question pops up, “What’s next?” And then the anxiety rushes in like a wave. It almost feels like we are forever being chased and haunted by this “What’s next?” anxiety that just won’t let us go.

Image for post
Image for post
Photo by Gabriel Matula on Unsplash

The Forever Haunting “What’s Next?” Anxiety

I am a software engineer in Silicon Valley. This phenomenon is especially prevalent in this central tech hub. There is always a next BIG thing. There’s always new emerging technology that’s going to change the world. There’s always new programming language to learn. There’s always a better paid job out there. There’s always a new startup that’s going to make hundreds of millionaires that we could have joined. This constant fear of missing out and constant dissatisfaction of life consumes us and obliterates our inner peace and happiness. It’s like trying to run away from your shadow. No matter how fast and how hard you run, it follows you closely and intently. Your effort to get rid of it seems futile. …

Google I/O is the annual developer conference hosted by Google. It attracts thousands of people from 120 different countries all over the world to attend in person. This is my first time attending Google I/O. And I want to share with you what about this year’s event excites me most!

Image for post
Image for post
The Flutter Apps

Flutter Going Beyond Just Mobile To Multi-Platforms

It is EVERY developer’s dream that you build in one place and ship to all platforms. The time, resources , learning curves, context switching effort that you need to invest for each platform grows exponentially as the number of platforms you want to support grows. Flutter supports both iOS and Android. Flutter apps can run on iOS and Android without changing a line of code. This year, Flutter will soon go beyond just mobile and start to support macOS, Windows and Linux. Isn’t that absolutely amazing? It blew me away! Now I don’t need to learn multiple different languages and frameworks to support a different platform. I can all do it in one place! Before the conference, I had not tried Flutter before. I got so excited after listening to the announcement that I went to the code labs in the conference and completed two code labs for the Flutter. Flutter apps are written in Dart. If you already know React and JavaScript, it has similar syntax. You should be able to pick up Dart pretty quickly. And the hot reload feature made writing Flutter apps even more efficient. I enjoyed the two code labs I finished. I am not alone in being super excited about Flutter. …

Are you tired of your current project and want to change environment, but you like the company and the culture? Internal transfer is the way to go! This way, you keep your seniority and benefit packages and get to work with a new team on new projects. Companies reduce the turn over rate. Win win! However, doing an internal transfer can be a delicate situation to handle, since you wouldn’t want to upset your manager if you did not transfer successfully. Also, what if you go to a worse team rather than a better team like you hoped? …

There are conflicts going on in the workplace constantly. If one chooses to fight every single battle, it is simply too exhausting and emotionally draining. On top of that, coworkers might perceive them as abrasive or not a team player, which hampers career growth. If one chooses to not to fight at all, they might be walked all over as an easy target, and perceived as obedient and lacking leadership and conviction, which also hampers the career growth. Thus, you need to pick the right battles to fight. I recommend using five Ws and one H , Who, What, When, Where, Why, and How to evaluate your options. …


Female Power SV

Seasoned Female Software Engineer in Silicon Valley | Writer | Columnist | Career Coach

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store