We provide IT Staff Augmentation Services!

Lead Software Engineer Resume

2.00/5 (Submit Your Rating)

Malvern, PA

SUMMARY

  • 8 years of experience in developing software applications using the Java programming language.
  • Has a solid understanding of Object Oriented Programming (OOP), Object Relational Mapping (ORM), Inversion of Control (IOC) concepts.
  • Experienced in developing java web components using Servlets, JSP, Filters, JSTL, EL, Tags, etc.
  • Experience working with client - side UI technologies such as Java Swing, Eclipse SWT, web UI technologies such as HTML, CSS, JavaScript.
  • Experienced in developing database using major database vendors such as SQLServer, PostgreSQL, Oracle, and MySQL.
  • Developed RESTful web services using JAX-RS/Spring framework.
  • Used various web servers like Tomcat, Resin and Glassfish for web applications and RESTful services.
  • Has a good understanding and experience of Spring Core, Spring MVC and Hibernate.
  • Well-versed in coding for multi-threaded environment which uses synchronization techniques, wait, notify, join, locks, and thread executors.
  • Familiar with Struts2 framework, AngularJS, JSON, JDK8, and worked on personal projects using these technologies
  • Places importance on automated tests using various technologies such as Junit, mocking frameworks such as Mockito, and scripting technologies such as Unix bash
  • Well-versed in UML, design patterns, application architecture and distributed computing concepts.
  • Experienced in affiliate marketing, web advertisements, and system integration domains.

TECHNICAL SKILLS

Technologies: Java SE, JDBC, JSP, Servlets, Filters, JSTL, EL, Junit, Mockito, Spring, Hibernate, Struts, EJB3, JMS, Java Swing, Eclipse SWT, Oracle PL/SQL, REST, XML, XSLT, XSD, XSLT, JSON

Application Servers: Tomcat, Resin, Glassfish

IDE: Eclipse, Netbeans, IntelliJ IDEA

Web Languages: HTML, CSS, JavaScript, AngularJS

Databases: SQL Server, PostgreSQL, Oracle, MySQL, HSQLDB

Server Scripting: Unix Bash Scripting

Other Tools: JIRA, SVN, Maven, Eclipse, Toad, PGAdmin, Oracle SQL Developer, Putty, WinSCP, WinMerge, Notepad++, IBM Security AppScan, OWASP ZAP Tool, Cygwin, StarUML

Operating Systems: Microsoft Windows, UNIX

PROFESSIONAL EXPERIENCE

Confidential, Malvern, PA

Lead Software Engineer

Environment: Java SE, Hibernate, Spring, REST, AngularJS, Junit, Mockito, HSQLDB, SQLServer

Responsibilities:

  • Broken down the feature into tasks so that other developers may be able to contribute to the development of the feature.
  • Provide guidance and code reviews to the other developers working on the feature.
  • Developed the feature’s business logic for content update scenarios using Java SE, REST, Spring, and Hibernate.
  • Implemented the feature’s main UI page using AngularJS and HTML.
  • Created unit tests using Junit, Mockito and HSQLDB.
  • Created automation tasks for different update scenarios, and provided each task list of steps that must be executed.
  • Provided technical guidance to the developers who implemented the automation tasks.
  • Responsible for demos, documentations, maintenance and enhancement of the application.

Confidential

Lead Software Engineer

Environment: Java SE, Hibernate, Spring, REST, AngularJS, Junit, Mockito, HSQLDB, SQLServer

Responsibilities:

  • Developed the feature’s main business logic using Java SE, REST, Spring and Hibernate.
  • Implemented the feature’s UI using AngularJS and HTML.
  • Created unit tests using Junit, Mockito and HSQLDB.
  • Responsible for demos, documentations, maintenance and enhancement of the application.

Confidential

Lead Software Engineer

Environment: Java SE, Hibernate, REST, Junit, Mockito, HSQLDB, SQLServer

Responsibilities:

  • Implemented the fault/recovery detection mechanism using Java SE and Hibernate.
  • Implemented the reactions to a fault or recovery, e.g., pause input channels, pause thread workers, send e-mail to admin, send report to the monitoring service, resume channels, resume threads, send recovery email to admin, report recovery to the monitoring service, using Java SE and REST for remote calls to other nodes residing in different servers.
  • Created unit tests using Junit, Mockito and HSQLDB.
  • Responsible for demos, documentations, maintenance and enhancement of the feature.

Confidential

Lead Software Engineer

Environment: Java SE, Hibernate, Spring, REST, Junit, Mockito, HSQLDB, SQLServer

