|
Yes, me too, I'm a programmer. That's how I think of myself, regardless of what infinitely varied tasks I may do. And me too, that's what I blurt out when people ask me what I do. In more formal contexts, like resumes and job apps, I call myself a software developer, because that's a more encompassing description of what I do. Software development is not just programming, even if that's the most obvious and the most fun part. My employers call me whatever they want to call me. That's been technical staff member, programmer, software engineer, etc. I never voluntarily call myself a software engineer. I've never worked under the supervision of a PE who was legally responsible for my work, and I've never been on a track working toward my PE. Very few software developers work in that environment. I don't mind the informalization of the term software engineer, but I don't use it because I've never, ever worked in an environment where programming or software development was practiced as an engineering discipline using national or international standards of practice or product. Software development where I've been, and where most people are, is much more an individual art than a community science. So I don't want to give the impression that what I'm doing is in any way a legal, formal engineering practice. |
I actually had my company change my official job title at one point in my career to "Software Developer". I have an undergraduate degree in engineering (partially because I wanted to rebel against my parent's wishes for me to do CS). Software cannot be engineered like a bridge. Structural engineering is very narrowly scoped. You have a design load, comprised of live loads like wind and moving cars and static loads from the weight of the structure itself. There are entire "cookbooks" of formulas used to compute the theoretical, accepted thickness of the support beams and bolts. There is standardized everything, from the project management terminology to the thread count on the bolts. After graduating, if you gain four years (in some states, less) of practical engineering experience, you can take the Professional Engineer (PE) exam. In some cases, to prove your experience, you need to submit three inches thick of paper calculations you have done while working. The PE exam is rigorous and graded on a curve. But once you pass, you get the pride and responsibility of having a seal that you can use to emboss blueprints. That says you take responsibility for the work. Software development is not engineering, and I have strong philosophical discussions with those programmers who insist on that term.
Software development is creative problem solving. You do not have much creativity in structural engineering.