software-developer
Skill: Software Developer
Summary
A Software Developer designs, builds, tests, and maintains software systems that solve real-world problems.
They translate requirements into working code, collaborate across disciplines, and continuously improve systems through iteration and learning.
This skill applies across web, mobile, backend, embedded, and distributed systems.
Scope of Practice
A Software Developer may work on:
- Applications (web, mobile, desktop)
- Backend services and APIs
- Data processing and integration
- Infrastructure-adjacent code
- Automation and tooling
- System maintenance and evolution
The role spans the full lifecycle: idea → implementation → deployment → operation → improvement.
Core Capabilities
1. Problem Solving
- Breaks down ambiguous problems into solvable components
- Selects appropriate technical approaches
- Balances correctness, performance, and maintainability
2. Programming
- Writes clear, readable, and maintainable code
- Understands data structures and algorithms
- Applies language-specific best practices
3. System Design
- Designs modular and composable systems
- Understands trade-offs between architectures
- Considers scalability, reliability, and security
4. Testing & Quality
- Writes and maintains automated tests
- Debugging and root-cause analysis
- Refactors code to reduce technical debt
5. Collaboration
- Works effectively with designers, product, and other engineers
- Participates in code reviews
- Communicates technical decisions clearly
Knowledge Areas
- Programming languages (at least one primary)
- Software design patterns
- Version control systems
- Development workflows
- APIs and data formats
- Basic security principles
- Operating systems and runtime environments
Tools & Technologies (Indicative)
- Code editors / IDEs
- Version control (e.g. Git)
- Build and dependency tools
- Testing frameworks
- Issue tracking and documentation tools
- CI/CD pipelines
(Exact tools vary by environment and stack.)
Responsibilities
- Implement features according to requirements
- Maintain and improve existing systems
- Identify and fix defects
- Contribute to technical documentation
- Participate in planning and estimation
- Uphold code quality and team standards
Outputs & Evidence
Evidence of this skill may include:
- Working software applications
- Source code repositories
- Tests and documentation
- Technical designs or diagrams
- Contributions to shared codebases
- Operational improvements or automation
Ethical & Professional Considerations
- Writes software responsibly and securely
- Respects user privacy and data protection
- Acknowledges limitations and risks
- Seeks peer review and continuous improvement
Skill Growth Indicators
Progression in this skill is demonstrated by:
- Increasing autonomy in problem solving
- Better architectural judgement
- Improved code quality and maintainability
- Ability to mentor or support others
- Broader system-level understanding
Related Skills
- Systems Engineering
- DevOps / Platform Engineering
- Security Engineering
- Data Engineering
- Product Engineering
- Technical Writing
Notes
This skill definition is intentionally stack-agnostic and role-neutral.
Specialisations (frontend, backend, mobile, embedded, etc.) can be layered on top as extensions.
More from selfdriven-octo/skillzeb
mechanical-engineer
Ability to design, analyse, test, and maintain mechanical systems and components that meet defined functional, safety, and performance requirements. Includes applying engineering principles to materials, structures, thermodynamics, fluid mechanics, and motion systems; producing and interpreting technical designs and specifications; validating designs through analysis and testing; and supporting manufacture, operation, and lifecycle management. Applies across industrial, infrastructure, energy, manufacturing, and product contexts and is independent of specific tools or industries, with human accountability retained for safety, compliance, and outcomes.
66industrial-engineer
Ability to analyse, design, optimise, and improve systems that integrate people, processes, technology, and resources to meet defined performance, quality, cost, and safety requirements. Includes applying engineering, statistical, and systems methods to model workflows, identify inefficiencies, evaluate trade-offs, and implement improvements across operations and supply chains. Applies across manufacturing, services, logistics, healthcare, and infrastructure contexts and is independent of specific tools or industries, with human accountability retained for decisions, outcomes, and impacts.
35project-management-specialist
Ability to plan, coordinate, and control projects to achieve defined objectives within agreed scope, time, cost, quality, and risk constraints. Includes defining project plans, managing resources and stakeholders, tracking progress, addressing issues and risks, and adapting delivery in response to change. Applies across technical, organisational, infrastructure, and service contexts and is independent of specific methodologies or tools, with human accountability retained for decisions, governance, and outcomes.
10computer-and-information-systems-manager
Ability to plan, direct, and oversee the development, operation, and governance of information systems to meet organisational objectives. Includes aligning technology strategy with business needs, managing teams and resources, ensuring system reliability and security, overseeing budgets and vendors, and governing risk and compliance. Applies across public and private sector contexts and is independent of specific technologies or platforms, with human accountability retained for strategic decisions, assurance, and outcomes.
7selfdriven-ecosystem
Build selfdriven Foundation ecosystem properties — branded webapps, documents, APIs, and organisational frameworks. Use when the user mentions selfdriven, selfdriven.money, KERI/ACDC identity, Areas of Focus, Human Conductor models, or the selfdriven brand palette (flamingo #C8442F).
1