DEV Community

Discussion on: What does it mean to be a Software Engineer?

Collapse
 
gary_woodfine profile image
Gary Woodfine

This is an extremely interesting subject. As a software development freelancer,I really struggle with "labeling" myself. Primarily because different organizations define their roles and expectations completely differently so trying to defining myself to suit their expectations is difficult.

Over the years I have operated in roles which have been defined as : Analyst Programmer, Programmer, Applications Developer, Senior Developer, Developer, Consultant Developer, Software Delivery Consultant, Software Engineer, Solution Engineer, Solution Architect, Software Architect, System Architect, System and Solution Architect, Back-end System Engineer, Lead Developer, Integration Engineer.

Although the title has changed, I have pretty much found myself pretty much doing the same job, i.e. writing software to solve particular business problem.

The make up of skills and qualifications on teams has also been completely varied. i.e. Zoologists, Geologists, MBA's, Economists, Electrical Engineers.

Collapse
 
oneearedmusic profile image
Erika Wiedemann

I really appreciate this answer - thank you! I get the feeling now that this labelling problem is common across disciplines. There's (thankfully) no pigeonhole where one would be restricted to work being a Software Engineer/Computer Scientist/Freelancer. At the end of the day, you're solving problems with software, and I suppose your primary problem defines your role. Consulting vs working data vs designing the system.

Collapse
 
gary_woodfine profile image
Gary Woodfine

Definitely. I also think the problem is further exasperated when ti comes to defining Developer. Lately the moniker "Full Stack Software Developer" is banded about, without any real definition of what the terms means.

For instance, I label myself as a full stack software developer, because I am comfortable at any application tier .i.e UI, Middle and Database. I am by no means an in-depth expert at any of these tiers. e.g. I don't know the ins and outs of User Experience and UI design and graphic design, but I work with css, sass, html, javascript. I also don't know everything there is know about API design etc, but I have more than enough working knowledge to develop them using formal software development patterns and practices. I am also no expert in Database administration, but I can certainly design databases and write queries.

That being said, I am now witnessing that the term full stack development now requires knowledge of IoT, mobile , web and Business Analysis, Architecture etc.

This closely resembles what I would call software engineering, but job descriptions never stipulate Software Engineer, they ask for Full Stack Developer.

I do think in general our industry does have a hard time in being able to describe what we actually do on a day to day basis and in truth our roles are multi faceted.

Daily I find myself writing code, however I am also administrating Linux, MacOSX and Windows servers, networking, Databasee design etc