101
reputation
2

Jose Da Silva

I'm a computer scientist that eventually want to work in artificial intelligence, I'm also interested (at least as recreational reading, due to the breadth of each topic) in big data, data mining, computer graphics and web security.

I have worked mainly with java, but have also worked with javascript in frontend mainly with react, and in backend with nodejs and php. In some projects where I participated we worked with python, c and c#.

I usually like to follow some concepts of domain-driven design, and apply design patterns (strategy, facade, decorator, composite, object pool, among others) to resolve complex problems in a simple way that makes easier to understand the solution, generally after splitting the problem in a set of subproblems. I try to keep the code modularized and organized using interfaces to specify code contracts.

Another design patterns that I frequently deal with are for instance the ones that are used in spring; dependency injection, one of the main concepts of the framework, that allows to write code that can be easily decoupled, which improves maintainability and makes it easier for testing. For beans, lazy initialization, proxy (java proxy for interfaces and cglib for classes) or singleton (which is the default behaviour) are another patterns that are normally used and can be applied depending on the characteristics and requirements of each bean.

And in some libraries like hibernate (dao, dto and adapter), in rxjava (observer or publish/subscribe) or when working with concurrency (join, lock, monitor, read-write lock, scheduler, thread pool).

I'm currently working in two projects, the first one in javascript with mongo db, nodejs, graphql and react and the second in java with spring, graphql-java, soap, and odata.

  • Somewhere
  • Member for 2 years, 4 months
  • 1 profile view
  • Last seen Jun 25 at 19:28