this post was submitted on 18 Aug 2023
23 points (96.0% liked)

Programming

17671 readers
167 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 2 years ago
MODERATORS
23
submitted 1 year ago* (last edited 1 year ago) by [email protected] to c/programming
 

EDIT: I just wanted to add an edit and say I really appreciate how active this post got. I was kind of expecting to get no responses, but instead I'm getting an incredibly detailed discussion with a wide range of viewpoints and considerations that I wouldn't have otherwise thought of. You guys rock! Lemmy rocks!

Hey, all

I need help identifying a job title that would best match my current job responsibilities. For reference, I work at a smaller org that just had a compensation study done and my position was marked as needing no change. My supervisor was angry with that outcome and found out that it is because my actual Job Title is not an industry standard, so the company that did the study had trouble matching it up. My supervisor believes I should be making a fair chunk more than I make, as I am the sole person in my position and the work I do keeps the org running in all ways.

So, my supervisor is starting the process to reclassify me into new position and wants to make sure the title and responsibilities match up in a way that are recognizable on a resume to other potential employers. I've done some initial research and I believe that "Senior DevOps Engineer" or a flat "Senior Software Engineer" would probably be the best match.

A list of my responsibilities are:

  • I investigate, troubleshoot, code, schedule, and deploy new custom programming releases to our ERP software. It's a delivered ERP software that has the ability to create, package, and deploy custom coding in order to add functionality that the org needs but the delivered solution does not support. Our org is especially heavily customized - we have well over 200 different customization's that I support
  • I code, deploy, and support data integrations with third party vendors via SFTP, HTTP API, or other options (although most of the integrations come down to either pulling data from our system to push to an SFTP server or an API).
  • I build and deploy custom applications on an ad hoc basis to fill needs by our org. An example of this would be that earlier this year we found out that the budget entry portion of our ERP software wasn't available as it used a user interface that had reached end-of-life and we needed a way for departments to enter their budgets for the upcoming FY to buy time until we could get the proper user interface up and running. I was able to build a web application that could fulfill the requirements and coordinated with our systems administration team to get a server set up with certs, a proper domain name, and the like.
  • I act as a general administrator for our ERP software, providing support and guidance on specific functions that members of our Org use as well as backing up our actual ERP Technical Administrator in maintenance tasks if he is sick or out.
  • I support the deployment of data from our transactional ERP system to a reporting database and our reporting software. This is largely automated and works without interference. If new data is needed, I go in and make the necessary changes to include the new data in the reporting database.
  • We don't currently have any other developers, but my boss and I have started pushing to expand our slate as other members of our team retire. If we ever do get more developers, it will be my responsibility to train them and coordinate their tasks.

In general, I feel like I identify more as a Senior Software Engineer. I like the programming work more and, if I ever left this current org, it's the job I would go for. However, for the sake of actually matching the position, I feel like the wide range of development, administrative, and automation duties, that I am more doing the job of a DevOps Engineer.

I've done a fair amount of reading, but I wanted to get the opinions of some peers and see if you all had any insights or opinions

you are viewing a single comment's thread
view the rest of the comments
[–] mspencer712 2 points 1 year ago* (last edited 1 year ago) (2 children)

That’s right. I know I was thrown off by large projects earlier in my career. The more you learn the stronger you get at understanding and packaging/setting-aside larger and larger pieces of a project. Bigger projects stress this ability in new ways. I think I lost a job in 2016 because I couldn’t stretch my brain around something bigger, at a small business with maybe 14 devs.

This might be a bad way to communicate this, and I think I’m taking this in a weird direction, but: I’ll use the Mozilla project as an example of a large project, though I’ve never looked at its source.

Suppose you were in an interview, and due to the specifics you are expected to be fast and fluent with the same technologies used in the Mozilla project, though you’ve never looked at the source before. Given a machine with the source already checked out and open in an IDE, you have one hour to read through the source and familiarize yourself with it, so you can answer questions about how you would approach adding features or test coverage.

What I want to know is: how high does your heart rate go? Does it go up just a little, as expected for a high stakes situation? Or does it go up a lot, because you honestly have no idea how much another dev in your situation would be expected to accomplish, so you have no clue what “good enough” looks like?

This is a crappy example because no interviewer could ever actually use this metric. But I’d say if it goes up a lot, for the reason I gave, you might not be ready for senior. And by this metric, it might not ever be possible to grow to “senior” without working at a company with large multi-team projects. But I think that’s accurate.

(Edit: yes, sorry, Software Development Engineer. I think that’s a protected term in the US, in Texas and California at least, but anywhere else in the US you don’t need to pass an engineering board exam to use that title.)

[–] [email protected] 2 points 1 year ago

Don't let yourself be put of by peoples expectations. Most Senior Engineers have no idea that "engineer" is in their job description and which would not accomplish anything if you'd take away their Stackoverflow and ChatGPT.

Senior is a title that is generally measured either by an individuals ability to sit on a chair for a long enough time or by its ability to make friends with management. Skill or knowledge overall has little to do with it.

[–] [email protected] 1 points 1 year ago

I can definitely see what you mean, and I appreciate the detailed post!

As for your scenario, I feel as though my heart rate would go up to a moderate amount, maybe less depending on the exact structure of the project.

The reason I say that is because I've done similar things in the past. My wife also has a job as a junior developer (working from home as part of a smaller multi-dev team supporting a massive project), but her team is set up in a way that she can only get a few minutes a week with her senior since he is always busy with his own tasks. She was never given documentation or even a walkthrough to explain how their project is structured or how their database is structured (they said in the interview that they would do this, but in reality the senior has to spend all of his time on other projects or in meetings). There are times that she gets stuck on a task that she has been assigned because she doesn't know where in the source code she needs to look and she can't get a hold of her senior. She'll ask me for advice (without looking at the code, it's essentially a 20-questions type scenario of hypotheticals) and, even though it is a completely different programming language and I haven't actually seen the code, I can figure out what it is that she is needing to do and help guide her to where she needs to go in her project. When she finally gets a chance to talk to her senior about it a few days later, he confirms that the steps she ended up taking were correct for their set up.

For example, she once had to update the items in a drop down that she couldn't find in the code in their project. She knew that the dropdown was being loaded on a specific page, but the items weren't being populated in that same place. I assumed that this was likely using a stored procedure or a view on their database to pull the dropdown items. With that assumption, I was able to help her trace to where the data was being loaded in their data repository. That gave her the name of a stored procedure. She went and updated the stored procedure's definition in their dev server and it corrected the dropdown. She later met with her senior and he confirmed that the dropdown (and many other features in the app like the dropdown) are pulling out of stored procedures so they don't have to redeploy code to update things like that.

Similarly, one of the projects I had to work on at my org is actually taking an MVC web application and an API web application that are written by one of their multi-dev teams that are provided by our ERP software provider that we can customize to meet our specific needs. I did have some documentation to go off of, but I was able to get that loaded in and making customizations that fit within their architectural style within a couple of hours when I first started it.