Historically, I’ve changed jobs every 5-6 years; I’ve been at ARM over 7 years now. When I mentioned this to my manager, he started wondering where this was heading. In fact, I was explaining why I felt it was time for me to shift my focus away from parallelism, vector processing, performance optimization, etc. and into something I didn’t know much about. It’s a fast moving industry and if you don’t keep moving, your skills become irrelevant and if you don’t make a big enough shift, you won’t take the risks you need to take to achieve something new. (A very bad paraphrase of Richard Hamming.)
So over the last year or so I have been switching over to work on processor verification. It really matters to my employer, it is enormously expensive (the vast majority of the company’s engineering costs), it is part of the value proposition of an IP supplier and it is enormously fun. Along the way, I am learning a lot about verification and processor design a little about Verilog and I am trying to exploit the fact that I am good at writing language processing tools.