Software Engineering Work Journal

2023-07-08T1206H UTC+8: Optimization Problem

The second week at work I have to ask for a task after setting up my developer workspace and the first problem that I was given was to optimize some base code for one of the projects.

Technically the regular senior and technical lead dictated on what has to be done. The first problem was to implement a pagination for a potential large result set coming from a DB query that could span a million records or more. In order to not clog the heap memory a pagination has to be implemented. Had to understand the whole base code that was about some scheduled task and do some simple calculation in order to come up with the number of loops to call for the pagination. Later on had to move the pagination stuffs on a dedicated pagination utility class.

The next problem to solve then was to implement a batch saving to the RDBMS and Elastic Search since the base code saves stuffs per records from the original one time database query. The batch saving has to be implemented within the scope of each pagination call.

The final problem to solve and is still in progress and is about thread pooling and although implemented I noticed some batch saves to the ES are being dropped more frequently than the batch saves to the RDBMS. Debugging the stuffs stepping each time on the code completes the batch saves to both the DB and the ES otherwise without stepping things gets dropped. I'm thinking it maybe due to the thread pool executor being shutdown after the thread task has been submitted.

2023-06-13T1537H UTC+8: Technical Assessment on REST API Microservice Handling SAML Response Submitted

I managed to submit the technical assessment evening yesterday.

Basically the REST API accepts a post request with an XML payload containing the SAML response. Within the SAML response XML is the NameID node that contains the format and the NameID tag text. The format identifies the NameID format based from the SAML protocol (could be email, kerberos, etc) and the text value has to be validated if it's existing in the database. The database used is H2 and is embedded in the REST API microservice. Depending on the format an appropriate validator is then instantiated via factory design pattern.

I only gave a few hours in the development and spread it out a many days since evening of Friday.

2023-06-10T1804H UTC+8: Technical Assessment

After reading since evening of Friday about SAML, it is time to do the technical assessment from one of the companies I have applied to.

It's going to be Spring Boot with SAML processing.

2023-06-08T1735H UTC+8: Technical Interview & Technical Assessment

1 out of the 3 scheduled interviews today was technical. The first one was initial interview turns out while the third no one from the technical interviewing panel came.

Though I have been developing spring boot applications for 4 years now I still don't have an almost complete knowledge hence this is the second time I had a hard time answering technical questions regarding spring boot.

Later in the evening straight up to end of day next day I will be taking the hands-on technical assessment from another company.

2023-05-30T1124H UTC+8: Initial Call & Review of JEE

Got an initial call today from one of the companies that I have sent my job application.

Will do a review of the JEE in the meantime.

2023-05-29T1939H UTC+8: Review of JBoss Fuse

It is time to do a review of JBoss Fuse since one of the positions that reached out sooner was the Systems Integration Engineer:

2023-05-28T2323H UTC+8: Spring Boot Request Response XML Hands-On Via Jackson Extension

Did a hands-on exercise on creating rest api endpoints that uses and returns xml using the jackson extension dependency in spring boot.

2023-05-28T1904H UTC+8: Spring Boot Response Using JAXB

Now looking at responses using JAXB in Spring Boot.

2023-05-28T1859H UTC+8: Spring Boot XML Response Using Jackson Extension

Currently looking at Spring Boot responses returning XML using Jackson extension.

2023-05-25T1701H UTC+8: Initial Review of Spring Boot For REST API Development

Done with the initial hands-on review of the spring boot for REST API development. From dependency setup to main class annotation, controller annotations, mapping annotations, entity response, and request body and path variables.

Will continue on the hands-on review after my afternoon warrior mode.