Win a copy of Microservices Testing (Live Project) this week in the Spring forum!

kaustuv saha

+ Follow
since Dec 14, 2009
Cows and Likes
Total received
In last 30 days
Total given
Total received
Received in last 30 days
Total given
Given in last 30 days
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by kaustuv saha

Hi ranchers,

Any advice for me ?

8 years ago

I have about 8.5 years of Java based development experience with around 5 yrs in investment banking domain (both on regulatory and commercial side)

My core skill sets are largely Java, Middleware (Websphere MQ/Tibco EMS/Tibco Rv), WebServices (SOAP/REST), Spring, Drools, RDBMS (Oracle, Sybase) and NoSQL (MongoDB). On the domain side, i am familar with FX and interest rate asset classes and have worked extensively on CFTC regulations/SEF/Dodd Frank Act implementation

I am currently working in the regulatory clearing implementation side for an investment bank in its India office.

My spouse recently got a job in Singapore. So I am about to start searching for jobs in Singapore. I am primarily looking for server side Java jobs in electronic trade capture/clearing systems but I am open to non Investment Banking domain as well.

Does anybody have past experience searching for java jobs in Singapore while working outside Singapore ? Any word of advice for me before i start scouting ?

I have heard/read that there's a significant demand for Mandarin speaking IT professionals in Singapore. I dont speak Mandarin but I can read/write/speak Japanese. Is it worth brushing up my Japanese before looking out for jobs ?

8 years ago
I'd suggest you contact your second employer and see what can be done to get the relieving letter. Probably they might ask you pay for the skipped notice period (if your notice period is X days, the amount will typically be basic pay component of your salary for X days). While you might have genuine reasons for not serving the notice period, IMHO its better to pay for the notice period and get the relieving document. If the amount of time spent at that second organisation were insignificant (< 1 year), most employers probably would have chosen to ignore the absence of a relieving letter but since you have spent quite a significant time there, I believe employers might be sceptical about absence of a relieving letter. They might tend to think : What prevented the candidate from serving notice period (typically 30 days) considering that he has already spent three long years there and in the absence of an answer might assume not-so-nice things. So, I'd say its worth investing effort (and probably money) in getting the relieving letter cause this is something that might keep on haunting you later as well.
9 years ago

Typically in a trade capture system, the front end will be thick client (usually WPF). So, a Java developer will typically work on receiving trades from some exchange/tranding platform over middleware, converting them to a format that the system understands, persisting the trades and feeing the trade messages downstream over middleware. Of course the actual work will vary from project to project but by an large, the skill sets in demand are:
1. core Java (with good understanding of multithreading and garbage collection)
2. JMS
3. Some middleware technology like MQ/Tibco etc
4. XML based technologies
5. database (relational + document-oriented)
10 years ago
I am not suggesting you to choose money over everything else but do keep in mind that "great environment and great work, some great people" is essentially your perception of the organization which may differ from reality. On the other hand your salary structure is something concrete and well documented.
11 years ago
Of course you cant exactly know but you can have a perception based on :
1. feedback from somebody who worked/still works there
2. websites like
3. your visits to the company premises during interview (Of course you cant know everything about a company during interview but if a company ranks either extreme good or extreme bad in some aspect, many a times you can sense that during interview)
11 years ago
This is how I generally decide :
Parameter --------- Significance ----------- Rating--------Weighted Rating
Compensation --------- 10 ------------------- 7.5 ------------- 7.5 *10 = 75
Learning (Technical)--- 10 ------------------- 7 --------------- 7*10 = 75
Learning (Domain) ---- 6 -------------------- 6 --------------- 6*6 = 36
Work Life Balance ----- 7 -------------------- 7 --------------- 7*7 = 49
Work Culture ---------- 7 --------------------- 6 --------------- 6*7 = 42
Brand Value ------------ 2 ------------------- 6.5 ------------- 6.5*2 = 13
Commutation ----------- 2 ------------------- 7 --------------- 7*2 = 14
Organizaion growth ---- 3 ------------------- 5 --------------- 5*2 = 10
Other Facilities ---------- 2 ------------------ 7 ---------------- 7*2 = 14
Total : 328

The numbers above are random but you can put in your own priority and own ratings and compute the same for both organizations before makng a decision

11 years ago
Fully agree to what Jeanne said.

