Should I try my luck and apply for senior software jobs?
April 19, 2022 12:03 PM   Subscribe

So, I've got three years of work experience. I don't really know what "senior" is supposed to mean in software. Sometimes people tell me I'm good at doing that because I can work on my own and can direct projects somewhat. I don't know if I still have the leadership skills though. I've led stuff but not like teams of five people or something like that.

On another note, I see a lot of Java and C# job postings. I've done more Python and Javascript than any of those two languages. I know all four of them, and my grad school stuff has led me to get more into statistics and machine learning.

However, what should I do if I want to apply to these Java and C# jobs? I know how to use those languages, I've used them for a while, but I feel like people will ask questions if I try to apply to jobs that are too big.

What about data jobs? I like finance, but I'm not real sure where to look for that. Those jobs are all python based, but I'm not sure what to look for or what to apply for.
posted by Tarsonis10 to Work & Money (13 answers total) 3 users marked this as a favorite
 
For us, Senior means you are self-directed and self-motivating and can be trusted to ask for more information in the right places, push forward through obstacles, and finish things. Non-senior engineers usually need help clearing obstacles or need to be checked on every couple days to make sure they are walking in the right direction or are not beating their head against a wall silently in the corner.

For us at least, the regular engineer to senior engineer is a Big Deal promotion, and the next step after that is rarer. It is one of the few career growth steps the company can meaningfully provide other than going into management. A lot of people top out at senior engineer and never go further. So maybe you're sorta young. But if you are responsible and get things done and interview well, maybe that is you.

There are plenty of places using Python and Node as their primary development environment. You just have to look for it. It may not be as prevalent as .NET and Java, but it is out there. If you feel rusty on Java or .NET and think you're going to miss out on some jobs you might get otherwise, maybe you can do some skills training. Honestly, language isn't a huge deal as long as you know how to do one language well. When I'm interviewing someone and I ask a technical question that required coding, I do not mind if they answer in python or javascript or pseudo code. I'm watching their process more than their exact output anyways.

At least for us, our data science jobs are python. But they are also populated by data scientists and I don't know if that is you. I have no experience in finance.
posted by cmm at 12:49 PM on April 19, 2022 [9 favorites]


Best answer:
I don't really know what "senior" is supposed to mean in software
Nobody does. In my experience, the keywords "junior", "senior", "principal", etc. are pretty meaningless and subject to wide differences in the amount of technical leadership, project management, and personnel management between companies. It's fine to use those words as a crude way to optimize your job searches, but I'd focus more on the text of the job description to figure out whether it matches the split of technical and non-technical / administrative / leadership work you want at this point in your career.

In your specific case, a graduate degree and three years of experience is definitely within the range (albeit toward the low end) for most companies posting positions with "Senior" titles, but usually companies are going to want more specialization than I'm seeing in the way you describe your programming experience as being proficient in Python, JS, Java, and C#. Generalists / full stack types can be valuable, particularly in smaller startups, but as companies grow, they begin to want more scalable hiring / management processes, which usually means it's best to pick a language or two and become an expert on them.

Since you cite Python as one of your stronger languages and seem to be considering data-centric jobs, maybe start looking for jobs with "Data Engineer" or "Senior Data Engineer" in them. It will require you to be more knowledgeable on the DevOps / infrastructure side of things than some software engineers prefer to be, but if you don't mind that, it does pay well and has a lot of opportunities for growth career-wise.
posted by tonycpsu at 1:10 PM on April 19, 2022 [9 favorites]


Three years doesn't sound like 'senior' to me in any field. Three years doesn't even make you a senior in high school.
posted by SaltySalticid at 1:13 PM on April 19, 2022 [7 favorites]


Response by poster: I have experience with DevOps yes. At the previous startup I worked at I did a lot of that, worked with Nginx, and stuff like GitHub Actions and so on.

I think I'll look into those jobs. Brings me closer to finance too.
posted by Tarsonis10 at 1:16 PM on April 19, 2022


Senior is more like eight to ten years.
posted by june_dodecahedron at 1:20 PM on April 19, 2022 [8 favorites]


You might find this article from Charity Majors relevant/interesting: https://charity.wtf/2020/11/01/questionable-advice-the-trap-of-the-premature-senior/
posted by gregjones at 1:38 PM on April 19, 2022 [3 favorites]


Depends on the company but senior can be achieved in 3-5 years in a FAANG company. Since startups tend to have title inflation, 3 years + grad degree would give you a very good shot at senior.

Check out Levels.fyi

Talking about title inflation, I'm at a silicon valley company 1500+ people that has 26yo staff engineers. Staff is the level above senior.
posted by just.good.enough at 2:16 PM on April 19, 2022 [3 favorites]


Sometimes people tell me I'm good at doing that because I can work on my own and can direct projects somewhat. I don't know if I still have the leadership skills though. I've led stuff but not like teams of five people or something like that.
At my Silicon Valley company, Senior folks are expected to be able to not only do their own work, but guide the work of others around them, whether or not it's in a formal Tech Lead or Manager capacity. If you're working well on your own but not yet leading others, you wouldn't be qualified as Senior.

Also note that your ability to get hired at a level depends dramatically on the company: Google is famously conservative and hires PhDs and people with decades of industry experience at L4 (one step below Senior); while Facebook has a reputation for having a slightly easier bar to pass (but being more willing to fire you).
posted by kdar at 4:27 PM on April 19, 2022 [1 favorite]


Best answer: Don't listen to people saying you need more than 3 years for Senior. I mean, that should ideally be the case, but my company regularly promotes people 3 years out of college to Senior roles. I agree it is a "terminal" level title in that people regularly top out there (and are expected to eventually get there).

Please do go ahead and apply to the Java and C# jobs. Often, these job requirements are from 2 years ago, or written by recruiters throwing together a list. It could very well be that you won't pass the criteria for these jobs, but let the recruiters/interviewers make that decision. When I moved from academia to industry, the role I landed in had a job description with a list of technologies I hadn't even heard about.
posted by redlines at 4:57 PM on April 19, 2022 [2 favorites]


Best answer: Job titles are arbitrary and political, and do not have any clearly defined requirements or responsibilities.

Apply to jobs based on the compensation and requirements, not based on that company's taxonomy of job titles.
posted by meowzilla at 5:30 PM on April 19, 2022 [8 favorites]


You mentioned Finance, and Banking Software is my background (which granted isn't exactly the same). But my observation has been Associate Programmer (grunt), Programmer, Senior Programmer (what cmm said above), Lead Programmer (responsible for a sub-system and/or guiding and mentoring other team members, reports to Senior Lead or Manager). I have seen very sharp programmers rise to Senior in a few years by putting in extra hours, learning the system and being well organized and communicating/coordinating/supporting other team members well.
posted by forthright at 6:01 PM on April 19, 2022


I was told at my former employer that Senior meant 8-10 years. I was at 10. It didn't matter. If you feel like you can lead a team, be a mentor, and speak the lingo, just go for it. It's a good time to just give it a shot.
posted by getawaysticks at 7:52 PM on April 19, 2022


My experience in tech is that lots of people have Very Strong Opinions about what makes someone a senior dev, and also that these opinions are all over the map. May as well apply, the worst they can do is say no.
posted by Ragged Richard at 8:48 AM on April 20, 2022 [1 favorite]


« Older Please recommend a mini hand held cordless vacuum....   |   Is this a bedbug? Newer »
This thread is closed to new comments.