GUI Developer Internship
![Achronix](https://semiwiki.com/wp-content/uploads/job-manager-uploads/company_logo/2020/06/Achronix-Logo-SemiWiki-1-150x44.png)
Website Achronix
Achronix Semiconductor Corporation is a fabless semiconductor corporation based in Santa Clara, California, offering high-performance FPGA solutions. Achronix is the only supplier to have both high-performance and high-density standalone FPGAs and embedded FPGA (eFPGA) solutions in high-volume production. The Achronix FPGA and eFPGA IP offerings are further enhanced by ready-to-use PCIe accelerator cards targeting AI, ML, networking and data center applications. All Achronix products are supported by best-in-class EDA software tools.
Job Description/Responsibilities
The successful candidate will research, invent, implement, test and document robust software user interface solutions for the rich set of Achronix software tools, covering:
- IP configuration
- Synthesis, placement, routing, timing optimization
- Visualization and diagramming
- Report generation
- Live hardware debug tools
These functions support the Achronix standalone FPGA and Speedcore embedded FPGA (eFPGA) products. This is a desktop application environment using Java and C++, not a mobile app or web interface. You will initially assume ownership and maintenance of existing features, and add innovative new features to your portfolio over time according to the software feature development roadmap. You will utilize your knowledge of EDA tools to help define new features and enhance usability of the software system. Use your skills in Java and Eclipse frameworks to develop the graphical user interface, and use skills in C++ and Python/TCL/Perl to develop backend commands and data processing. This is a unique opportunity to collaborate directly with other Achronix research and development (R&D) software and hardware team members working on next generation hardware IP and software algorithms. Ccontribute to a culture of agile innovation and continuous quality improvement.
Required Skills
- Programming and debugging skills with expertise in Java, basic knowledge of C++ and object-oriented programming techniques
- Excellent communications skills and ability to describe subjects in an intuitive manner to others, focusing on end user experience
- Strong analytical skills to understand cause and effect in a large software code base
- Ability to read detailed hardware and software specifications to research open questions about a project
- Ability and willingness to try novel approaches to solve difficult software engineering problems
Preferred Skills
- Familiarity with the Linux and Microsoft Windows operating systems, compilers, and IDEs
- Experience using Eclipse for Java and Eclipse RCP development, including experience with SWT, JFace, NatTable, etc.
- Experience in scripting languages such as TCL, Perl, Python, and other user interface languages and data formats like XML and HTML
- Familiarity with the Verilog and/or VHDL HDLs
- Knowledge and experience with EDA software tools (commercial or academic) and FPGA design flow is preferred
Education and Experience
- Work on BS or MS in Engineering (Computer Science, Electrical/Computer, or other related/applied engineering) from a top research university
- Prior years of industrial experience in EDA software development using Java and C++ is a plus
The compensation range for this position is $30-$40 an hour. Hourly ranges dependent on experience and location.
Intel’s Death Spiral Took Another Turn