Senior Software Engineer
San Jose, CA
We are looking for a Senior Software Engineer for the development of our innovative EDA software tools. At Diakopto, we all wear many “hats” and do not have bureaucratic, hierarchical, political, and departmental barriers. We are a lean bunch of professionals who can work independently and collaborate as a team, complementing each other’s unique expertise and abilities. We welcome and encourage new ideas, creative brainstorming and revolutionary approaches.
You will work on Linux and use C++, Python, and Git. Our codebase is well-organized and easy to get around. We are passionate about software quality, and we use best software engineering practices to achieve it.
- BS in computer science or a similar engineering field, or equivalent practical experience.
- 7+ years of recent experience as a hands-on software developer.
- Good understanding of algorithms and data structures and ability to implement them in code.
- Familiarity with basic operating system concepts and means of inter-process communication.
- Solid practical knowledge of C and C++. Good grasp of object-oriented programming.
- Ability to work both independently, and in a team.
Desired qualifications and experience (in one or more of the following areas):
- Practical experience with Python language and Python C API.
- EDA software development.
- Familiarity and experience with IC design flow and CAD work and infrastructure.
- Scientific and engineering visualization and presentation of large volumes of information.
- Embedding Python or other scripting languages into C++ programs.
- Virtuoso, DFII, SKILL, OpenAccess, parasitic extraction, LVS, circuit simulation, timing, IR/EM, …
- Experience developing GUI, using Qt, web or other technologies.
- Numerical methods, matrix solvers, computational geometry, mesh generation, distributed computations.
- Methods of theoretical physics, Green’s functions, inverse problems, stochastic methods, graphs, optimization, network theory, model order reduction, etc.