Job Description :
Overall Purpose:
This position designs, develops, tests and maintains software product applications.

Essential Functions:
Design, develop, document, test, and debug new and existing software systems and applications.
*Serve as technical expert on development projects.
*Drives full development life cycle including requirements analysis and design.
*Write technical specifications based on conceptual design and stated business requirements.
*Support, maintain, and document software functionality.
*Identify and evaluate new technologies for implementation.
*Analyze code to find causes of errors and revise programs as needed.
*Drive software design meetings and analyze user needs to determine technical requirements.
*Consult with end user to prototype, refine, test, and debug programs to meet needs.
*Complies with all security policies and procedures, to ensure that the highest level of system and data confidentiality, integrity and availability is maintained.

Desired Skills:
Automation:
*Ability to use Unix/Linux command line programs and create/edit scripts.
*Able to analyze results of automated deployment scripts and makes modifications.

Design:
*Able to prepare detail design documents from requirements.
*Familiar with Reporting tools such as Crystal Reports, Jasper Reports, BIRT, etc.
*General understanding of software environments and network topologies.
*Able to demonstrate OOA/OOD skills.
*Demonstrable understanding of distributed, component based architecture
*Working knowledge of networking and/or telecommunications protocols
*A solid understanding of event driven / asynchronous programming and multi-threading
*Demonstrable technical design skills (UML experience a plus)
*Familiar with TDD/BDD.
*Familiar with SOA framework, web services, etc.

Coding:
Common Developer Skills:
*Competent (5+ years) Java or C# or C++ or Objective-C language programming skills.
*Competent with SQL or PL/SQL and relational database concepts.
*Experience with source code control systems.
*Experience with secure programming techniques is highly desirable
*Able to perform code reviews to ensure the code meets the acceptance criteria.
*Mobile Developer
*5+ years of experience in projects using Java, C++, Objective-C, or Swift
*2+ years design, implementation and unit testing of mobile applications
*A solid understanding of event driven / asynchronous programming and multi-threading
*Working knowledge of networking and/or telecommunications protocols
*Experience/High comfort level with application layer technologies/protocols including HTTP, XML

Web Developer:
*5+ years of experience with application layer technologies including HTML/CSS, XML, JavaScript, JSON, and REST
*3+ years of experience with web and application servers such as IIS, Apache HTTP/Tomcat, IBM Websphere, Oracle WebLogic, JBoss, GlassFish, etc.
*Experience with other computer languages like C#, Ruby, Python, and PHP is a plus

Testing:
*Able to maintain test scripts as needed.
*Prepares test strategy, test plan, test cases, and test summary documents.
*Experience with automated functional software testing frameworks, such as Cucumber, *Selenium, etc.
*Performs unit, functional, load, user interface, performance, regression and system integration testing on new code or modified code prior to production releases.
*Produce and report project test metrics.
*Possess advanced knowledge of QA/QC techniques; certifications preferred
*Assists new staff on testing techniques and test methodologies


Support:
*Responsible for responding to situations in a timely manner, and meeting predetermined deadlines
*Ability to support/maintain existing products and add new features as requested by customers.
*Central point of contact for support of UAT/production applications as needed
*Keen troubleshooting skills across tiers/domains
*Ability to work on multiple projects

Collaboration:
*Agile/Lean methodologies experience
*Solid understanding of an iterative software development process
*Able to guide the team to produce estimates for all project activities and tasks.
*Responsible for eliciting user and functional requirements and ensuring they consistent and complete
*Mentor and monitor Software Engineers in the technical aspects of their assignments.

Approved background and drug screen is required.

Experience:
*Education and experience typically obtained through completion of a Bachelor''s Degree in Computer Science and/or 5 or more years of related industry experience.

Physical Requirements:
*Working conditions consist of a normal office environment. Work is primarily sedentary and requires extensive use of a computer and involves sitting for periods of approximately four hours. Work may require occasional standing, walking, kneeling and reaching. Must be able to lift 10 pounds occasionally and/or negligible amount of force frequently. Requires visual acuity and dexterity to view, prepare, and manipulate documents and office equipment including personal computers. Requires the ability to communicate with internal and/or external customers.

*Employee must be able to perform essential functions and physical requirements of position with or without reasonable accommodation.

*Candidates responding to this posting must independently possess the eligibility to work in the United States at the date of hire.

*The above job description is not intended to be an all-inclusive list of duties and standards of the position. Incumbents will follow instructions and perform other related duties as assigned by their supervisor.
             

Similar Jobs you may be interested in ..