Live data from Hacker News

Ask HN: How can I grow as an engineer without good seniors to learn from?

news.ycombinator.com

231–240 of 305 posts

Re: Ask HN: How can I grow as an engineer without good seniors to learn from?

#231
A lot of good advice here. I'd add a bit more.

I was similar to you out of school—ended up the lone techie in a small oilfield services company.

How do you grow as an engineer? Go get a job at a company that does that. It won't be hard. Based on the problem-solving experience you're getting now, you'll impress hiring managers much more than similar-aged / similar-comped candidates, because all they have done is focused on code, and your mindframe is probably somewhat permanently bent toward larger-picture thinking. This is an asset.

It might be the wrong question, though. The question is: are you sure you want to be an engineer? You have a seat at the table in a small business and a mentor who is a strong and experienced operator in the space. Don't under-value that setup for making a career. If you measure yourself against the yardstick of being a good technologist, then yeah, this is not the best setup to grow. But if tech is a skill, not an identity, then you have other goals: building a strong career, producing value in the market and capturing some for yourself as wealth. Lean into playing that game. Ponder how irrelevant it is that some 26-year-old vegan in Silicon Valley would sneer at your code quality. Make it your goal to have an ownership stake in your company or a similar one in the space—maybe one you start or acquire with leverage from your mentor—by the time you're 35. If you get this right, you will earn dramatically more money in your career than most engineers. You will face much better odds of business success than most startup founders. And frankly, the small business operator space is starved for high-end young talent. (It's not comparatively lucrative for the first 5-10 years, and people find the frequent nepotism annoying.) There are a ton of boomers with profitable businesses and no good succession plans. The infrastructure they built—or at least their customer bases—has to go somewhere.

My story: I left the small business I started in and went to a tech company, but I did it because my first firm was terribly unhealthy. (It folded soon after.) Never lost the vision for building and owning something, though.

Re: Ask HN: How can I grow as an engineer without good seniors to learn from?

#232
I'll speak for software development, but in principle it's the same for any other domain.

Read about your technologies. A lot.

When I started working (about 3 to 4 years) , I spent 20-30 minutes a day reading DZone articles about Java, software design, architecture, OOP. Persist and do it daily. Repetition and habit are key.

And be focused. Understand everything in every article, do not accept not understanding everything. For each article, try to find out whether it makes sense, try to understand what the author wants to tell you. Think about how you would have done it. When possible, apply what seems to be useful and overcome the limitations of what is written /proposed in the article.

Occasionally, do the same with IT books instead of articles.

Then explore further, for example, find out how certain popular OOP patterns may be replaced by other, equivalent, patterns in FP. Think about how OOP classes are equivalent or not to closures in FP.

Also, become an expert in fundamental practices, like transaction management.

Application of theory is key.

That's how you do it.

Re: Ask HN: How can I grow as an engineer without good seniors to learn from?

#233

You are in a great position to learn. BTDT (Companies too cheap to hire experience, and I'm pretty smart). I am also a high school dropout with a GED, so...cheap. In my case, I remained very humble, voraciously ate up all the literature I could, and got my company to send me to many seminars, conferences, and classes. I did a lot of traveling, and learned to be frugal (lots of cheap motels). I made a lot of mistakes,…

> "Good judgement comes from experience. Experience comes from bad judgment."

Damn that's good

Re: Ask HN: How can I grow as an engineer without good seniors to learn from?

#234
Learn to learn.

Read books. Watch conference talks. Attend conferences. Find local meetups.

One benefit of this for you is that you have to take full responsibility for your own advancement. As you find things about your work that interest your or that are complicated problems, get excited about the opportunity to solve them because that’s where seniors really come from; deep experience solving and understanding problems.

Good luck!

Re: Ask HN: How can I grow as an engineer without good seniors to learn from?

#235

I'll speak for software development, but in principle it's the same for any other domain. Read about your technologies. A lot. When I started working (about 3 to 4 years) , I spent 20-30 minutes a day reading DZone articles about Java, software design, architecture, OOP. Persist and do it daily. Repetition and habit are key. And be focused. Understand everything in every article, do not accept not understanding every…

> Application of theory is key.

I often see people either get caught up in theory without practice, or proclaim that it's all about experience. Actual time spent writing code is probably the most important thing, but having some foundational ideas and getting to skip some things you've have to painfully learn yourself by reading and then getting to apply them directly is huge.

Re: Ask HN: How can I grow as an engineer without good seniors to learn from?

#236

You are in a great position to learn. BTDT (Companies too cheap to hire experience, and I'm pretty smart). I am also a high school dropout with a GED, so...cheap. In my case, I remained very humble, voraciously ate up all the literature I could, and got my company to send me to many seminars, conferences, and classes. I did a lot of traveling, and learned to be frugal (lots of cheap motels). I made a lot of mistakes,…

> "Good judgement comes from experience. Experience comes from bad judgment." Damn that's good

Never could figure out where it came from ("Attributed to Nasrudin").

I think Will Rogers and Rita Mae Brown are credited for using it.

Re: Ask HN: How can I grow as an engineer without good seniors to learn from?

#237

Solve problems and pretend you are senior. You'll stumble, fall, make mistakes but that's the best learning you can hope for.

This. You can read about best practices and learn of course, but the only way you'll really find the right solutions for your particular environment, apart from learning from those more experienced, is trial and error. Subjectively, you're in a better spot than if you had terrible seniors, in which case, you'd learn the wrong lessons.

Re: Ask HN: How can I grow as an engineer without good seniors to learn from?

#238
post #228

I have found myself in a similar position between independence and isolation in my role, though it's not as high-profile. I am interested in the other answers here and will add my two cents. Recent hiring: KEEP IT STUPID-SIMPLE. Being new at the company, less experienced, and empowered, you will probably be tempted by lots of "solutions," whether they're products, frameworks, management buzzwords, etc. Most of them a…

To add another piece of personal advice - keep a log about pretty much everything you do, every day, like Picard with markdown. You will thank yourself later.

Re: Ask HN: How can I grow as an engineer without good seniors to learn from?

#239
Theoretically yes. Practically no, unless you're 1 in a million genius/savant (but in that case you would not ask this question).

You need some example, some role models to look up to.

And it's usually not about some tech details (you can google it), but about some important style of work, ways of thinking, approaches to engineering, attitudes etc.

Something that you can't find in books, yet it is very real and important for hi quality engineering work.

At the same time it is not necessary for a relatively successfull career. Most of the companies are fine with mediocre software products (you can see this around you lol) and would not pay more for higher quality work.

So the ultimate answer depends on your definition of "grow as an engineer" :)

Re: Ask HN: How can I grow as an engineer without good seniors to learn from?

#240
I'll give you some senior advice too, which is probably a bit of a different direction than what you expect. In regards to this:

> However, I have some strong FOMO about not being able to learn much technical stuff from my peers or seniors. I am trying my best to learn and pick things up on my own, learning design principles, getting code reviews from ChatGPT, etc. But even then, I'm afraid I am not producing the software to the highest standards of the industry since we don't have any rigorous cross-checking, and might be missing out on a lot of learning.

On having the right mentors:

This sucks, and I think the rest of the comments have good advice (look to open source, read more, etc.). I'll also say, think of the upsides. You have a lot of autonomy. You have a lot of latitude to implement your ideas. You have the ability to ship something and see it fail, learn from that, and improve it.

At some of the big companies, there are so many talented people hungry for good jobs or empire building that it’s really hard to have your ideas implemented.

On high-tech quality:

I spent many years working at Airbnb and Amazon. I have friends at Facebook and Google. The honest truth is that all of these places have lots of bad code. The entire industry is held together by duct tape and glue. If Google (clear tech leader of the 2000s-2010s) and Airbnb (Tech-darling built in a post-AWS environment) both have "bad" code, where is there "good" code?

1) Companies that succeed solve business problems and don't focus on fixing tech debt that doesn’t fundamentally matter to customers.

2) Real businesses are complex and don't fit nicely into good design patterns. Every big refactor and rearchitecture I saw at Airbnb started with good design but got complicated once they hit reality.

3) Good engineers deliver good results despite bad code. Take the time to deeply understand your tech stack. Figure out which parts of the code are brittle and figure out ways to improve them. Make the case to your business partners that fixing things will improve developer time, reduce mistakes, and save them money.

And you’re in your first job, not your last job. Take the time to learn the ropes, and when you feel like you've outgrown your role, find a new one. There’s always something to learn.

Post reply on HN