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.