Job responsibilities
- Executes creative software solutions, design, development, and technical troubleshooting with ability to think beyond routine or conventional approaches to build solutions or break down technical problems
- Develops secure high-quality production code, and reviews and debugs code written by others
- Develops complex FPGA verification solutions for equities trading, with a focus on modeling expected hardware behavior.
- Collaborate with users and external vendors to gather requirements.
- Partner with internal teams, including business, development, quality assurance, and operations, to deliver reliable and low-latency solutions.
- Identifies opportunities to eliminate or automate remediation of recurring issues to improve overall operational stability of software applications and systems
- Leads evaluation sessions with external vendors, startups, and internal teams to drive outcomes-oriented probing of architectural designs, technical credentials, and applicability for use within existing systems and information architecture
- Leads communities of practice across Software Engineering to drive awareness and use of new and leading-edge technologies
- Adds to team culture of diversity, equity, inclusion, and respect
Required qualifications, capabilities, and skills
- Formal training or certification on software engineering* concepts and 5+ years applied experience
- Hands-on practical experience delivering system design, application development, testing, and operational stability
- Advanced in one or more programming language(s) - Python co-simulation, C++
- Strong knowledge of FPGA architecture design in VHDL/Verilog.
- Experience in developing verification strategies and writing complex test benches.
- Strong understanding of software and hardware interaction.
- Proficient scripting skills to automate development and testing tasks.
- Experience with complex system-level simulation using Modelsim/Questasim.
- Working knowledge of networking protocols, including Ethernet/10G and TCP/IP.
- Experience in a Unix/Linux-based development environment.
- Excellent interpersonal and communication skills.
Preferred qualifications, capabilities, and skills
- Experience with cocotb-based verification
- Experience with Xilinx/Altera architecture and design.
- Proficiency in high-speed/low-latency FPGA design.
- Understanding of Intel processor architecture and bus interconnect technologies like PCI-E and QPI.
- Experience with drivers and memory management.