Looking at ways to break into SW development officially while not losing current salary (> $160k). There are a few avenues I can consider based on my experience and interests.
I've been doing hardware design (mostly PCBs, consumer electronics, some IC level analog design) for ~20 years, while constantly doing hobby type software stuff in the background, and constantly fiddling with the tools used for engineering design itself. I'm always the only one in the group more interested in the tools than in the work output, and will easily spend a month writing some script to reduce some of the tedium which might otherwise take just a few days for some particular task.
I have in fact written stuff for work, including actual firmware that is out in the field, some calibration stuff in the factory, some internal tools. I've participated in a few code reviews, a few agile sprints, and can get around in git. So it's not like I'm playing guitar hero with code; I think I have better coding skills than other EE's for whom this is a mere hobby. I have an architecture book currently at bedside, and fell in love with SICP a few years ago, which is what triggered my interest in functional programming.
I'm fascinated with CAD/EDA systems, drawing tools, drafting programs, spice and/or digital simulators, schematic, layout, libraries, solidworks, user interfaces, etc., and have a long list of features I'd like to see implemented in the next greatest and latest design software. I've also done fun work recently in embedded inertial measurement units and some navigation stuff, sensor calibration, developing models based on measured data, etc. I have a few other passing interests, but if they were that interesting to me I'd have done something about it already.
My preferred language is currently Clojure, although I can do some legitimate things as needed in Matlab, Python, C/C++, and Verilog. I'm primarily in Windows, but I can navigate around as needed in Linux pretty decently as a user, not an admin.
So I see the following options:
- Some type of tools/cad/eda company -- none of these that I know of in Seattle.
- Some type of mathy role regarding sensor data, navigation, satellites, control systems, etc. -- mostly require PhD which I don't have.
- Get up to speed in the current goings-on with regard to self driving cars, etc. I've seen a few roles for FPGA development as it relates to AI and deep learning, so that might be my foot in the door.
I don't believe I have the experience it would take to maintain my seniority/salary in SW, yet the HW design role is really getting tedious.