Live data from Hacker News

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

news.ycombinator.com

151–160 of 305 posts

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

#151
post #118

Earlier quoted context omitted.

Hey man thanks a lot for your advice! Just to clear up some misunderstandings (caused by my own lack of information supply TBH): - I'm hired full-time with benefits now after working freelance for 6 months - I get paid 4.5x more than my peers in this company - I got these many responsibilities after proving my competence and delivering on reliable solutions in my freelance tenure. - Yep. Once again, I'm a little over…

You are one lucky dude. I think you do not need anyone's help. You can learn by doing what you do and some reading / experiments.

Came here to say this.

The Oil & Gas industry is not sexy and never will be, but it pays well above market and people with niche skills will do very well there (as you have no doubt now seen).

Technological progress in the space tends to move pretty slowly (especially on the Operational Technology side of the business) owing to many factors, but mainly risk avoidance. The flip-side of this is that once one company adopts a technology, the others tend to follow suite, so what you're doing may be very portable should the need arise.

Another benefit of O&G is that due the the specialised nature of a lot of the roles, you'll keep running into the same people at different organisations throughout your career, so keep your keep expanding your network along the way.

Don't let your perception of slow growth worry you too much - on the technology side, progression will come naturally as you take on new and more challenging projects. As a tech in a very different field, but a similarly isolated environment, I too have had these thoughts throughout my career, but remember there is a big wide world outside of silicon valley, and plenty of successful careers to be had.

It sounds like you have a boss you like who you could learn a lot from - this is huge. I'd focus on getting him to teach you to become a domain expert in the Oil & Gas space. This combined with your (relatively) niche technology skills will make you a unicorn in the future and combined with your network, pave the way should you want to become independent in years to come.

Good luck!

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

#152
post #144

Earlier quoted context omitted.

There is a big difference between articulating "code" clearly and articulating clearly when you speak / write to other humans.

Code is written for other humans

Ideally, yes. And I agree that there's some correlation of how well clearly people can write prose and write code. But, articulating yourself with your teammates is not only about writing well. It's also about saying the right things. I have seen many engineers that write code well, can write a paragraph in English well, but just don't communicate enough and don't communicate the right things at the right time etc.

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

#153

Couple of important lessons that will keep you in good stead for a long time: 1. Learn how to learn well, continuously, and sustainably. Tech changes rapidly. And you will want to hop from one domain to another, just for keeping things interesting and to move with markets. This is both a blessing and a curse. It is a blessing because you can start late and still be in the top percentile if you have the brains and wor…

I would argue that articulating clearly is not a non-technical skill, it's the essence of what software engineers do.

I agree. Writing well is _highly_ technical.

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

#154
post #108

so many red flags here > fresh graduate data engineer to the company, they see this as "cheap labor" > hired 6 months ago as a freelance basically, they put you through the ringer without having to pay out benefits > essentially functioning as a tech lead a fresh out of college graduate is far from being qualified as "tech lead", you are out of depth here > with full responsibility and ownership of designing, impleme…

Hey man thanks a lot for your advice! Just to clear up some misunderstandings (caused by my own lack of information supply TBH): - I'm hired full-time with benefits now after working freelance for 6 months - I get paid 4.5x more than my peers in this company - I got these many responsibilities after proving my competence and delivering on reliable solutions in my freelance tenure. - Yep. Once again, I'm a little over…

for sure: get a peer or subordinate that's somehow experienced. It's good for 2 points: to have someone to exchange knowledge and to have them as a backup, at least for support operation.

Then for your skill, understand that usually data is the most important thing in a system, especially for internal company. Learn about database design and normalization, as a data engineer I'm sure you know how critical it is. As for application level, ensure that ACID is achieved on critical-level operation, and learn maintainability.

Additionally backup / disaster recovery and/or replication also can be learned if you interested on devops route more. Having a backup (and can restore it) is a must, either you or hire someone else to do it, or hosting at a cloud.

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

#155
I don't think you necessarily need a mentor. I would do that:

1. Learn algorithms, buy some book and start reading.

2. Learn theory of neural networks, use the Chollet book to develop some knowledge and intuition.

3. Write many small "pet" programs implementing basic stuff: implement a small database, a small programming language interpreter, a small editor, a small neural network, ... Each time try to apply good design.

4. Embrace simplicity in everything you write, don't make things more complex than needed.

5. Read good quality code, especially read open source code which is at a degree of complexity that makes reading valuable. Dont' read Kubernets... or PostgreSQL perhaps. Learn more self-contained code bases.

6. Participate to some OSS poject.

