Software Developer II
Works under general supervision, and no instructions are needed for routine work. Receives specific instructions for special assignments. Work is reviewed for sound technical judgment and overall adequacy. Provides assistance and help in developing solutions to non-complex problems. Assists with analysis of system functional and performance requirements to support establishment of a system architecture design. Develops interface definitions and controls, and the allocation of requirements between hardware, software, and operators. Prepares flow and logic diagrams and performs system-level analyses and trade studies to support selected designs. Develops earned value and proposal inputs. Provides solutions to a variety of technical problems of moderate scope and complexity, but requires guidance from more experienced team members. Submits work for technical evaluation by senior staff. Participates in product team activities. Supports the development of engineering processes, methods, and tools. Makes routine contacts with customers, teaming partners, subcontractors, and supplier.
Must have skills:
Experience with web application runtime environments, preferably JBoss/Wildfly
Experience with server-side technologies, preferably Java and SQL
Experience with UI frameworks, preferably Angular, GWT and JSP
Knowledge of database design, preferably with Oracle and MySQL
Experience with XSL
Mobile programming (i.e., Android, iOS)
Experience with Cloud environments and microservice development
Experience with development tools, preferably IntelliJ, Ant, Git, and JIRA
Requires a Bachelors' Degree preferably in Computer Science, Information Technology, or equivalent technical experience.
Preferred Degree: Computer Science or Information Technology
2 to 3 years experience in object-oriented software design and development in a professional environment .
SKILLS AND ATTRIBUTES:
Makes use of and applies job practices, techniques, standards, principles, theories and concepts.
Individual must have an aptitude for visualizing, designing and developing software systems based on user requirements.
Have an understanding of software development methodology, tools and techniques.
Exposure to a range of technologies and how they interact/integrate is a definite plus for this position.
Possess the ability to quickly understand limited business processes and work in a team environment to develop solutions to meet business needs.
Possess the interest and ability to learn new technologies and be mentored by or take direction from more experienced staff members.
Experience with configuration management tools such as ClearCase is a plus.
Must have excellent communication skills for team interaction and to document and present technical issues in a straightforward and understandable way.
Have exposure or understanding of formal software development process, commercial software, web-site development and in a team environment is a definite plus for this position.
Position requires sufficient skills, training, and experience to accomplish the implementation of software on UNIX and Windows platforms.
The position requires strong aptitude for problem solving, understanding limited business requirements and meeting those requirements with technical solutions.
Provides solutions to a variety of technical problems of moderate scope and complexity.
Assist in the design and writing of programs.
Test, debug, and document software in languages and environments appropriate to projects.
Apply software development technology, such as client/server and multi-tier architecture to overall embedded system application development and software engineering infrastructure evolution.
Work independently or with others to resolve software defects.
Interface with customers, test group personnel, and field support personnel to identify customer requirements and solve problems.
Interface with System Design and Application Development Engineers to develop custom tools for products and projects.
Create design documentation for Software Application with project management oversight.
Contributes to or updates detailed requirements with management oversight.
Participates in detailed design of modules assigned.
Participates in the integration of modules into subsystems.
Writes detailed test scripts for unit testing with project management oversight.
Executes unit tests and supports other testing with project management oversight.
Provides status and participates in project management meetings as required.
Provides estimates for assigned development activities.
Participates as assigned with other team members on system design activities.
Ensure corporate standards for development process are followed in all assigned work.
Other duties as assigned.
CDG, is an Equal Opportunity Employer. Employment decisions are made without regard to race, color, religion, national origin, gender, sexual orientation, gender identity, age, physical or mental disability, genetic factors, military/veteran status or other characteristics protected by law.
We maintain a drug-free workplace and perform pre-employment substance abuse testing.
US Person: Yes. Due to legal requirements associated with our work statements, you must be able to provide documentation indicating that you are a US Person.
We offer a competitive salary, great benefits, and a pleasant working environment.