Seeking a challenging position in software engineering, ideally in a full stack environment, where I can effectively contribute my skills and knowledge as a software engineer in an innovative organization that values my passion for creativity and building solutions where I can bridge the gap between business analyst and technology consultant.
- Software Engineer with around 5 years of experience.
- Master's degree in E-Business and Information Systems (Business + Computer Science).
- Expertise in Play Framework (Java/Scala) and Spring framework.
- Recently signed a contract to write a book on Play Framework with Packt Publishing.
- Expertise in designing and developing RESTful services.
- Experience working in Agile (Scrum) methodology with test driven development (TDD), in a startup in UK.
- Full stack web application development, covering front end, middle ware and back end, including system architecture and database designing.
- Extensive background in full life-cycle of software development process including requirement collection, design specification, development, testing, debugging, deployment and maintenance.
- Was deployed in the client site and acted as single point of contact and lead the team in development.
- Proven track record of designing and developing flexible solutions, which support frequent changes to functionality and UI, to meet the client requirements.
- Knowledge in Java frameworks and tools like Spring, Hibernate and Jasper Reports and also in graph analysis tools like R, Gephi and IGraph, also worked on Neo4J NoSQL graph database and Spring Data Neo4J.
- Object Oriented programming
- Distributed/Client-Server systems
- Play Framework (Java/Scala)
- Understanding of design patterns
- Functional & Design documentation
- Critical analysis & problem solving skills
- Spring & Hibernate
- Database Development
- Proactive self-learner & motivated by achievements
- Received more than 100% bonus for excellent performance from Collective.
- Recipient of certificate of appreciation, for the quality and dedication, 3 times from JMR Infotech.
- Direct email from the CEO appreciating performance and skills.
- Won programming competitions held at college
August 2015 — Till Date Expedia Affiliate Network, London, UK
Build internal reporting tool with web API and Rich front end.
Resposiblilities include writing NodeJS application, writing Chef cookbooks for managing configuration/deployment of application, provisioning dev, staging, stable nodes, apart from all the usuall agile practices.
- Created Chef cookbook for API Gateway with NGinx.
- Created user authorization with JSON Webtoken.
- Implemetend Service Discover on the services and API Gateway, using Hashicorp Consul, for automated instance discovery and routes discovery.
Technologies Used: Node.js, ReactJS, Teradata, Chef, Nginx, Git, Jenkins, Java, Ruby
February 2015 — June 2015 Kainos, Burnley, UK
In DWP location on a project related to Government Digital Service (GDS) and Gov.UK Verify using micro-services architecture as a Tech Lead in an Agile (Scrum) environment.
Actively upgraded existing source code to use Java 8 features. Helped new team members practice TDD. This project uses Elastic search to find possible matches from a matching data set. Wrote scripts to ease development process. Brought in consistency and standardisation to source code.
Responsibilities include technical discussions with architects, sprint planning, sprint elaboration, delivering sprint vision, knowledge sharing among team members, pair programming and code review.
Reported and fixed issue #953 in DropWizard project on Github during the stint. https://github.com/dropwizard/dropwizard/pull/1001
November 2014 — January 2015 Corelogic, Essex Road, LONDON, UK
The project was to build new module into existing social care product developed by Corelogic. Worked on Java (Spring/ibatis), Backbone/Marionette, Microsoft SQL Server and Oracle stack. Suggested positive changes to standards and practices.
Introduced JSR-303 server side validation. Designed RESTful API’s and structured controllers. Responsibilities included attending sprint meetings, code review and merging changes from other developers.
Technologies Used: Java, Spring, ibatis, Backbone.js, Marionette, Handlebars, Underscore.js, MSSQL, Oracle, Weblogic server, Gitlab, JIRA, TestNG, Mockito.
October 2014 — Till Date Downtown Consulting, Harrow, UK
Available to hire for contract jobs immediately. Happy to relocate to anywhere in UK.
March 2013 — September 2014 Collective: The Audience Engine, Bangalore, India
Collective is a leader in multi-screen advertising and dynamic optimized creatives and programmatic advertising that connects brands to audience with personalized ads. Joined the team at Collective to build and evolve the best dynamic creative optimized ad platform in an Agile environment.
- Inhouse BigData Analytics product, which produces reports from the ad delivery/engagement logs generated by the ad server.
- Designed and developed secure REST API for reporting dashboard using Play Framework and Redis for caching.
- Play framework and NodeJS/ExpressJS based secure RESTful APIs
- Rich UI using AngularJS and RequireJS
- RESTful Reporting API (Dashboard)
- Setup and lead Play (Scala) project from scratch (Proposed the use of this framework).
- Slick (Scala) for database access.
- Implemented a state machine based Authentication header parser and developed algorithm.
- Single sign-on integration with Authentication API
- Redis for caching
- Jackson for JSON generation.
- JAXB annotations for converting authentication message to object.
- Spring Batch for batch processing and prepopulating the Cache.
- Vagrant boxes for database and caching during development.
- Pair Programming
- Test Driven Development
- In-memory H2 database with YAML data files for unit testing.
- Knowledge transfer to team members.
- Build with Jenkins, deployment with Chef
- Reporting UI (Dashboard)
- Setup and lead Node/Express project from scratch.
- Visualization using HighCharts and D3JS
- Build with Jenkins, deployment with Chef
- Proof Of Concept
- POC for the very ambitious dashboard project
- Created using Play (Java/Scala)
- UI with Angular JS
- Data visualization with D3JS and NVD3
- Tableau Reporting
- Yoeman based project setup.
- UAT in Heroku
- Build with Grunt and Jenkins, deployment with Chef
- Inhouse Analytics product
- Maintained this already matured product.
- Modernised UI using Bootstrap, Struts, jspx and tagx
- Added new reports
- Scheduling with Quartz
- IBatis for sql queries
- Python scripts for chores.
- Build and deployment with inhouse tool
November 2012 — January 2013 University of Newcastle upon Tyne, UK
This was a paid project given by the University as part of Newcastle Work Experience program to build an academic assignment feedback generation application which, makes it possible to prepare constructive and comprehensive feedback in an efficient and effective manner.
- Built using rapid application development tool Spring Roo, Jasper Reports and Dojo
- User authentication and authorisation features using Spring Security.
- Java Mail API to send registration email.
- UAT deployment in Heroku and PostgreSQL
- Production deployment in Tomcat server and MySQL database located at remote University Server using ssh key authentication.
March 2012 — September 2012 Happiest, UK
Happiest is a start-up in Newcastle upon Tyne, that focused on Rewarding customers based on engagements. To be a part of an exciting start-up in the UK was really thrilling. Most exciting part was the thought of building something that is going to delight people. The internship turned into an offer for doing Master's dissertation.
Data Engineer (June - September)
- Dissertation project on Social Network Analysis and Centrality metrics - This project was considered the initial phase of bigger data analysis project.
- Created a friend recommendation system using Neo4J graph database.
- Analysis of social network data using R, IGraph - Happiest's network data was analysed and centrality points were given to each node in the network.
- Graph data visualization using R and Gephi.
API Developer (March - June)
- Developed various API end points in PHP
- Database programming in PostgreSQL
- Responsible for github commits and merges.
- Scrum methodology
- Participate in daily stand-up sessions and discussions.
August 2008— August 2011 JMR Infotech, India
JMRInfotech is a technology consulting company Banking and Financial Services Industry domain in India, where I served for 3 years including offshore support and client site development projects.
Software Engineer/Technical Consultant
- Was deployed in client site and acted as single point of contact.
- Lead the team in design and development and also gave training to team members and knowledge transfer to new members.
- Designed and developed Java based web framework for development.
- Training in Flexcube (OFSS), PL/SQL and Oracle Forms.
- Offshore support for Flexcube.
- Responsible for code maintenance and version control.
- Responsible for UAT deployment.
- User and session management module - Created the complete design document for the project.
- Customised account reports from Flexcube database - Lead developer in Java, JQuery, Hibernate, Jasper Reports, production deployment in Websphere server
- Bank cheque truncation automation project - Lead developer in Java Swing interface between Flexcube and cheque truncation automation vendor. The Swing application generates XML files as specified by the client in a given location.
- Credit card tab for Internet Banking - Developer in Java, production deployment in Websphere server. The credit card tab worked by consuming Webservice (SOAP) provided by Credit card vendor.
- Bulk Signature Uploader - Upload scanned signature images from a given location. Single-handedly developed. Used XML for representing data and XSLT to translate to html.
- Data double entry - Web application to verify same data entered by two employees. Single-handedly developed. Used XML for representing data and XSLT to translate to html.
- Company Website - Built on DotNetNuke. Team member.
- Search Engine Optimization - Webmaster
|APIs||JEE (JSP, Servlets, Filters), JPA, JAXB, JUnit, Jasper Reports, Log4J|
|Frameworks||Play Framework, Spring Core, Spring MVC, Spring Roo, Spring Security, Hibernate, Spring Data Neo4J, Spring JUnit|
|Methodologies||Agile (Scrum), OOP, Design Patterns|
|Middleware||Apache Tomcat, Websphere, nginx|
|Operating Systems||Mac OSX, Linux, Windows|
|Database||Oracle, PostgreSQL, MySQL, Neo4J(NoSQL graph database)|
|Tools||IntelliJ IDEA, Spring Tool Suite, Eclipse, Toad, PL/SQL Developer, pgAdmin, Sequel Pro|
|Source control||git, svn, perforce|
|Acquainted with||C, C++, R, PHP, Ruby|
|Unofficial||Amazon Web Services, MongoDB, Travis CI|
September 2011 — September 2012 M.Sc. E-Business Information Systems (Merit)University of Newcastle upon Tyne, UK
Taught postgraduate course with modules from both computing school and business school, which gave great exposure and outlook on both technology and business aspects. Skills for project management and business planning were enhanced by the consultancy project and business plan group work.
- Dissertation on Social Network Analysis and centrality metrics.
- Prepared a complete Business Plan and prototype as part of group work.
- Individual assignment and research on BigData and its uses in EBusiness, based on Gartner's hype cycle.
- Developed a simple web server in Java.
- Modified a ticket booking application using Java, Hibernate and Memcache in IntelliJ.
- Developed an Android and PHP application for Newcastle University Alumni Association, which uses Facebook SDK and Twitter API.
- Class representative - Participated in meetings and voiced issues faced by classmates.
- Actively participated in events happening in the school like Start-up Weekend, Thinking Digital Meeting.
- CSC8004 Network and Web Technologies
- CSC3103 Internet Technology and Electronic Commerce
- NBS8207 E‐Business
June 2004 — June 2008 B.Tech Computer Science & Engineering (Merit)AWH Engineering College, University of Calicut, India
Bachelors degree course that covered in-depth concepts of computer science, mathematics, algorithms and software development. Programming lab in C, Java and Lisp was included in the course to enrich the understanding of subject.
- IEEE and CSI (Computer Society of India) associations
- Secretary of Computer Science Society
- Organised events for Computing Society
- Won programming competitions in C
- Mini project on face detection and pattern recognition
- Main project was a robot that rolled on wheels with voice recognition and response, face detection, obstacle detection and path learning capabilities.
- Ruby on Rails app that lists cool places in Bangalore to hangout.
- RESTful API based.
- People can rate and comment on places.
- Places can put up events and other marketing stuff in their pages.
- Work in progress
- Webapp to store and split expenses between group of people
- Using Play framework
- REST API based
- Work in progress
- Using AngularJS.
- Stores score in browser
- Next step: Use Cordova to port this app into mobile.
- Wall Climbing
- Sky Diving
- Blogging - I write about technology in my blog at https://deepumohan.com/tech