Tito Cheriachan

Tito Cheriachan

I make && fix bugs for a living.

Contact Me

About Me

  • StackOverflow Profile
  • 12 years of application development expertise primarily in Java technologies.
  • Expertise in building scalable & secure APIs.
  • Doing a little bit of Devops lately with Docker containers.
  • Knows a thing or two about AirCargo Logistics, Connected Cars & Commodity Classifications.
  • No opinionated approaches. I make use of any tech that I can get my hands on to solve a problem.
  • I am working at 3CE Technologies Inc. in Montréal which specializes in data classification.

Hobby Projects


AutotweeterPro

AutotweeterPro

This is a small utility which sends out scheduled tweets from a text file. This is my bestseller. This utility has been around for 5 years now. Its made in Java swing and has embedded JRE. I have made use of threads extensively in this utility.

Find out more

Twitter Autofollower

TwitterAutoFollower

This is a bot which can follow people in twitter automatically. Once you setup this utility with the authentication keys from twitter,this utilty will start following people on your behalf. Those who are familiar with twitter finds this tool extremely useful to grow their followers within a short period of time.

Find out more

Work Experience

Senior Java Developer at 3CE Technologies, Inc. (2016 - Present)

  • Consult with clients to establish and document their needs and develop the required specifications accordingly
  • Summarize the data obtained for the design phase
  • Design, produce and maintain different background components and contribute to the technical advancement of the whole team
  • Design, develop and maintain back-end services to support web-based services and applications
  • Coordinate the development, installation and integration of systems and software
  • Contribute to the overall technical architecture
  • Test and document operating systems and software
  • Contribute to the development of maintenance and security procedures for systems and software
  • Act as a mentor for less experienced software engineers and coordinate with other software engineers to integrate software systems
  • Ensure production systems are operational and take corrective action as needed
  • Assist the Chief Architect in the development of software components
  • Build and maintain automatic software deployment pipelines for continuous integration and continuous deployment
  • Establish code release, the process of versioning and deployment between different environments
  • Build application programming interfaces for various microservices
  • Analyze and transform data into different forms for consumption by third-party systems
  • Develop & maintain Microservices with Spring Cloud
  • Build Scalable services with Zuul + Ribbon + Consul + Kafka
  • Secure REST APIs by OAuth 2 with JWT
  • Handle devops with Rancher + Docker

Engineer I at American Express (2015 - 2016)

  • Serving as a core member of backend engineering team that designs and develops Java based server side applications
  • Writing unit tests, automation tests, and conducting code reviews
  • Identifying opportunities for adopting new technologies to solve existing and future challenges
  • Performing ongoing refactoring of code, utilizing visualization and other techniques to fast track concepts, and delivering continuous improvement
  • Work closely with product managers, back end and other front-end engineers to implement versatile solutions to tricky web development problems
  • Finalizing prototypes into applications by integrating with back-end services and functionality
  • Participate in daily scrum meetings
  • Analyze the server side requirements for user stories and create specifications in Java
  • Integrate backend with external web APIs to fetch, apply logic and transform the data for front end
  • Perform bug fixes in the server side code
  • Run load, memory leak tests with Jmeter and identify problems in the server application
  • Version control the code using version control systems like Git and SVN
  • Build and release Java libraries using Maven, Gradle & Jenkins
  • Release code for production and setup shell scripts for production deployments
  • Coordinate production code deployments from time to time
  • Improve code coverage and branch coverage with JaCoCo

Assistant Consultant at Tata Consultancy Services (2013 - 2015)

  • Instrumental in design of Internet of Things architecture for connected car to the cloud systems
  • Preparation of high level and low level design documents, data flow and UML diagrams
  • Worked on Chrysler car's telematics unit called UConnect
  • Built remote car operations app which starts/stops/door-unlock/lock/find GPS location of the car
  • The app runs in QNX OS on a proprietary JVM (Jamaica) inside the telematics units of Chrysler cars & trucks
  • Undertook some parts of the programming for reading values from CAN Bus & sensors of the car & upload it to the server
  • This data is used to notify the car’s customers about Diagnostic troubles in their car
  • Lead development of Yelp app in Chrysler cars which consumes Yelp’s public API
  • This app is used by customers to find places of interest and navigate from the car’s touchscreen device
  • Responsible for car telematics unit’s functional requirement analysis, development,integration and maintenance
  • Regularly meet with stakeholders to discuss strategy and delivery of the apps projects, according to service level agreement
  • Design bridging architecture between two heterogeneous systems using high availability light weight message queuing system
  • Implementation of human machine interface system and daemon systems for in vehicle health checks
  • Design multithreaded daemon processes for vehicle remote engine operations and tracking

Information Technology Analyst at Tata Consultancy Services (2012 - 2013)

  • Analyzed existing proprietary business rules engine system (BPEL Engines) and identified inefficiencies
  • A solution was suggested with a modern and flexible business rules engine system and the proof of concept project was delivered for client’s evaluation
  • Ensured the needs of the clients are well documented and accounted for before the development and implementation phase of the business rules system project
  • Worked with clients to prioritize and normalize the requirements
  • This involves whether the requirements are practical and technically feasible within the context of the project This involves gap analysis between the previous business rules system and the proposed future business rules system
  • Created an implementation plan after requirements phase and ensured acceptance criteria is agreed and documented ahead of time to be used in the acceptance testing phase
  • This involves designing the data flow between various systems, high level designs of the rule system architecture and well defined isolation between various component of the rule engine
  • Assisted project manager through active communications with clients regarding requirement changes
  • Created consensus from all the stakeholders regarding implications and alternative options if the project changes in scope or timelines
  • Created business object models with JRules from the plain language rules definitions
  • Converted business object models to execution object models as Java class files
  • Designed test cases in JUnit around the business rules
  • Presented business users with a user interface in browser to write rules using natural language
  • Deployed & version controlled the rules in IBM Rule team server
  • Built API endpoints for executing rules from a third-party system

Software Developer at Lulu Money Exchange (2010 - 2011)

  • Research on crypto currency called Bitcoin and its mining techniques
  • Evaluate whether Bitcoin's blockchain technology was suited for international remittance systems
  • Consume webservices of partner banks
  • Parse AML rules in XML and validate each transaction with the rules
  • Calculate currency exchange information by invoking webservices
  • Research for solutions to make money transactions faster
  • Implement Compass Lucene text based search engine
  • Flatten & massage transaction data for indexing

Software Engineer XM Software Solutions (2009 - 2010)

  • Involved in the research and development of the overall Mobile Money Transfer application project
  • Instrumental in identifying the mobile technology suitable to be used for the Mobile Money transfer project
  • Research & development in J2ME platform with LWUIT (Light weight UI technology) framework for the GUI components for MIDP2
  • 0, CDLC device profiles
  • Implemented client-server using Caucho Hessian Protocol
  • Re-engineered Caucho Hessian project to suit application's object serialization/de serialization
  • Designed and developed workflows for digital certificate infrastructure with openssl
  • Created XSDs (Schemas) for certain in house XML messaging requirements
  • Implement JAR code signing and verification workflows
  • Porting and refactoring code for RIM mobile platform

Senior Software Engineer IBS Software Services (2006 - 2009)

  • Developed EIMS passenger module for Qatar Airways
  • Server side programming for web application using Struts
  • Write Data Transfer Objects (DTOs) for server client communications
  • Mapping data from DAO layer to business layer
  • Report generation using Jasper Reports
  • Identify test scenarios and create unit test cases
  • Write PL/SQL procedures for revenue accounting modules
  • Consume XML messages with JAXB for IATA messaging systems