Vendor Script Java
Vendor Script Java
---working with the same employer from 201 as it is my father’s friend company, I am with them
till now.
Employer details:
Shawn Andrews from SAS Info INC.
----Reporting currently (I cannot tell you about my present pay rate) , my project is going to end
next week.
----Expecting 78$ per hour.
1) Client:
Jan 2019 to Till Date
Role: Java Full Stack Developer
2) Client:
May 2017 to Dec 2018
Role: Mid-level Java Developer
3) Client:
Jan 2016 to May 2017
Role: Java/J2EE Developer
4) Client:
Nov 2014 to Dec 2015
Role: Jr. Java Developer
5) Client:
June 2012 to Oct 2014
Role: Software Engineer
About-yourself:
well…coming to me, I have around 9 years of experience from 201, I was working as a
developer….and now, I am working as a Java Full Stack Developer at ----------------Client----,
from 201…..before that I have experience with few other companies….well starting my
career as a software engineer, I reached now to a step as a full stack developer……with a
descent knowledge over front end and backend too….coming to my present project, lemme
explain you few main sessions….that which I perform as an individual in our team…..
Day-to-Day task:
My day starts with a standupcall….then after will be having a couple of meetings related to
the work, which we are currently working…..Our team has few microservices….in which, I
am working with 2 Microservices…..we mostly use to work on SwaggerAPI’sfor our
microservices (STOCK CHART and INVESTMENT CALCULATOR)…..we used
springboot for developing the Microservices and used soap to retrieve data……Currently we
are using angular for the front end and spring boot for back end…...also using the restful
API as a connection between the Frontend and Backend…….Coming to the database we are
using MongoDBdatabase and we are using AWS cloud for computing and storage
purpose……Also been a part of Installation, integration, and configuration of Jenkins
CI/CD, including installation of Jenkinsplugins…..Use to monitor the dashboards when
there is a release…..Wrote JUnit test cases and used log4j for debugging and error handling,
tracked defects in Jira tracking portal……Used unit test cases and Mockito test driven
deployment tools for java automation…..coming to end of the day before close-up-call,
End-of-the-Day:
In GitHub I will fork the code from branch and clone it in my local, and do the required
changes related to the ticket, and raise a pull request…..Then will get it reviewed by the leads
and if there are any changes will do them and raise another pull request…..One more thing is
that, I use to look of the issues faced my colleagues, if there are any I use try to resolve
them…..yep!!!
The main difference between AngularJS and ExtJS in my opinion is, that AngularJS focuses
mainly on being a MVC Framework, which does not offer any extended library-style
functionality to design fancy user interfaces. ExtJS goes a step further, it also is a MVC
framework at the core, but offers more than that lots of functionality, for example designing of a
user interface (probably what you mean by "Desktop Environment" lookalike).
Java Server Faces (JSF):is a MVC web framework that simplifies the construction of User
Interfaces (UI) for server-based applications using reusable UI components in a
page. JSF provides a facility to connect UI widgets with data sources and to server-side event
handlers.
Enterprise java beans(EJB): technology is the server-side component architecture for the
development and deployment of component-based business applications. is the server-side and
platform-independent Java application programming interface (API) for Java Platform.
JavaBean:it is a Java class : It has a no-arg constructor. We use it for methods to set and get the
values of the properties, known as getter and setter methods, it is a reusable software component.
We use a bean to encapsulates many objects into one object so that we can access this object
from multiple places. Moreover, it provides easy maintenance.
AJAX = Asynchronous JavaScript and XML. AJAX is not a programming language. AJAX just
uses a combination of A browser built-in XMLHttpRequest object (to request data from a web
server), JavaScript and HTML DOM (to display or use the data)
Redux is a predictable state container for JavaScript apps. As the application grows, it becomes
difficult to keep it organized and maintain data flow. So, we use redux to solve this problem by
managing application’s state with a single global object called Store. is a JavaScript library used
for managing application state. It is used with libraries such as React or Angular for building
user interfaces.
Java EE is an abbreviation for Java Enterprise Edition. We can consider the Java Enterprise
Edition as an upgraded version of Java SE (Standard Edition).
The Java Platform, Enterprise Edition (Java EE): it is a collection of Java APIs (owned
by Oracle that software developers) we use it to write server-side applications. (It was formerly
known as Java 2 Platform, Enterprise Edition, or J2EE).
splunk: used for application management, security, and compliance, as well as business and web
analytics. used to search and analyze machine data. it can also analyze any structured or semi-
structured data with proper data modelling.
AWS: we use it as Extreme performance for applications that need microsecond latency and
support for millions of requests per second. we use AWS Lambda function which reads data
from the stream and sends the data in real-time to an Amazon DynamoDB table to be stored. The
solution also creates an Amazon Cognito user pool, an Amazon S3 bucket, an Amazon
CloudFront distribution, and real-time dashboard to securely read and display the account
activity stored in the DynamoDB table.
React: it is a front end, JavaScript library. we use it to create interactive UIs, used for building
reusable UI components, which present data that changes over time. (The create-react-app is an
officially supported way to create React applications.)
API: it is an interface which we use for interactions between multiple (software) intermediaries.
When you use an application on your mobile phone, the application connects to the Internet and
sends data to a server. The server then retrieves that data, interprets it, performs the necessary
actions, and sends it back to your phone. The application then interprets that data and presents
you with the information you wanted in a readable way.
DIFFERENCE: Whereas Waterfall includes several testing and bug fixing cycles before releasing
a product, Scrum is far more collaborative and iterative. One of the biggest differences is that
Waterfall calls for heavy documentation early on. This documentation makes it harder to change
features as the process goes on, which may be a negative in some environments.
The Spring MVC RestTemplate class is, by nature, blocking. Consequently, we do not want to
use it in a reactive application. For reactive applications, Spring offers the WebClient class,
which is non-blocking. We use a WebClient implementation to consume our RESTful service:
Client:
Jan 2019 to Till Date
Role: Java Full Stack Developer
Skills:
Agile, JavaScript, HTML5, CSS3, jQuery, Bootstrap and Angular 7 and REDUX, GUI,
Agilemethodology: (steps: Iteration, Re-factoring, Dynamic code analysis, Short feedback cycles,
Reviews and inspection, Standards and guidelines, Milestone reviews). We follow in TDD (test
driven development) where the tests are typically technical-facing unit tests.
Scrum is a framework that helps agile teams work together to develop, deliver, and sustain the
complex product in the shortest time. The product provides by scrum team in this shortest period is
known as a sprint.
JavaScript, HTML5, CSS3, jQuery, Bootstrap and Angular 7 and REDUX for created
responsive GUI Interface.
JSON requests, JSON responses: from front end to front end.JSON is just a way to represent data
objects when transmitting them across the Internet. It is an alternative to XML that is native to
JavaScript. The most common use for JSON is pulling data from web servers on demand.
Angular:Angular is an application design framework and development platform for creating
efficient and sophisticated single-page apps.Components are basically classes that interact with
the .html file of the component, which gets displayed on the browser. angular components are
(services, controller, view/directives), (container component—store view component), (app, menu,
content, article, ad components).
Reactive web applications:Reactive applications build on top of components that communicate
asynchronously as they react to user and system events.
Spring MVC: (The Spring Web model-view-controller (MVC)) it is a framework designed around a
DispatcherServlet, we use it to handle all the HTTP requests and responses. it is a module of
the Spring framework dealing with the Model-View-Controller, or MVC pattern. It combines all the
advantages of the MVC pattern with the convenience of Spring. Spring implements MVC with the
front controller pattern using its DispatcherServlet.
Spring Core:
Spring Boot: is a Java-based framework used to create a micro Service. We use it to build our stand-
alone and production ready spring application.
Spring JDBC:
Spring DAO:
Hibernate: we use it for query service, for mapping from Java classes to database tables (and from
Java data types to SQL data types). I use XML formatted file hibernate.cfg.xml to specify required
Hibernate properties. used to store, manipulate, and retrieve data from the database.
REST API:to use a lot of methods to get the required information -- GET to retrieve a resource; PUT
to change the state of or update a resource, which can be an object, file or block; POST to create that
resource; and DELETE to remove it. (The REST API creates an object, and thereafter sends the
values of an object in response to the client. It breaks down a transaction in order to create small
methods. Now, each of these methods is used to address a specific part of the transaction. )
Swagger:we use it to make the machine understand or…. to describe our APIs structure so that
machines can read them, describing RESTful APIs expressed using JSON.
Kafka: We use it for processing streaming data in real-time and we use it for messaging purpose. We
also use it to connect to external systems (for data import/export) via Kafka Connect and
provides Kafka Streams, a Java stream processing library.
Data Access Objects:The Data Access Object (DAO) pattern is a structural pattern that allows us to
isolate the application/business layer from the persistence layer (usually a relational database, but it
could be any other persistence mechanism) using an abstract API.The functionality of this API is to
hide from the application all the complexities involved in performing CRUD operations in the
underlying storage mechanism.
JDBC (Java Database ConnectivityAPI):we used to write programs required to access databases.
This JDBC component enables you to access databases through JDBC, where SQL queries
(SELECT) and operations (INSERT, UPDATE, etc) are sent in the message body. This component
uses the standard JDBC API, unlike the SQL Component component, which uses spring-
jdbc.creatingstatements, and Executing in the database, Modifying the resulting records.
NodeJS:JavaScript run-time environment, we use it to write server-side code. (Node.js runs the V8
JavaScript engine). (Node.js is based on an event-driven architecture and a non-blocking
Input/Output API that is designed to optimize an application's throughput and scalability for real-time
web applications. Over a long period of time, the framework available for web development were all
based on a stateless model).
MongoDB: we use it as as a Document database. Since it includes text search, it is convenient when
looking for specific parameters in documents and allows businesses to scale it without any downtime.
(In document databases, the basic concept of table and row in compare with SQL database has been
changed. Here row has been replaced by the term document which is much more flexible and model-
based data structure). (MongoDB can analyze data of any structure directly within the database,
giving you results in real time, and without expensive data warehouse loads. Why Other Databases
Fall Short Most databases make you choose between a flexible data model, low latency at scale, and
powerful access).
CI/CD: is a set of practices that automate the building, testing, and deployment stages of software
development.
Continuous Integration (CI) is a development practice that requires developers to integrate code
into a shared repository several times a day. Each check-in is then verified by an automated build,
allowing teams to detect problems early.
CD (continuous delivery or continuous deployment): we use it for a quick method of delivering
the code to end-users.
Jenkins: To troubleshoot and audit past events, we use it to support building, deploying, and
automating our project. Jenkins is the ultimate server in that it offers a way to configure CI and
provides the complete foundation for working with any set of languages or source code repositories.
Maven: we use it as a comprehension tool primarily used with Java-based projects. We mainly use it
because it can download the project dependency libraries automatically. (Maven helps manage
builds, documentation, reporting, dependencies, software configuration management (SCM), releases
and distribution). (To configure the Maven, you need to use Project Object Model, which is stored in
a pom.xml-file).
Log4j: (save as log4j jar File in our project, configuration in XML file format, logging package
written in Java). With logs, we will be able to review information about past application activities,
such as stack trace when an error occurred or exception happen.
Mockito:It lets you write beautiful tests with a clean & simple API. Mockito does not give you
hangover because the tests are very readable,you know it produces clean verification errors. It is just
like mocks!!
Postman:: we use it for better organizing the collections and API elements (mock server, monitors,
tests, and documentation) generated from API schemas by using the advanced preferences.
SoapUI:(Simple Object Access Protocol) we use it for XML-based messaging protocol. we also use
it for web services over data transfer. For invoking remote methods.
GitHub:In GitHub I will fork the code from branch and clone it in my local and do the required
changes related to the ticket and raise a pull request. Then will get it reviewed by the leads and if
there are any changes will do them and raise another pull request. One more thing is that I use to look
of the issues faced my colleagues if there are any and try to resolve them.
Slack: as a communication platform between team members.
Spring Security: for authentication and authorization of the application.
#####(((((AWS) EC2 and Jenkins for continuous integration))))))))#####
######components of web (JAX-WS, REST, JAX-RPC):###########
Scala: is a multi-paradigm and modern programming language. It is a combination of functional
programming and object-oriented programming. It combines them in one concise high-level
language. It is easy and highly scalable hence it is called Scala. This language requires a virtual
machine i.e. JVM to run. Representative Scala Developer resume experience can include: A strong
appreciation of how to test applications efficiently and effectively Proven experience in building in
Data Driven applications using a combination of Java/Scala and the Spark framework.
Web flux:Spring WebFlux is part of Spring 5 and provides reactive programming support
for web applications. Spring web flux is a mirror version of spring MVC and it supports fully non-
blocking reactive streams. Spring web flux internally uses a project reactor which is one of the
implementations of the reactive library.
AWS Lambda: AWS Lambda lets you run code without provisioning or managing servers. You pay
only for the compute time you consume - there is no charge when your code is not running. With
Lambda, you can run code for virtually any type of application or backend service - all with zero
administration. Just upload your code and Lambda takes care of everything required to run and scale
your code with high availability. You can set up your code to automatically trigger from other AWS
services or call it directly from any web or mobile app.
AWS Dynamo:Amazon DynamoDB is a key-value and document database that delivers single-digit
millisecond performance at any scale.Amazon DynamoDB provides low-level API actions for
managing database tables and indexes, and for creating, reading, updating, and deleting
data. DynamoDB also provides API actions for accessing and processing stream records.
JavaScript (ES6):ES6 made it easier to utilize metaprogramming in JavaScript with the help of
proxies and many similar features. ES6 proxies facilitate the redefinition of fundamental operations
in an object, opening the door for a wide variety of possibilities. In this guide, we’ll show you how to
apply ES6 proxies in practical situations.
AWS SNS/SQS:the main differences are: SNS use push mechanism and SQS use polling
mechanism. SNS message can push messages to mobile devices or other subscribers directly. SNS
cannot persist the message but SQS can.
Amazon SNS allows applications to send time-critical messages to multiple subscribers through a
“push” mechanism, eliminating the need to periodically check or “poll” for updates. Amazon SQS is
a message queue service used by distributed applications to exchange messages through a polling
model and can be used to decouple sending and receiving components—without requiring each
component to be concurrently available.
AWS S3:With Amazon S3, you can upload any amount of data and access it anywhere in order to
deploy applications faster and reach more end users. Storing data in Amazon S3 means you have
access to the latest AWS developer tools, S3 API, and services for machine learning and analytics to
innovate and optimize your cloud-native applications.
Pivotal Cloud Foundry (PCF): This Quick Start automatically deploys Tanzu Application Service
(TAS)—previously known as Pivotal Cloud Foundry (PCF)—into your Amazon Web Services
(AWS) account.
TAS is a cloud-native platform for deploying and operating modern applications. You can build
your applications in Spring or .NET, and then deploy your code to the platform. TAS does the
rest, handling much of the operational complexity for you.
Deploy and run your Spring Boot apps with little or no modification. Most .NET apps
that use the Hosted Web Core framework can be immediately migrated to TAS.
Instantly reap operational efficiencies with built-in monitoring, logging, rapid scaling,
and four layers of high availability.
Use the TAS Service Broker for AWS to enhance your applications with AWS services
such as Amazon Relational Database Service (Amazon RDS), Amazon Simple Storage
Service (Amazon S3), Amazon DynamoDB, and Amazon Simple Queue Service
(Amazon SQS).