Careers

Careers

The software development team is the central nervous system of Liberal Logic Inc. While our primary business area is core software for professional video and audio equipment, we also use the knowledge we gain in this area to develop completely different areas. Success in areas where software development is essential depends on the behavior of the software you and your team produce. There are a wide range of things that we consider important. We do not expect you to cover all of them. We list many of them here so that you can understand the direction we are aiming for, and so that we can minimize the mismatch between the expectations and the reality of the hiring process for both companies and individuals. Liberal Logic Inc. is conducting referral recruitment. If you are interested in being considered for a position, please contact us through a Liberal Logic Inc. representative. The hiring process includes a brief technical test. This technical exam simulates small-scale software development and takes a few hours to complete. Salary will be determined by mutual consultation and agreement, taking into consideration a variety of factors, including a description of past experience and specific development results, the results of the technical test conducted during the hiring process, engineering and business attitudes, work philosophy, and social and economic conditions.

Software Engineer - New Graduate (Full Time)

* Must be honest, humble, not arrogant, able to tackle things with sincerity, not lie to self or others, and able to continuously self-learn. * Must be able to communicate with the team in a polite and respectful manner. * Ability to design and develop small (>1,000 lines) software using C/C++. * Bachelor's degree in computer science, engineering, mathematics, or a scientific field * Experience with version control concepts * Ability to listen when someone points out a design or implementation that you have done. * Ability to provide user-readable and understandable documentation, including diagrams, for software you have worked on. * Ability to use libraries designed and implemented by third parties.

software engineer - mid-career (full time)

* Must be honest, humble, not arrogant, able to work with sincerity, not lie to self or others, and able to continuously self-learn. * Ability to communicate with the team in a polite and respectful manner, ability to read the background of the customer and the market to discover the real issues and make proposals that lead to solutions. * Able to continuously work on improving things. * Ability to design the required functionality primitively and implement it faithfully to the design. * Ability to design using appropriate methodologies, even when the design scale is large. * Understand the difference between interface definition and implementation details and be able to clearly distinguish between the two when designing and implementing. * Ability to self-manage all aspects of software engineering and product development. * Ability to design and develop medium size (>50,000 lines) software using C/C++. * Ability to propose ideas for solutions to user problems. * Bachelor's degree in computer science, engineering, mathematics, or a scientific field, or 6+ years of software development experience in object-oriented languages * Experience with version control concepts. * Ability to listen when someone points out a design or implementation that you have done. * Ability to write user-readable and understandable documentation for the software you have worked on, including diagrams. * Ability to debug by oneself when there is a defect in the design that you have done. * Ability to understand technical documents written in English and to write Japanese technical documents or documents for users. * Ability to use libraries designed and implemented by third parties.

senior software engineer - mid-career (full time)

* Must be honest, humble, not arrogant, able to work sincerely, not lie to self or others, and able to continuously self-learn. * Ability to communicate with the team in a polite and respectful manner, ability to read the background of the customer and the market to discover the real issues and make proposals that lead to solutions. * Able to continuously work on improving things and take a creative approach to problem solving. * Ability to design primitives for required functionality and implement them faithfully. * Be able to properly illustrate your design in some way and be able to illustrate your design when given an implementation. * Ability to design using appropriate methods, even when the scale of the design is large. * Ability to design objects that strictly deal with initialization, use, and destruction based on RAII (Resource Acquisition Is Initialization). * Ability to implement a hierarchy of classes/objects with an appropriate logical structure for the task. * Ability to keep the overall structure simple by effectively using the concepts of abstraction, polymorphism, etc. * Understand the difference between interface definition and implementation details, and be able to clearly distinguish between them when designing and implementing. * Ability to self-manage all aspects of software engineering and product development and lead teams as needed. * Ability to design and develop large (>100,000 lines) software using C/C++ / Modern C++ design approaches / Basic knowledge and practical skills in TDD and DDD * Experience in fault tolerant software design / Experience in real-time system design using real-time operating systems * Knowledge of SIMD arithmetic operations such as CUDA, AVX, etc., and ability to design and implement them; knowledge of distributed processing using threads and ability to design and implement them * Strong skills in debugging, performance optimization and unit testing * Ability to work effectively in a dynamic environment with changing needs and requirements * Ability to work independently or in a team environment, take initiative, and communicate effectively. * Perspective to dig deep into user issues and find effective solutions * Ability to speak up for yourself in team collaboration on architecture, design, and code review * Bachelor's degree in Computer Science, Engineering, Mathematics, or Science with 12+ years of software development experience. * Experience with version control, continuous integration, and continuous delivery concepts * Expertise in designing software systems and operating systems/kernel schedulers * Deep understanding of testing, continuous integration, build, deployment, and monitoring * Expertise in application performance profiling and improvement * Demonstrated technical leadership and continuous improvement * Experience developing software for cross-platform users * Ability to listen when someone points out a design or implementation that you have done. * Ability to provide user-readable and understandable documentation for software you have worked on, including diagrams. * Ability to debug by oneself when there is a defect in the design that you have done. * Ability to understand technical documents written in Japanese or English. * Ability to write technical or user documentation in Japanese or English. * Ability to design and implement libraries that can be used by third parties