At a Glance
- Tasks: Architect and develop complex C++ models for innovative hardware solutions.
- Company: Join Lattice, a dynamic tech company with a collaborative spirit.
- Benefits: Enjoy competitive pay, remote work, and opportunities for professional growth.
- Other info: Be part of a diverse team committed to innovation and customer success.
- Why this job: Make an impact in a fast-paced environment while mentoring fellow engineers.
- Qualifications: 5-10 years in firmware or embedded software development; C/C++ proficiency required.
The predicted salary is between 63000 - 77000 £ per year.
There is energy here...energy you can feel crackling at any of our international locations. It’s an energy generated by enthusiasm for our work, for our teams, for our results, and for our customers. Lattice is a worldwide community of engineers, designers, and manufacturing operations specialists in partnership with world-class sales, marketing, and support teams, who are developing programmable logic solutions that are changing the industry. Our focus is on R&D, product innovation, and customer service, and to that focus, we bring total commitment and a keenly sharp competitive personality.
Energy feeds on energy. If you flourish in a fast paced, results-oriented environment, if you want to achieve individual success within a “team first” organization, and if you believe you can contribute and succeed in a demanding yet collegial atmosphere, then Lattice may well be just what you’re looking for.
Job Description:This role is to progress the deployment of a ‘model first’ development model to Hardware Design. In this role you will be architecting and developing complex C++ and SystemC models of hardware solutions. As an expert in the space, acting as a leader and mentor to other engineers less versed with this style of development. This will also involve developing Firmware and other Software, including QEMU emulation to generate both model solutions and Firmware development platforms.
Accountabilities:
- Contribute as a member of the Architecture modelling team, developing and validating models under senior guidance
- Develop, debug, and troubleshoot models in SystemC and Firmware
- Develop, debug python code to process models
- Apply firmware development experience to support model-driven design flows
- Collaborate with cross-functional teams to improve development methodologies and processes
Qualifications:
- BS/MS Electrical Engineering or Computer Science
- 5–10 years of experience in firmware or embedded software development
- Proficient with C/C++ in embedded or hardware-adjacent environments
- Knowledge of FPGA logic design or hardware description concepts preferred
- Solid foundation in object-oriented programming, data structures, and algorithms
- Experience with SystemC, QEMU, or hardware modeling is a plus but not required — we will train the right candidate
- Must possess independent problem-solving skills and a willingness to learn new methodologies
- Knowledge of Python is preferred
- Strong written and verbal communication skills and the ability to work across multiple teams
Additional Information:This position requires a successful background and reference checks and satisfactory proof of your right to work in the United Kingdom. Lattice recognizes that employees are its greatest asset and the driving force behind success in a highly competitive, global industry. Lattice continually strives to provide a comprehensive compensation and benefits program to attract, retain, motivate, reward and celebrate the highest caliber employees in the industry. Lattice is an international, service-driven developer of innovative low cost, low power programmable design solutions. Our global workforce, some 1,000 strong, shares a total commitment to customer success and an unbending will to win. At Lattice, we value the diversity of individuals, ideas, perspectives, insights and values, and what they bring to the workplace. Applications are welcome from all qualified candidates.
Principal Software Development Engineer employer: Lattice Semiconductor Corp.
Lattice is an exceptional employer that fosters a vibrant and collaborative work culture, where innovation thrives and individual contributions are celebrated. With a strong commitment to employee growth, Lattice offers comprehensive benefits and opportunities for professional development, making it an ideal place for those seeking meaningful and rewarding careers in the tech industry. As a remote position based in the UK, this role allows for flexibility while being part of a global team dedicated to pushing the boundaries of programmable logic solutions.
Contact Details:
Lattice Semiconductor Corp. Recruitment Team
StudySmarter Expert Advice🤫
We think this is how you could land Principal Software Development Engineer
✨Join Local Tech Meetups
Get out there and mingle with fellow developers by joining local tech meetups. It’s a fantastic way to meet people who might be working at Lattice Semiconductor Corp. or know someone who does. Plus, you can pick up some trendy tech skills and trends while you're at it!
✨Contribute to Open Source Projects
Show off your coding chops by jumping into open-source projects. Not only does this give you practical experience, but it also gets you noticed in the dev community. You'll create a killer portfolio that speaks volumes about your skills to Lattice Semiconductor Corp..
✨Tap into Online Developer Communities
Don’t underestimate the power of online developer communities like GitHub, Stack Overflow, and even Reddit. Participate in discussions, share your projects, and build your visibility. We can often find opportunities through these channels that can lead to a full-time gig at companies like Lattice Semiconductor Corp..
✨Explore Job Boards Specifically for Tech Roles
Keep your eyes peeled on job boards that focus on tech roles. Sites like TechCareers or Stack Overflow Jobs can often have listings for companies like Lattice Semiconductor Corp. that might not show up on broader job sites. Make it a habit to check these regularly, and don’t hesitate to apply directly through our website!
We think you need these skills to ace Principal Software Development Engineer
Some tips for your application 🫡
Show off your coding skills:When applying for a software engineering role, it's super important to showcase your coding skills. Make sure your CV includes your tech stack, any relevant programming languages you’re comfortable with, and examples of projects you've worked on. If you have a GitHub profile, link it up! We love to see code in action.
Tailor your portfolio:For a full-time role, we’d expect to see some solid examples of your work in your portfolio. Make sure to include at least two or three projects that highlight your problem-solving skills and your ability to work with different technologies. Focus on the projects that are most relevant to the position at Lattice Semiconductor Corp..
Craft a killer cover letter:Your cover letter is your chance to stand out—make it personal! Explain why you want to work at Lattice Semiconductor Corp. and how your skills align with the role. Show us your passion for software development. We dig enthusiastic candidates who understand the value of collaboration and continuous learning!
Be clear and concise:When it comes to writing your CV and cover letter, clarity is key. Avoid jargon that could confuse us and stick to simple, direct language. Highlight your achievements with quantifiable results where possible, and keep everything easy to read. A well-organised application goes a long way!
How to prepare for a job interview at Lattice Semiconductor Corp.
✨Brush Up on Your Coding Skills
For a full-time software engineering role, it's crucial that we stay sharp with our coding abilities. Expect technical questions that might involve solving problems on the spot or discussing algorithms. Practise on platforms like LeetCode or HackerRank to get comfortable with the types of questions that often come up.
✨Know Your Tools and Frameworks
Make sure we’re well-acquainted with the tools and technologies listed in the job description. Familiarise ourselves with any specific frameworks or programming languages mentioned. If Lattice Semiconductor Corp. uses React or Node.js, for instance, be ready to discuss how we’ve used them in previous projects or coursework.
✨Showcase Your Projects
Bring along a portfolio that highlights our best work. This could be code samples, GitHub repositories, or any side projects we’ve built. Make sure we can talk through our thought process for each project, especially the challenges we faced and how we solved them—this shows our problem-solving skills in action.
✨Prepare for Behavioural Questions
While technical skills are key, full-time positions also require cultural fit. Be ready to discuss our previous experiences and how we handle teamwork, conflict, and deadlines. Brush up on the STAR method—Situation, Task, Action, Result—to clearly articulate our past experiences when discussing how we've contributed to a team.