Web application Backend Developer (Python)

Местоположение и тип занятости

Нюрнберг (Германия)Полный рабочий деньМожно удаленно

Компания

Описание вакансии

Условия работы

Relocation to Nuremberg or remote work from anywhere.

We are an international team of developers, designers, QA, documentation and deployment engineers working on open source web applications to manage Linux servers.

We love to learn, are passionate about our applications, and our prime goal is to create a great experience to our users.

We are looking for talented and passionate engineers who want to work in an open source environment in order to grow our team.

Responsibilities

You will ship code for SUSE Manager, a web-based Systems Management application used by hundreds of companies across the world.

You will influence the future of the code base, working with upstream (the Spacewalk project) and influencing design and implementation decisions.

You will also work with users to identify problems, turn them into good bug reports, provide solutions, track progress, and provide feedback back to users.

Qualifications & Required Skills

You are fluent in Python, its ecosystem (eg. Flask, SQLAlchemy, requests, Nose, Tornado), and best practices.

You have practical experience with databases (Postgresql, Oracle) and schema design. Ability to do performance tuning is a plus.

You have experience designing application backends and scalable services.

You are passionate about creating excellent software which meets the goals of its users.

We value as a plus knowledge of the Java language and its ecosystem, build tools, servlet containers, debugging techniques, performance tuning, etc. (eg. Tomcat, Struts, Hibernate)

Experience with High Availability and scaling of applications is also a plus

Confidence with Configuration Management practices and tools, in particular SaltStack (http://saltstack.com/), is also a plus Team player. We have built a great working environment and we look only to make it better.

We expect you should be autonomous and work in a results oriented style.

You feel comfortable working in an agile development model. You are proficient in English.

You understand the open source development processes and culture.

You are comfortable with code reviews, critiques, and patches - In both directions.

You're passionate about continuous integration, test driven development, and are used to write automated tests for your code. (Jenkins, JUnit, Selenium, Cucumber, etc.)

You understand the Linux Operating System and its low level interfaces (e.g. C, POSIX), development tools (gcc, gdb, git). Familiarity with packaging software for Linux (eg. rpm, deb) is a plus.

Бонусы

- Direct contact with representatives of free/open source software projects worldwide. - Regular hackathons (Hack Weeks) and workshops on the company, department, and team levels. - Five weeks vacation. (*) - Contributions to pension insurance or capital life insurance. (*) - Other common employee benefits (food coupons, health care, sports and cultural activities). (*) - Free beverages. (*) - We know how to party. - We celebrate success. (*) Reference for the example benefits is the office in Germany. They may vary across hiring locations.

Дополнительные инструкции

Please provide a link to at least one of the following challenges together with your application. It can be a URL, Git repository or a Github Pull Request depending on the challenge. You can send your application as soon as you sent your Pull Request or git repository and then continue interacting with the developers while your application is reviewed. Challenge #1 Install Spacewalk nightly (http://www.spacewalkproject.org/) with PostgreSQL backend on a Virtual Machine Checkout this simple project: https://github.com/SUSE/spacewalk-osad2 Look at the README and understand what it does. Implement a missing feature, code improvement or open issue and create a Pull Request. Discuss with the developer that looked at your Pull Request. Challenge #2 Install Spacewalk nightly (http://www.spacewalkproject.org/) with PostgreSQL backend on a Virtual Machine Configure any kind of High Availability replication for the PostgreSQL RDBMS, making sure the correct server is used in case of failover at least for the Java portion of the Web UI, or propose a configuration based on a pooling server (pgpool, pgbouncer…); Document the steps needed to implement the above together with a discussion over advantages and disadvantages of the chosen approach. Ideally, use vagrant (https://www.vagrantup.com/) and/or SaltStack (http://saltstack.com/). Challenge #3 Install Saltstack (http://www.saltstack.com) on a pair of virtual machines and create a master/minion configuration. Ideally, use Vagrant for automating the setup (https://www.vagrantup.com/). Understand how Saltstack works and the concepts of modules, states, beacons, etc. Implement a new execution/state, beacon, or authentication module of your choice. Point us to the source code.