Senior Software Engineer
Cognex
- Budapest, Hungary
- Senior Level
- 5+ years
- Bachelor's degree
- Posted
Skills
Required
- software development
- software engineering
- object-oriented design
- software architecture
- design patterns
- data structures
- algorithms
- Embedded application and systems-level software development
- C++
- Desktop application development
- C#
- .NET
- user interface technologies
- source control systems
- code reviews
Preferred
- Embedded
- Linux
- OS/System programming
- Yocto
- WPF / WinForms / Windows application development
- Python / JavaScript / TypeScript
- machine vision
- image processing
- CMake / Docker / cross-platform software development environments
You will be part of the In-Sight Products development team, building the next generation of machine learning and machine vision sensors and user interfaces across embedded Linux and Windows platforms.
Responsibilities
- You will contribute to the successful delivery of customer-facing features and technologies through active participation in product development activities, collaboration with global engineering teams, and application of software engineering best practices.
- We are working on a hybrid schedule, 3 days in the office, 2 at home.
- Areas of Responsibility Design, implement, test, and maintain software components across the product stack.
- Develop high-quality, maintainable software solutions.
- Estimate, plan, and deliver complex functionality within Agile/Scrum teams.
- Collaborate with cross-functional teams to deliver customer-facing solutions.
- Participate in and contribute to design and code reviews.
- Resolve complex product and customer issues.
- Contribute to automated testing, CI, and quality improvement initiatives.
- Reduce technical debt and improve long-term maintainability.
- Share knowledge and provide technical guidance when appropriate.
- Effectively leverages AI-assisted development tools to accelerate software design, implementation, testing, and debugging activities.
- Demonstrates strong engineering judgment when validating AI-generated output and selecting appropriate solutions to complex technical problems.
Requirements
- Objective Requirements Related to the Position Minimum 5 years of professional software development experience delivering commercial software products.
- Strong software engineering fundamentals, including object-oriented design, software architecture, design patterns, data structures, and algorithms.
- Experience developing software in a full-stack product environment, with deep technical expertise in one or more of the following areas: Embedded application and systems-level software development (C++); or Desktop application development (C#, .NET), and user interface technologies.
- Ability and willingness to work across different layers of the software stack as product and business needs evolve.
- Experience developing complex software systems in a collaborative team environment.
- Experience with source control systems, code reviews, automated testing, and Agile software development practices.
- Strong debugging, analytical, and problem-solving skills.
- Strong written and verbal communication skills in English, with the ability to collaborate effectively across teams and locations.
Preferred
- BSc or MSc in Computer Science or Electrical Engineering.
- Experience with Embedded Linux OS/System programming (Yocto) Experience with C++ Experience with C#, .NET, WPF, WinForms, or Windows application development.
- Experience with Python, JavaScript, or TypeScript.
- Familiarity with machine vision, image processing, industrial automation, robotics, or related technologies.
- Experience with CI/CD pipelines and modern software development tools.
- Familiarity with CMake, Docker, or cross-platform software development environments.
- Experience working with globally distributed software development teams.
- Additional Job Description
jobapplier