A Day in the Life
This position will be part of the Fireware team, WatchGuard Engineering Department.
Within the team, you will be responsible for the development of the macOS client applications, interacting with the establishment of secure VPN tunnel, communication to backend infrastructure supporting various authentication methods and securely storing configuration, licensing and certificates. Furthermore, it may be necessary for the client to interact with interception layer modules, both the interception modules for file and process operations, and network operations. Acting as support for the developments on the Windows and Linux platforms of these modules.
You will be dedicated to the evolutionary maintenance and to the resolution of both customer and internal incidents of macOS client application. You will also be engaging with product management and customer support to understand customer feedback and needs.
You will demonstrate effective technical leadership, take decisions, and drive the development activities in the right direction. It is possible that in your role you may be involved with more than one project at the same time, and being the owner means that you must assume responsibility for what you and your teams are doing.
You will coordinate with the QAs team for functional validation and definition of the test checklists.
Additionally, you will work on the documentation of the modules, resolution of technical doubts and cost estimates of the new features to be developed.
30/60/90 Plan
• At 30 days: This is a training/onboarding period. You will be trained in the tools, systems, methods and the way the team works in the Fireware team. It will include access to development tools, hardware resources, and development repositories. You will be involved in the daily tasks of the team and participate in all Agile ceremonies.
• At 60 days - Continue training/onboarding and begin functional development. You will have development environments fully operational. You will be prepared to develop fully functional production code. You will start working on customer requirements and functional development, supervised by a team senior member or cross-team member.
• At 90 days: Must be able to develop functional production modules of the client application based on requirements specified by the Product Owner and Development Manager utilizing the development pipelines, repositories, and work streams identified during the training phases. Must work in an integrated way with the QA of the team for functional validation.
About the Position
This position is for experienced macOS staff software engineer who want to join a multi-disciplinary team of expert developers in security protections, to work on the generation of solutions that both protect our customers and offer attractive functionality to them, both in the products of large account, corporate products and end-user products.
The right candidate for this position should have advanced knowledge of software development and years of experience in multidisciplinary teams. Previous experience in a similar position is preferred.
It serves as the technical lead for the client application development within the project and mentor other engineers and continue to develop command over all aspects of delivering high-quality software (design, documentation, unit tests, code reviews, security, deployment, monitoring, maintenance, etc.)
It is desired to have knowledge and experience in working on agile methodologies, which allow a quick response to our clients.
It will interact both with the rest of the team's developers, work closely with UX/UI team members, Product Owner and Engineering Manager.
This role reports directly to the Engineering Manager. If you are looking for a challenge and are enthusiastic, self-motivated and want to grow as a developer of security solutions, WatchGuard has the perfect fit for you.
Position Responsibilities
§ Requirements analysis, design, and implementation of new features.
§ Design and implementation of proof of concepts and tests.
§ Code review, debugging, bug fixing.
§ Follow agile development methodologies.
§ Highly qualified teammates to work with.
§ Continuous update and learning of new OS features.
§ Continuous learning and continuous technical knowledge improvement.
§ Participate in the interesting technological projects and continuous challenges.
§ Taking ownership and decisions.
§ Showing initiative and commitment.
§ Maintain an excellent working environment.
Skills and Qualifications
• Knowledge of Swift / Objective-C / Python / Bash programming languages.
• Knowledge of programming on macOS GUI applications, Kernels Extensions (KEXT), System Extension (SEXT), and Network Extensions and the communication with the user space.
• Knowledge on kernel module debugging techniques.
•
Knowledge of macOS starting form macOS
10.10 (Yosemite) and above.
• Knowledge on multiplatform development.
• Knowledge of agile methodologies (preferable knowledge of SCRUM)
• Knowledge of version control GIT (and other repo technologies)
• Knowledge of macOS development tools: XCode
• Additional knowledge about other programming languages
• Additional knowledge on continuous integrations
• Additional knowledge on other platforms: Linux and Windows
• Knowledge of networking fundamentals (TCP/IP, HTTP/S & DNS)
• You should also be able to communicate clearly in written and spoken English.
- Experience
- 10+ years of experience
- Working as a part of a team with shared goals.
- Working on agile methodologies