Its not really about memorizing the API. I dont think anybody expects you to remember each and every method in BigDecimal class but definitely a certain amount of awareness about the existence and purpose of such API is expected. because if you aren't aware of existence of BigDecimal you are likely to continue using double

Ditto for bitmap index. If somebody isnt aware of it, he/she is likely to use a regular index for the same purpose leading to suboptimal query results. And one is unlikely to discover that this is an issue unless the number of reords go upto hundreads of thousands (which typically happens only in production and hence has a cost associated with it). A certain amount of awareness about bitmap index and where it is used is sufficient in this case
11 years ago
Well in the offer letter that you sign in most companies, there are clauses that prohibit you from working elsewhere (fulltime or part time) simultaneously. So, if they catch you working elsewhere, they can terminate you for violation of terms of employment.

However, whether its legal/ethical to make an employee sign such employment terms can be a point of debate.
11 years ago
Other than IIMs :

1. ISB, Hyderabad
2. MDI, Gurgaon
3. FMS, Delhi
4. XLRI, Jamshedpur
5. Jamnalal Bajaj (JBIMS), Mumbai
6. SP Jain (SPJIMR), Mumbai
7. Shailesh J Mehta School of Management (IIT Mumbai), Mumbai
8. XIMB, Bhuvaneshwar
9. Narsee Monjee (NMIMS), Mumbai
10. SIBM, Pune

Beyond this list (and the IIMs of course), the rest of B schools in India are hardly worth joining (especially for someone with work experience)

I came across the following articles some time back. They might help you in making a decision :

11 years ago
I'd say that it depends more on the organisation/industry than the location.

e.g. Investmentment Banks in Mumbai pay much more than most product based companies in Pune/Bangalore.

Most of the IT jobs in Mumbai are in IT services who arent the best paymasters. Hence the number of people in Mumbai getting paid significantly above average is relatively lower compared to Pune/Bangalore.

Within an organisation, i dont think there would be a significant difference in pay bacsed on location. If a developer working with company ABC having ,say, 5 years of experience earns X in Bangalore, another developer with similar experience working in Mumbai for ABC will get paid within +/- 5-10% of X.
11 years ago
There are lots of sites which will help you take such decisions.

Like :

12 years ago

I am using JMS object messages over Tibco EMS to communicate between two applications.

Problem is that my message publisher application is using Java 1.5 while listener application is using Java 1.6.

The bean that I am trying to serialize and deserialize has just a few fields (String and primitive datatypes) with setter/gettters and a serialVersionUID filed

Even through I am maintaining a serialversionUID field, when I am trying to deserialize my object messages, I get the following error :

Execution of JMS message listener failed
javax.jms.MessageFormatException: Deserialization failed: invalid type code: 37
at com.tibco.tibjms.TibjmsObjectMessage.getObject(
12 years ago

I am trying to implement JDBC transaction through SPring AOP

What I expect this to do is, if , inside a method (matching the regular expression) I throw a DatabasePersistenceException (a RuntimeException in my case), I expect the JDBC insert/update/delete operations to be rolled back since the datasource object that I am doing JDBC operations on is same as the datasource object in my TransactionManager object. However this isnt working as intended. The JDBC operations arent being rolled back even if I throw the specified exception. I am doing the database operations using Spring's JdbcTemplate class.

Please suggest what I might be missing here.
12 years ago

I have implemented a solution as mentioned above and it works

This is what I am doing

1. create a Hashmap (it will store subjects as key and Boolean as value to indicate job completed or not) and an arraylist(for storing received messages)
2. create an executor service pool
3. iterate over array of Tibco listener subject strings
3.1. add a key value pair to hashmap : (subject string, Boolean.FALSE)
3.2. create a runnable instance [the run() method actually starts a listener service on the subject and once the listener service is done with its job, updates the hashmap to Boolean.TRUE for that subject and adds messages received to the collection]
3.3. add the runnable to executor service
3.4. submit the executor service
4. while (in the hashmap all values as FALSE)
4.1 sleep current thread for 1 second
5. in an infinite loop go on with processing the arraylist contents. the list will get updated as executor jobs keep on getting completed

This works fine but I dont like the logic in step 4 where I am manually waiting for at least one thread to complete job.

Can anyone suggest a better way to implement this ?