Job Description: Software Engineer
Create low-incident, maintainable, and requirement conform software. Support your teammates to grow, and resolve issues and incidents.
Create maintainable, secure, high quality, reliable, requirement conform software and operational environments.
- You implement code changes according to requirements.
- Any question, ambiguity or incapability about your assigned tasks is promptly communicated to your project manager.
- Every deliverable you work on can be and is quality-assured.
- You ensure correct tooling is used across projects.
- You automate repetitive tasks.
- You identify potential project inefficiencies and communicate them to your project manager.
- You ensure that the software you build is maintainable.
- You deliver your results on time.
- Before handing over results you test them as if you were the person you hand it over to.
- You estimate your assigned tasks with great care.
- Any delays, or problems you encounter are communicated accordingly to your project manager.
- Any time you’re stuck you seek help from a colleague, the latest after 30 minutes.
- You own your tasks:
- Document the progress of your tasks daily
- Help your colleagues with issues and questions about your code/features
- Stay within your estimation
- You share your ideas and newly learned skills with your colleagues.
- You show up prepared and on time for your meetings.
- You create reviewable Pull Requests and review the work of your colleagues.
- Creating value based on provisioned IT infrastructure
- You strive for maximum security, performance, and uptime.
- You ensure developability/testability for your peers (testing and handover in staging systems).
- You communicate outages and potential issues to your project manager.
- You create observable infrastructure.
Function: Maintenance
Responsibilities and Tasks
- You ensure the software is up-to-date according to maintenance requirements.
- You audit and report the state of software projects.
- You create overviews about who has access to what and maintain proper permission distribution. Any obstacles or ambiguities is reported promptly to your project manager.
- You create forecasts for the updatability of your projects and report them to your project manager.
- You expand and update the project’s documentation - README, Issues, Documents, and Wiki pages.
- You ensure the developability of the project.
- Project setup should take < 30 minutes for developers
- All needed commands and tools are documented.
- Quirks and flaws are documented.
- You create and update the onboarding guide of projects.
- You fix bugs reported by the client, the team or Sentry - according to the maintenance sprint planning (corrective maintenance).
- You ensure continuous and future operability of a project (preventive and perfective maintenance).
- Monitoring and alerting are created and maintained by you.
- You identify potential security risks or issues and report them to your project manager.
Function: Incident Handling
Responsibilities and Tasks
- You handle indents by the following pattern: Response - Plan - Execution - Deployment
- You acknowledge the assigned incident.
- You create a plan on how to deal with the incident and communicate it.
- You execute the plan according to the given constraints (e.g. time constraint, data constraints given by the client - potential outage - deployment after 4 pm)
- You deploy the executed plan and communicate the progress on the issue.
- You are available to the given on-call duty plan. You respond within the given SLA time frame.