Job Description
United States
Full job description
API Developers power the digital revolution
Learn more about joining the API development team at Near BPO.
Educational Requirements
Bachelors: Engineering or Computer Science / Physics / Mathematics / Applied Mathematics
Languages: Conversational and Technical English
Experience Requirements
The following requirements will be evaluated during the interview.
The items in red could be tested during the interview.
The items in black will be closely evaluated and you must have recent experience and use (less than 3 months since last use)
Development in Linux
- Be able to define session variables, environment variable, and global environment variable
- Be fluent with curl command
- Be fluent with ssh command
- Be fluent with scp command
- Be fluent with either rsync or rcp command
- Be fluent with commands find, grep, sed, cat, touch, head, tail, tar, chmod, chown, wget, zip, unzip, alias, ps, kill, and echo
- Understand and use of linux pipe and redirect capabilities
- Understand and describe the behavior of a process and sub-process and how it affects pipes
- Be fluent in bash shell
- Create scripts using bash programing
HTTP Protocol
- Understand the differences between HTTP 1.0 and HTTP 1.1
- Understand HTTP Headers and their usage
- Understand HTTP Methods/Verbs and their common usage
- Fully understand how HTTP request and response is conformed.
- Understand how caching works at both sides client and server and what HTTP headers are commonly used
Web Services development
- Understand Web Service Definition Language (WSDL) documents
- Defining openapi specifications using swagger 2.0 and 3.0
Node.js development
- Develop Node.js applications using express
- Integration test with cucumber.js
- Implement test cases using Selenium
- Implement unit tests using mockito, chai, sinon
Java development
- Implement unit test using TestNG
- Build a Java application using maven strictly through command line
- Deep knowledge in Java Object Oriented Programing features:
- Inheritance
- Overloading
- Encapsulation
- Polymorphism
- Abstraction
- Strong knowledge for:
- Coupling
- Cohesion
- Association
- Aggregation
- Composition
- Create REST services using Spring RestTemplate
- Interact with SQL databases using Spring Jdbc Templates
Maven builds
- Create a maven project from scratch
- Deep understanding of maven goals
- Deep understanding of maven phases
- Deep understanding of how maven plugins work. Plugin creation is a plus
- Deep understanding of how maven profiles work
- Be able to define a maven profile in a maven project
- Be able to describe end-to-end the build lifecycle of a maven project given its goals, phases, and profiles
- Understand and create a maven project using a Project Inheritance strategy
- Understand and create a maven project using a Project Aggregation strategy
- Execute a maven build strictly from command line by indicating properties, goals, phases, and plugins as required
- Be able to publish artifacts to a maven repository