Live data from Hacker News

Things I Learned to Become a Senior Software Engineer

neilkakkar.com

71–80 of 129 posts

Re: Things I Learned to Become a Senior Software Engineer

#72
post #61

It seems millennial achievement medals have now become job titles. Two years to become a senior engineer out of college is a joke. You only just know how to work in a general sense in that time frame, domain expertise comes much later. After a University degree, you only really know what page in your textbook to turn to when you recognise a problem. I come from a mechanical engineering background and it probably take…

Twenty years ago I was promoted to "senior" three months out of university, for the adhoc purpose of improving the number of senior developers on our pitch to clients. On the other hand, that was the dotcom era. The number of people writing software simply exploded, as did the available technologies. The entire traditional way of doing things was simply obsoleted, multiple times over. A 21 year old Finnish student ha…

>If you follow that timeline, there would be plenty of people who were millionaires and on their second or third startup board before reaching "senior".

What does being a successful entrepreneur have to do with being a senior engineer?

Re: Things I Learned to Become a Senior Software Engineer

#73
post #38

Earlier quoted context omitted.

> Two years to become a senior engineer out of college is a joke. Sure > After a University degree, you only really know what page in your textbook to turn to when you recognise a problem. No. My first job during college was to create an iOS app for a researcher (an extensive multimedia questionnaire). What I did: take Hegarthy's course, and understand it. After that, I simply could create the app by thinking logical…

You may have had the ability to create a fairly simple app or add to an existing one with low stakes / impact. But, it takes time to be able to quickly reason from a fundamental, first principles levels in order to engineer robust solutions to problems. On a side note, I don’t agree with bootcamps as they don’t teach the core principles of computer engineering and software design. Coding is just a skill, and you need…

You're making a lot of assumptions about my situation that you can't backup with evidence. It might be true. It might not be. But you seem to make a strong stance for that I worked on apps with low stakes/impact and that they were fairly simple. You don't know that, so why paint that view so strongly?

> On a side note, I don’t agree with bootcamps as they don’t teach the core principles of computer engineering and software design.

I did both. I studied CS and happened to work as a teacher at a coding bootcamp while studying CS.

> Coding is just a skill, and you need some fundamental knowledge behind it in order to execute it safely and robustly.

Emphasis mine.

I disagree with this. I've seen many experienced software engineers knowing nothing about how to hack (important for safe code execution), I've had a couple of courses in it and did some hackthebox.eu after that. So I know as much about hacking as I know about software engineering, I'm a junior in both cases. Nevertheless, I am the one that finds major security vulnerabilities in the code of the company I work for.

A lot of security issues isn't fundamental as the "fundamentals" are things like: "look for configuration errors" or "look for hardware bugs that hardware vendors haven't looked deeply enough yet" or "look for a place where humans are careless" (e.g. the suidbash vulnerability is an example of the last one). That's a lot fuzzier and vague than CS fundamentals.

Re: Things I Learned to Become a Senior Software Engineer

#74

There is a shocking amount of ad hominem and focus on the years of experience in this article. Are people actually reading the article? Perhaps surprisingly, it's really fucking good. I'm absolutely planning to share this with junior devs that I work with. Author may not realize how much more there is to learn than he already knows, but we all kind of have that problem, just at different scales, am I right? He's doin…

Thank you, darkerside! One meta-goal of the post was to figure out how I can grow further. Are there things on top of your mind which I should be exploring next?

One thing I'd expect to see more of in this type of article would be understanding the business domain. It sounds like you understand the value of doing so from your section on leaning what others around you are doing. But I think over time, you'll see that learning those specific business nuances is what separates the promising engineer from the seasoned veteran who hears a business problem and already knows the 4 ways it's been attempted to be solved and why they didn't work. And importantly, still has the optimism to try again in a different way! I recognize every organization is different so YMMV.

Rereading my post it may have came off as a bit of a backhanded compliment and wasn't intended as such. Terrific post. I think it will help a lot of people.

Re: Things I Learned to Become a Senior Software Engineer

#75

I guess the meaning of Senior has changed, that's fine - but what is the level beyond Senior now? Ancient? Graybeard? Hallowed?

As a serious answer: staff, principal

As a cynical answer: many companies seem to think that more that 6-7 years of engineering experience is at best a waste of money and at worst counterproductive

Re: Things I Learned to Become a Senior Software Engineer

#77

Earlier quoted context omitted.

Not if someone is striving every day to become better, observe, learn, test, and adapt. For someone who procrastinates a lot and does not proactively look to improve, it might take 6-8 years!

I don't know if this comment is serious, but I'd suggest you explore the idea that you don't know, what you don't know. With a few years of experience, you can feel comfortable in a technology stack and seen and learnt from a few mistakes. You may know the names of other areas, and played around with them a bit, but you won't understand their pitfalls. This is not enough to make decisions. Software is not easy, it's…

What you say is true. Perhaps, a distinction ought to be made between mere mortals like us, and the obsessed ones. In our era where information is more easily available than food, and where experienced people willing to help, are just as reachable, I think for someone who dedicates the time towards mastery, 2 years will take him/her very far.

Re: Things I Learned to Become a Senior Software Engineer

#78

It seems millennial achievement medals have now become job titles. Two years to become a senior engineer out of college is a joke. You only just know how to work in a general sense in that time frame, domain expertise comes much later. After a University degree, you only really know what page in your textbook to turn to when you recognise a problem. I come from a mechanical engineering background and it probably take…

I agree 100% with you

Have worked as both PM and developer and now run my own very small software company

A) two years senior engineer is like one of those consulting companies where everyone in 2 years becomes DIRECTOR

B) In two years most new programmers have not even gotten their heads out of their asses

C) You should refer to Outliers

10,000 hours to master a task

And to that add

10,000 hours to make your first masterpiece

D) Even if you have managed to get 10,000+ hours of coding experience in high school and college and somehow become a very good programmer (which less than 3% of CS grads do)

it will still take you 6 to 10 years to get another 10,000 hours of working on masterpieces and making really good software that you can ship and make money from

E) a title like 'Senior Software Engineer' should be reserved for someone who has MADE and SHIPPED and GENERATED MONEY from a very good piece of software or some software product

F) Personally, I would think any company handing out Senior Software Engineer titles after 2 years is a joke

Between all the places my friends and college mates and I have worked (Microsoft, Google, Amazon, Facebook, Oracle, etc. etc) I can't think of any place that handed out Senior Software Engineer like it was candy

Even very, very good programmers had to EARN IT

Re: Things I Learned to Become a Senior Software Engineer

#79
post #61

Earlier quoted context omitted.

Twenty years ago I was promoted to "senior" three months out of university, for the adhoc purpose of improving the number of senior developers on our pitch to clients. On the other hand, that was the dotcom era. The number of people writing software simply exploded, as did the available technologies. The entire traditional way of doing things was simply obsoleted, multiple times over. A 21 year old Finnish student ha…

>If you follow that timeline, there would be plenty of people who were millionaires and on their second or third startup board before reaching "senior". What does being a successful entrepreneur have to do with being a senior engineer?

Well indeed. If you can write an app well enough to earn a million dollars, what use do you have for other people's opinion of your seniority?

Re: Things I Learned to Become a Senior Software Engineer

#80

I guess the meaning of Senior has changed, that's fine - but what is the level beyond Senior now? Ancient? Graybeard? Hallowed?

In the midwest it's "lead". I've also been on teams where nearly every developer is a lead, which sounds strange, but it's really just a confluence of "could this person lead a team" and pay band.

I've seen the following structure at several orgs:

engineer -> senior -> lead -> staff/principal -> distinguished

Post reply on HN