Participates in and supports designing software or platform with the appropriate 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
Participates in the 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
Supports the development and assembly of the software, platform, or product
Applies best practices to the company-specific source code management processes
Continues to support identifying program and project changes or newfound needs as the software or system is formed, apply such project changes or needs effectively under direction from Principal Developer or applicable team members
Participates in building the program using the appropriate languages and/or applicable development methods
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 application of prototyping methods, if applicable
Supports close monitoring to identify issues and reports them in a clear and concise way to senior team members
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
Supports integration and test phase, properly notes progress relevant to project success
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
Knowledge of programming languages used by the organization
Study and learn the basic programming languages used by the organization to develop applications. Use these languages to develop parts of a new application or small new applications.
Know the programming languages used by the organization for application development.
Applications (or parts of application) developed are accepted.
Knowledge of how to review an application's code as part of a peer group
Participate in a review of an application's code as part of a peer group. Document the group's findings and recommendations for changes to or reworking of the code.
Know how to participate in peer code review.
Understanding of the review process and resulting documentation is judged adequate by mentor.
Knowledge of how to revise and adapt existing code to meet emerging requirements
Participate on a software team that revises and adapts existing codes to meet emerging requirements. Revise and adapt parts of the existing code.
Know how to revise and adapt existing application code to meet emerging requirements.
Mentor judges the participation and code adaptations and revisions effective.
Knowledge of the process for developing a test plan for an application
Participate on a team developing a test plan for a new or revised application. Assist in developing testing requirements and structuring parts of the required tests.
Know the process for developing a test plan for an application.
Participation considered effective by team and mentor.
Ability to perform validation testing on new applications
Participate on a team conducting testing of a new or revised application in accordance with the test plan. With other members of the team, perform a comprehensive set of specific tests and document results.
Know how to perform tests for a new application in accordance with a test plan.
Testing is conducted effectively and results are fully documented. Ability to conduct all needed tests as demonstrated to the mentor.
Knowledge of how to interpret test results and make recommendations
Participate on a team conducting testing and validation of an application in accordance with the test plan. With other members of the team, review the results of the testing and develop findings and recommendations for and changes needed to the applicati
Know how to interpret test results and make recommendations.
Knowledge of how to support user acceptance testing
Study and learn how user acceptance testing is conducted for an application. Review the results of the user testing that was conducted and develop findings that show how the results affected the application in terms of revisions and user acceptance. Pre
Know how to support user acceptance testing.
Findings presented show an effective understanding of user acceptance testing.
Knowledge of how to instrument an application to understand user activity
With senior member of application team and product lead understand behaviors of interest
Implement analytics tracking code
Working with senior member and/or data science verify data is reported correctly.
Ability to decompose software application systems
Review, discuss and learn about the primary software application systems used by the organization including; identifying customers of the systems, functions performed by the system, administrators of the system, technologies used by the systems, etc.
Know the functionality of the organizations primary software application systems.
Knowledge of how to transition an application to a new system
Participate on a team to transition an existing application to a new system. With a senior team member, review the new system hardware and software support requirements and develop a transition plan for a segment of the application. Assist in the transi
Know how to transition an application to a new system.
Knowledge of and participation in the transition judged effective by team and mentor.
Knowledge of how to maintain and support applications
Study, learn and practice the organization's procedures and methods for maintaining and supporting applications. Review the maintenance plan for a simple application and conduct the maintenance and support of the application for 2 months and document all
Know how to maintain and support applications.
Mentor judges the maintenance and support provided to be timely and effective based on observations and documentation.
Knowledge of how to evaluate, implement and document application enhancements
With a senior member of the application maintenance team, evaluate and select one performance improvement or application change indicated by business rule changes or additional/changing customer requirements. Assist in developing an update to the applica
Know how to evaluate, implement and document enhancements.
Development and implementation considered effective by maintenance team and mentor.
Knowledge of common information security risks and threats
Review, discuss and learn the importance of Information Systems Security. Understand the importance of protection mechanisms.
Know the common information security risks and threats.
Completion of video training and a monitored discussion with organization security personnel on the importance of IT security practices.
Understand how cloud computing architecture and security works
Demonstrate technical proficiency in cloud application and products such as AWS
Understand the basic principles of cloud architecture and the various offerings of Amazon Web Services
Demonstrate technical proficiency in inspecting, troubleshooting, and modifying cloud infrastructure
Demonstrate a strong foundational understanding of the risks of cloud-based solutions and how to secure them
Understand cloud provider security model
Understand how to monitor cloud deployed asset
Learn how to navigate cloud providers dashboard
Understand the catalog of cloud services available.
Interested in this apprenticeship?
Sign up to receive notifications about changes and updates about Application Developer.