Responsibilities:

  • Developed the REST interface for the service using Java SE and Hibernate, Spring.
  • Designed and finalized the SQLServer/PostgreSQL database objects that will be used by the service.
  • Wrote the scripts to create the required database objects for SQL Server database.
  • Developed the content updater using java.util.concurrent.ThreadPoolExecutor and java.util.concurrent.Executors to allow parallel execution of content updates across different tenants and to allow for performance tuning by making the number of parallel threads configurable.
  • Implemented the business logics for updating a content using Java SE and Hibernate.
  • Implemented the cleanup procedure using java.lang.Thread which deletes business objects that became orphans after a content update operation.
  • Used REST APIs to signal other nodes of the Enterprise Collaborator to (1) pause operations when a content update or install is about to happen, (2) reload the application’s memory with fresh contents after an update or install is completed, (3) resume operations after the nodes have been refreshed with new content.
  • Created unit tests using Junit, Mockito, HSQLDB, and functional tests using the in-house automation framework.
  • Responsible for demos, documentations, maintenance and enhancement of the application.

Confidential

Lead Software Engineer

Environment: Java SE, JDBC, HSQLDB, SQL Server, PostgreSQL, Junit, Mockito, IBM AppScan, OWASP ZAP Tool

Responsibilities:

  • Analysed security vulnerabilities of the product with the help of IBM AppScan and OWASP ZAP tools and determined whether the vulnerabilities are false positives or not.
  • Refactored the product’s custom SQL statements to use parameterized java.sql.PreparedStatement instead of using dynamic java.sql.Statement to mitigate vulnerabilities from SQL injection.
  • Implemented a character white list validation logic using Java SE to mitigate SQL injection vulnerabilities where refactoring to java.sql.PreparedStatement would be impractical.
  • Implemented a UUID-to-file mapping mechanism in the application’s web pages using Java SE to hide file details and server directory structure from external web app users.
  • Implemented path traversal validation logic using Java SE to prevent malicious users from accessing any files outside a tenant’s application context.
  • Sanitized any user submitted input against potential CSS attacks using the java.util.regex package.
  • Provide fixes for valid vulnerabilities found by penetration testers.
  • Created unit tests for the security mitigations that were applied using Junit, Mockito, JDBC, and HSQLDB.
  • Provide directions to co-developers on how to analyse and resolve security tickets.
  • Provide code-reviews to co-developers.
  • Wrote and disseminated documentations which serve as guidelines for the team to aid them in writing secure codes.

Confidential

Lead Software Engineer

Environment: Java SE, REST, Hibernate, Spring, SQLServer, PostgreSQL, Cygwin, Bash, HTML

Responsibilities:

  • Designed and developed the automation framework based on combination of data-driven test automation pattern to make the core of the framework reusable for various test cases, strategy design pattern to allow various test cases to reuse external verification scripts, and template pattern to allow test cases to have their own before and after test lifecycle hook implementations.
  • Exposed using REST interfaces the server’s functionalities that needed to be called by the automation framework.
  • Developed the core of the framework using java.io, java.net, java.util, Hibernate, and Spring packages.
  • Wrote the main wrapper script using Unix bash.
  • Wrote various reusable verification scripts using Unix bash, MSSQL and PostgreSQL to verify the correctness of a test case’s output.
  • Used Cygwin emulator to mock Unix environment on Windows.
  • Wrote the HTML template used by the report generator.
  • Used SVN for test case repository.
  • Created various test cases for the three different test types the framework supports, to serve as a pattern for QA and developers in creating new test cases.
  • Provide technical guidance to other developer on how to write their own verification scripts.
  • Responsible for demos, documentations, maintenance and enhancement of the framework.

Confidential

Lead Software Engineer

Environment: Java SE, Hibernate, XStream, java.util.zip, Junit, Mockito, HSQLDB, PostgreSQL, SQLServer

Responsibilities:

  • Implemented the feature using recursion, so that the user may be able to export/import a tree of agreements.
  • Designed the feature using interfaces and plugin pattern, so that the functionality will have the extensibility it will be needing to support different types of objects in the future.
  • Developed the feature using Java SE, SWT, and Hibernate for the main logic.
  • Implemented the properties override functionality using a wrapper pattern so that all different types of properties that can be overridden can be handled uniformly by the SWT UI code.
  • Used factory method pattern so that every wrapped property can produce an override object ready to be serialized with the agreement.
  • Wrote the code for serialization of objects into XML files using com.thoughtworks.xstream package.
  • Wrote the zip file procedure using java.util.zip package.
  • Created unit tests using Junit, Mockito and HSQLDB.
  • Responsible for demos, documentations, maintenance and enhancement of the feature.

Confidential

Lead Software Developer

Environment: Java SE, JSP, Junit, Mockito, HTML, CSS, Javascript, Spring MVC, Hibernate, HSQLDB, Oracle

Responsibilities:

  • Developed the main business logic using Java SE, Spring, and Hibernate.
  • Developed the frontend of the feature using Spring MVC, JSP, HTML.
  • Used JavaScript for client-side validation.
  • Created unit tests using Junit, Mockito, and HSQLDB.
  • Wrote technical and functional documentations for end users.

We'd love your feedback!