Participates in and supports the planning of product, platform, and/or software development life cycles by assisting the team with initial determination of applicable specifications, requirements, systems and concepts to produce the desired output
Participates in the implementation of software development life cycles and specifications, including supporting of mapping out work plans, under supervision
Supports the creation, installation and integration of tools or software languages needed per output in the work plan, under supervision
Coordinate with program project team to analyze user needs and software requirements to determine feasibility of design within time and cost constraints
Assist program project team to analyze information to determine, recommend, and plan installation of a new software program or modification of existing software
Proactively collaborate with others to resolve information technology issues
Supports the Principal Software Developer and team leads with mapping out detailed requirement specifications, communicates with other key team members and/or customers members
Collaboratively works with entire project team to ensure desired requirements and objectives are clear and clarified to all team members including Database Developers, User Experience (UX) designers, Quality Assurance (QA) testers, product managers, etc.,
Ensures proper use of desired Software Requirement Specification (SRS), and clearly defines and documents the product requirements, under supervision
Consult with managerial, engineering, and technical personnel to clarify program intent, identify problems, and suggest changes
Translate software project security requirements into application design elements including documenting the elements of the software attack surfaces, assist in conducting threat modeling, and defining any specific security criteria in the specification re
Assist development team in the identification of basic common coding flaws at a high level and then implement mitigation plans
Support team in development of secure test plan development and design (e. g. unit, integration, system, acceptance, etc)
Supports the software product development team/ QA testers in preliminary quality assurance requirements assessments & potential risk assessments, under supervision
Participates in and supports designing software or platform with the project/product team
Supports the UX team, or appropriate team members, with software design and structure of the software as it relates to implementation, its data models, interfaces between system components, and if applicable, the algorithms used, under supervision
Prepare detailed workflow charts and diagrams that describe input, output, and logical operation, and convert them into a series of instructions coded in a computer language
Provides input for the initial identification and development of the best prototype suited for the project, if any; supports identification of appropriate languages, operating systems, and monitoring methods applicable for the final program
Assist team in implementing best cybersecurity and privacy principles to organizational requirements design to ensure confidentiality, integrity, availability, authentication, non-repudiation techniques
Confer with systems analysts, engineers, programmers and others to design systems and to obtain information on project limitations and capabilities, performance requirements and interfaces
Supports the development and assembly of the software, platform, or product
Follows the company-specific source code management processes, including enterprise-wide version control system while designing and developing secure software applications
Compile and write code documentation of program development and subsequent revisions, inserting comments in the coded instructions so others can understand the program
Assist team in development of software programs that validate and process multiple inputs including command line arguments, environmental variables, and input streams
Support team in developing applications that can log and handle errors, exceptions, and application faults and logging
Participates in building the program using the appropriate languages and/or applicable development methods
Design coding countermeasures and mitigations against potential exploitations of programming language weaknesses and vulnerabilities in system and elements
Correct programming errors by making appropriate changes and rechecking the program to ensure that the desired results are produced
Apply coding and testing standards, apply security testing tools including static-analysis code scanning tools, and conduct code reviews
Supports testing and debugging; participates in integration and deployment
Participates in recognizing concepts to determine Continuous Integration (CI)/Continuous Delivery (CD) configuration, supports building and applying CI/CD integrations for manual and/or automated functionalities
Supports close monitoring to identify issues and reports them in a clear and concise way to senior team members
Assists team in performing root cause analysis, if applicable
Perform or direct revision, repair, or expansion of existing software programs to increase operating efficiency or adapt to new requirements
Evaluate team code to ensure that it is valid, is properly structured, meets industry standards, and functional requirements
After issue is reported, clearly tracks and works with team to fix, and re-test until quality standards are met
Makes extensive, detailed notes when any changes are made and/or to clarify why a function must remain the same in a clear way for other team members
Write or contribute to updating of instructions or manuals to guide end users
Supports integration and test phase, properly notes progress relevant to project success using best practices
Participates in ongoing monitoring of platform, software, or application under project requirements, and supports with providing maintenance, troubleshooting assistance, and applies problem solving capabilities as applicable, under supervision
Interested in this apprenticeship?
Sign up to receive notifications about changes and updates about Software Developer.