JD For Senior Engineer PostgreSQL Development
Customizing the open-source PostgreSQL code requires robust set of technical skills. Here are the key skill sets needed for this type of work:
- Proficiency in System-Level Programming C and strong understanding of Memory management in C
- Understanding of B-trees, hash tables, algorithms, query optimization techniques, Performance optimization and Replication & Clustering
- Version Control (Git): Proficiency with Git for version control and experience with managing open-source contributions, including forking repositories, managing pull requests, and applying patches.
- Contributing to Open Source Projects: Familiarity with the processes and community etiquette involved in contributing to large open-source projects like PostgreSQL.
- Linux/Unix Proficiency: Should have an understanding of portability across various platforms (Linux, macOS, Windows).
- Profiling & Debugging Tools: Expertise with tools like GDB, Valgrind, strace, and perf for profiling performance bottlenecks and debugging complex issues.
- System Tuning: Knowledge of OS-level performance tuning to optimize database interaction with memory, CPU, and disk I/O.
- Scripting Languages: Proficiency in scripting languages like Python, Perl, or Shell for automating tasks and integrating new features with PostgreSQL extensions.
- Documentation: Ability to create detailed technical documentation of changes, new features, and instructions for building and deploying the modified PostgreSQL fork.
- Collaboration Tools: Familiarity with collaborative development environments (e.g., GitHub, GitLab), issue tracking systems (e.g., Jira), and CI/CD pipelines.