Overview
Skills
Job Details
Work Description
Provide professional software development services to extend Cameo Systems Modeler tool by implementing/enhancing the following custom capabilities utilizing Cameo Systems Modeler Open API and Teamwork Cloud Open API:
- Incremental data imports/exports (CSV, JSON, XML, Rest API)
- Incremental data transformations (flattening, filtering, grouping)
- Diff capabilities
- Diagramming usability enhancements
- Diagrams publishing (Radar, Box, Confluence, Cameo Collaborator)
- Queries for custom system analysis reports
- System design check rules
- Jobs automation on server (e.g. upon system model release execute transformations, system checks, diff and publish results and diagrams)
Use and maintain DevOps environment including:
- GitHub repository for code versioning
- IntelliJ IDEA project setup
- Gradle for build tasks automation
- Jenkins-like software build system
- SonarCube for static code analysis
- JUnit for unit testing
- JIRA for task management
Collaboration Description
We are looking to onboard assigned software developers as Apple onsite vendor representatives and equip them with Apple-owned laptops to enable working in Apple Network. While the people can work part-time for Apple, the preference is to have fewer people who are working mostly for Apple, since there is a significant investment of time understanding Apple methods and tools and an existing base of 100,000+ lines of Java code. The assigned developers would be insourced to work as a part of EES Dev team (as opposed to outsourcing work) and work on time/material basis on the tasks that will be assigned by EES Dev team member leading this project. The team will utilize Scrum or Kanban method for coordinating work and utilize JIRA for tasks management. The assigned people will work off-site but should be able to come over for onsite visits in Cupertino 1-4 times a year to hold collaborative workshops. We need to maintain the same people providing services to us due to large investment in onboarding and knowledge transfer.
Required Skills
The assigned software developers should have:
- At least 5 years of professional software development experience
- At least 1 year of experience implementing Cameo Systems Modeler plugins
- At least 3 years of experience using Systems Modeling Language (SysML) and solid understanding of its data structures (metamodel)
- General understanding of Model Based Systems Engineering (MBSE)
- Solid Java programming skills
- Object Constraints Language (OCL) programming skills
- Working knowledge of Cameo Systems Modeler (aka MagicDraw) Open API
- Working knowledge of Teamwork Cloud Open API
- Working knowledge of GitHub
- Working knowledge of JIRA
- Ability to comprehend loosely specified needs and interact with users to refine them and figure out missing details
- Ability to work as a part of a team utilizing Scrum or Kanban methods
A small development assignment will be utilized to validate the skills and ability to perform tasks like the ones listed in Work Description.
Scalability
We are initially looking for at least two part-time resources, with a total load of 1 FTE, but potentially may need to scale up to 2 FTE or 3 FTE. A minimum resource assignment for a person to be onboarded is 0.25 FTE. We need vendor to provide estimated scenarios for each load and indicate people that they could assign to support 1 FTE / 2 FTE / 3 FTE workload.