4 ms·
My contract says my title is software engineer, but titles don't mean much in a small company. Which I kind of like. That said, I didn't study Software Enginee
by csirac2 11y ago
My contract says my title is software engineer, but titles don't mean much in a small company. Which I kind of like.
That said, I didn't study Software Engineering at university. And so, in almost 10 years in various roles writing software, this is the first one in which I've allowed this title to apply (previously I've had: Systems Analyst, Software Developer, Bioinformatics Technologist, Instrumentation Engineer, etc).
I also didn't study systems engineering (which is a real discipline responsible for remarkable achievements such as taming the complexity of massive systems such as modern airliners), but not that Systems Engineering, I mean the wishy-washy, everyone's-an-engineer sense of Systems Engineer as typically used in software land - that's what I think a more accurate title for my role would be.
I work on the hardware for our widget, as well as the user-facing software. I set up our automated build system that builds everything including our ARM Linux OS image, including kernel and bootloader. I established the production and Q/A checklists. I actually do some of the assemblies. I determine what components we use, and I work with real engineers to validate and test and update customer spec sheets accordingly. I answer questions like, "what kind of power system would let us get XX hrs runtime at YY% duty cycle".
I have a complete picture in my head of the product, its capabilities and limitations. When it goes wrong, at any level, I'm the one that has to fix it. I've never worked with a Systems Engineer at a big tech company but it seems as if this is the sort of scope they work with. Except they probably don't have to write the userland code as well :)
- mikekchar 11y agoI really wish that there was an acceptable title similar to "Engineer" that wasn't engineer. Early in my career, I was saddled with the "Software Engineer" title at a large telecommunications company. I suffered a lot from real engineers complaining that I wasn't a real engineer because I didn't study engineering. Eventually, I decided that they were right, but that "Software Engineering" wasn't a real engineering discipline anyway (at least not yet). How many "software engineers" know the mean time between failures of their systems? When they integrate a library, can they enumerate the risks involved? Even on a team that prides itself on very low defect density, I don't think we can really call this discipline "engineering" in the way that other other disciplines are "engineering". Of course, when I speak to young software engineers now (real engineers who studied software engineering), they often violently disagree with me. This often strikes me as being a bit ironic. What's even more ironic is that after 30 years in the software industry I know considerably more about "software engineering" than anyone I have met coming out of an engineering program (which is not surprising, and I mean no disrespect to the people who have such a degree -- in 30 years, I'm sure they will know considerably more than I do now). I tend to view people's confidence that they can predict the properties of software in the same way you could predict the properties of different metals as being hubris. One programmer has a late night out and drinks too much. The next day, still woozy from the night before he writes some code. It looks all right a first glance, but he accidentally overwrites some memory that makes a task in another part of the machine completely fall over. There is 4 million lines of code and this software error sleeps until memory usage is just right. Hopefully it is not medical software... Having said that, my colleagues who are actual engineers reassure me that real engineering is also fraught with such random behaviour, so I'm being too picky. It's always something I think about while riding elevators.
- a3n 11y agoCall yourself a Software Developer, regardless of your title. All my development roles on my resume say exactly that, regardless of what my employers called it. When "civilians" ask what you do, say you write software. It's your resume, put what you want on it. I agree, this isn't engineering. Where's my supervising Principal Engineer, and where's my path to that? But if someone wants to call themselves a Software Engineer, or a Custodial Engineer, of a Software Custodian, I don't really care.
- jnbiche 11y ago> I agree, this isn't engineering. Where's my supervising Principal Engineer, and where's my path to that? 1. Not all engineers in traditional engineering disciplines, like EE, work as/under licensed engineers, with supervising Principle Engineers (depends on the jurisdiction, job, and individual). If they've been trained and are working as electrical engineers, should they call themselves something other than electrical engineers at that point? 2. NCEES, who state engineering boards depend upon to license engineers, considers software engineers to be an engineering discipline, as do a number of US states. There are already a number of software engineers who have passed the software engineering PE and FE exams and who are now licensed engineers. There are even more on the way. NCEES started offering software engineers PE exams back in 2012, now over half of US states offer the exam [1]. 1. http://ncees.org/about-ncees/news/ncees-introduces-pe-exam-for-software-engineering/ http://ncees.org/about-ncees/news/ncees-introduces-pe-exam-f...