7. Start some side-project and put it on GitHub, were you are the main designer. Develop something that you need. A library, or a small utility, something that you really enojoy doing. Do it at a quality level that makes you happy. Never regret pushing code on GitHub if you feel that for the level you are right now it is appropriate.

8. Don't give a fuck about what other programmers think of your work, if you did it at the max level of what you can do. Anyway most programs on the Internet suck, including the ones of people feeling very competent.

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

#156
post #108

so many red flags here > fresh graduate data engineer to the company, they see this as "cheap labor" > hired 6 months ago as a freelance basically, they put you through the ringer without having to pay out benefits > essentially functioning as a tech lead a fresh out of college graduate is far from being qualified as "tech lead", you are out of depth here > with full responsibility and ownership of designing, impleme…

Hey man thanks a lot for your advice! Just to clear up some misunderstandings (caused by my own lack of information supply TBH): - I'm hired full-time with benefits now after working freelance for 6 months - I get paid 4.5x more than my peers in this company - I got these many responsibilities after proving my competence and delivering on reliable solutions in my freelance tenure. - Yep. Once again, I'm a little over…

I would definitely push for the company to hire a peer, a second-in-command; for you, that would be someone to verify and bounce your ideas off of, but to sell it to the company, you can sell it as risk mitigation, because right now this tech-first, data-driven direction your company is going into rests entirely on your shoulders, which is very risky; even if you can theoretically manage it on your own, accidents happen, burnout happens, etc. Nobody should be irreplaceable, and this isn't to shit on your achievements, but a higher level corporate thing.

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

#157
Most people don't have seniors to learn from, so don't feel like you are behind because of that. What I did was constantly build stuff at home, commercialization motivating me. I learned plenty of stuff that way. I created websites in the early days of the WWW. I created iPhone apps back when it came out, I created improved versions of apps used at work, I built new apps that work would use, etc. I kept in mind that these apps needed to work at the "enterprise" level, so I had to make sure they could handle load, had efficient algorithms, database structures, etc.

My thought process was I get to learn stuff, so even if I didn't make any money off it (I mostly didn't), I learned how to ship. This included (yuck) documentation, QA, etc. Doing things like that you really learn not only how to code and how to structure your programs, but about the 80/20 rule which to me is it takes 20% to get POC and 80% to get it ready to ship.

The senior I finally got to work with was mainly to validate that I was on the right path, because I could write just as well as he could. I met this guy probably 4 years into my career and we were pretty equal at that time. He had about 5+ more years experience than me, and he was VERY sharp. I probably haven't worked with someone better since and this was 20+ years ago.

One more thing, I was the "computer guy," at my first company out of college. I did the workstation building and support, the networking, the server setup and user administration (Windows NT days), and wrote applications in MS Access for the company to use. I had to interview the users and managers on what the apps should do and whatnot. I had to learn how to scale MS Access for 250+ user base (ugh). I had to do all the reports and everything computer related. That company was a toxic shithole but it was actually a blessing. I never would have learned as much had I got a big corporate job. You tend to get pigeonholed in those places doing the same thing over and over. And yes, I was terrified of not being good enough the whole time; that helped too.

Good luck!

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

#158
post #128

It might be a bit early for you, but resources like this would help you on your career later on: https://staffeng.com/ “Software standards” come and go, changing relatively quickly, so don’t sweat it too much. You will learn from mistakes, and that’s ok (for me, dunno for your employer :P)

The nice thing about standards is there are so many to choose from!

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

#159

Earlier quoted context omitted.

That has the same energy as saying "don't say your house was expensive until you compared prices with bay area houses" - not everyone in the world can work for silicon valley companies even if they wanted to. They are a nice aspirational things up in the sky to sometimes think about, but realistically, 99% of programmers are never going to work there and should be comparing their pay against peers within their indust…

This is true, he should be comparing with software engineers in his COL area, but not with other people with random jobs in his office.

actually he should be comparing with other software engineers in his industry

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

#160

Earlier quoted context omitted.

You'd be surprised at how useful Stack Overflow and ChatGPT can be at helping to illuminate knowledge gaps. I've found that one of the harder aspects of being unguided is figuring out the unknown unknowns. You might stumble into a solution of sorts that mirrors a best practice but not know there's a "name" for that solution -- until you see it spelled out after googling around. That discovery can lead you down a rabb…

its the simple things fuzzing unittest scm code coverage if youre programming without those, youre doing it wrong, and chatGPT isnt going to help any more im missing?

Everyone hates hearing this one: Documentation, documentation, documentation. Programming is a social task. Therefore, everything else related to software development best practices branches off from that.
Post reply on HN