Live data from Hacker News

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

news.ycombinator.com

261–270 of 305 posts

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

#261
First off, I think you can actually learn _better_ from others, the odds you have a world class[1] Senior in your company, or even will work with on in your career, is pretty low.

Here's what I recommend:

1. Build a corpus of materials: Conferences (in person, and you can youtube them), books, courses. Cross product these concepts with tools/techs - DBs, coding tools like IDE and source control, programming languages, programming paradigms, software craftsmanship, network stack / protocols, debuggers, Observability and Ops, Peopleware / wetware. 2. Think of attending conferences as seed materials for future research, write down every term, subject, and technology you're curious about, never heard of, are scared of, think is out of your league/level. 3. Spend an hour a day on weekdays, and 2-4 on a sixth day, sharpening the saw[2] (learning) 4. Close loops on subjects by taking action. Eg: If you finish a chapter on a certain DB, install it, insert some data, learn to bulk insert, try some complex queries. If it's a language try to write a breakable toy[3]. If it's a paradigm, try a code kata and write the same one in multiple paradigms. 5. Remember: you read a text book a month in Uni, try to finish a text book (or equivalent effort) per quarter/half for the remainder of your career.

[1] - These are definitionally top .1 or even 0.01% engineers (amongst the engineering population, not the general population)

[2] - Sharpen the saw - https://www.franklincovey.com/the-7-habits/habit-7/

[3] - https://ilango.hashnode.dev/learning-by-building-breakable-t...

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

#262

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…

> Understand everything in every article, do not accept not understanding everything.

I’d be careful with that. It’s a great way to get lost down the rabbit hole and works against being focused. Eventually you have to get to a point where you say to yourself that it’s someone else’s problem beyond here and double back.

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

#263
I’ve worked adjacent to data science for natural gas well services. You’re on the right track to be thinking about this as a problem; it’s easy in O&G to get sucked into solving a problem right this minute, and to hell with the long term. The advantage of being in your position is that literally nobody knows how long anything should take (although in O&G the answer is always “do it yesterday”) which potentially gives you some breathing room to explore new ideas. Bear in mind that your industry is notoriously prone to consolidation as well as newcomers cropping up like mushrooms after a rainstorm in response to boom/bust cycles. Keep your eyes open, nothing lasts forever in O&G, and forever is five years. You will need to be ready to move on when the time comes.

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

#264
post #255
post #235

Earlier quoted context omitted.

> 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.

I believe it was Knuth who said practice informs theory and theory informs practice. You need both.

And there's an adage updated with modern understanding "Perfect practice makes perfect" . It's not just repetitions but ensuring you train the patterns you wish to do automatically next time.

Excellent code is slow to write, the first 10 times, but eventually it's just as fast as junky code.

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

#265
I was never mentored by any super great engineers. Worked with some brights ones, but never got formally taught by them.

The way I excelled from beginner to a higher level engineer was self learning, curiosity, building things so I could understand them. Example: when learning dependency injection, I found a tutorial on how to build your own DI container. So i built one and saw how it worked internally. That was SUPER useful.

I recommend Podcasts, YouTube Videos, Courses, Conferences, Participating in Open Source (even writing docs that are missing is helpful). Ultimately its about using what you learn and always being curious, learning patterns, and what is useful vs what is not.

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

#266
It is entirely possible to learn by yourself online. I did it! But a warning: you will spend years in the weeds, focusing on things that don't matter. Good in-person advisors can help you avoid some years wasted time.

The fastest way to learn is to move to the Bay Area and work with people who have been doing this for decades. That is not a sufficient criteria (anyone can be a bad teacher), but the experience is extremely useful.

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

#268
Follow the other instructions if you wish to be top 1% super-achiever. If you like a more realistic approach to the everyday man, I would recommend to be part of a social circle of developers. Friends from Uni, some local coding meetup, a group of like minded people at work. By hanging out with people that are developers you will share experiences, humor, struggles, etc. you will learn from their experience and they from yours, they will pique your interest in things you didn't know about or guide you to technical words you missed in your vocabulary. Essentially you will be learning by osmosis.

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

#269

Earlier quoted context omitted.

1) Is this really the case? I mean some of the popular open source project are kind of mature. So you would get some feedback, regarding some specifics of the frameworks. For sure you would learn a bit. On the other hand they are kind of "done" software, so you would not really learn how to build something new from scratch. Not sure about the other points.

You learn so much by looking at how mature succesful software looks under the hood, which you will have to do as a condition for writing a good PR. But, sure, don't send PR's for things that don't matter just to send PR's, that's just annoying. But if you send a 3-line PR to fix a bug, that required 15 hours of study of the code to diagnose and figure out the right 3-lines, that is HUGELY educational. Working on imma…

One of my best contributions was a 1 line fix in one of Microsoft's repos. It took me a day or two to understand the code and what it was doing but it was well worth it.

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

#270
I've been in similar positions. It's a good way to gain experience and level up fast. There are downsides, though - lack of technical oversight adds pressure (if I do something wrong, nobody will catch it) and lessens appreciation (nobody understands how good this is), which can contribute to burnout.

Pairing and doing code reviews together with someone, even if they're not more skilled than you, is a nice way to feel better about technical work. Catches bugs well too.

Seeing if you can learn from seniors in or outside the company is worth it. Sounds like you won't get detailed 'here's the right algorithm for X' help but that's not the worthwhile bit of any mentorship IMO - the useful parts are more often 'here's a way to push back on unrealistic requirements / work with colleague X better / handle conflict.'

Finally, remember that there aren't some mythical grownups who Do Things Right(TM) - everyone is making it up as they go along. You're already valuable to the co, and you'll keep getting better with experience - blink and you'll be the senior producing to 'highest standards' and giving all the new hires impostor syndrome ;)

Post reply on HN