
Ask HN: Lost in Life and at Work, Help? - thrwlost
I am 30 years old backend engineer, totally lost in life. What can I do: create CRUD&#x2F;REST API over database.<p>Trying to change my current job, but have fear of failing in new place, companies are asking for high-load experience, AWS, GCP, distributed systems, microservices, event driven architecture, some asking how many micro-services we have in current stack and so on.<p>I work in fairly loaded system with over 1M daily active users, for which we create analytics, with small team, with good old RDBMS database. No fancy distributed systems, no 1000s of microservices (just 4-5 services are working really fine for us), no consensus problems (in case we need consensus, simply lock database table and serves us fine for quite long time, not enough? just lock different table based on hash of key).<p>I assume natural way to grow as an engineer and not regret at 40 years age is to become expert in some area, could be storage engines, some types of NoSQL, in-memory caches, maybe AWS&#x2F;GCP expert or person who understand leader election&#x2F;gossip&#x2F;.. type of things really well.<p>But I am afraid I should sacrifice lots of time from my family, from my kids and wife to become an expert in a field which I am not currently employed.<p>What can I do?
======
downerending
No specific advice, but if I had it to do over again, I'd spend a lot more
time with my kids and family, and less on tech.

------
k3ym0
I think you're describing what keeps many of us working in tech; an unceasing
itch to learn and tinker. It's a good thing though - you can't be successful
in this field without it. We all struggle with balancing that itch with the
FTE and maintaining relationships - none of us have it figured out (I
certainly struggle with it).

Look, all that aside, sometimes the best thing you can do is jump. Being in
your comfort zone is a dangerous place that breeds complacency.

------
matijash
Here's advice from another almost 30 years old engineer :). So I might not
have more experience, but here is how I think about things, maybe it helps.

I think the most important question is: What interests you? And I believe the
answer should be more general than a specific technology such as AWS or GCP.

You said you would like to grow as an engineer. There are typically 2
directions - going more into managerial/leadership roles (e.g. staff engineer)
or being more of an individual contributor (no management, only engineering).
Good book on this - Radical Candor. It is also totally ok to switch between
these roles.

About being afraid - what do you have to lose? With engineers being in such a
high demand you definitely won't end up jobless. If you are thinking about
doing it and are not happy with your current company, I'd say do it and fail
as many times as needed until you get where you want to.

Another good way to learn and build a portfolio is doing a side project. You
can then open-source it, write a blog post on it and sort of become an
"expert" on that topic.

Regarding your wife and family, probably the best thing IMO would be to talk
to them - explain them your position, ask for support and agree with them how
it is going to work.

When I don't know what to do, what typically helps me is to take action. Any
action. Once I start doing things, things start to unravel and become clearer
very quickly.

Hope this helps!

~~~
non-entity
Serious question: If you have 10 years experience in _X_ , but is looking for
jobs in _Y_ , are employers, recruiters, etc. really going to care if all you
have to show your competence is a few side projects and blog posts when the
position wants 10 years of experience with _Y_?

~~~
thrwlost
this was exactly my point, if you are lucky and joined company which has high
potential to grow and/or joined Google like companies with crunching lots of
competitive programming problems (leetcode, hackerrank) then you might join
teams where people work on kubernetes, large scale storage, low latency
proxies and so on.

Even though some of them are open source, it is not easy to do contributions
after whole day of coding. I did this in the past, to become productive in
projects like k8s you should invest a lot of your own time. At small scale k8s
rarely fails and features out of box is enough for most companies, since you
don't have large scale problems/experience it is difficult to come up with
feature which could be useful for k8s community.

this applies to other projects as well. Unless you are working full time on
field, it's not easy to become expert in that field

------
photawe
1\. talk to your family, let them know 2\. think about what you'd like to
learn - be specific 3\. look for jobs in that area, and explain from the get-
go that you'd like to learn-on-the-job (explain your expertise), and tell them
that you're willing to take a loss-in-pay in the short term, just to prove
yourself (thus, your truly desired salary will happen later).

If you can take a loss in the short term, and are actually willing to learn, I
think you'll succeed long term.

------
helph67
Could more direct contact with your company's clients help? It might be
advantageous for you, your company and its clients.

------
trilinearnz
Thoughts from a 36yo engineer who has decided to transition away from IT:

Specialising in the areas you mention is a big bet, as it implies that the
product / architectural approach will remain constant as time goes on. Except
for enterprisey institutions like Oracle, SQL Server, or big ERP systems, this
isn't really a tenable strategy as the rest of the industry carries on
innovating.

Rather than specialising, the modern approach to longevity is _learning_. You
can still carve out your preferred area (e.g. backend), but you must be
prepared to move with the tides. You don't have to be an early adopter of
every new hot, prototype tech that comes about, as that takes a lot of energy
and can be frustrating. Instead, consult industry publications like InfoQ
which cover more long-term patterns in the field, and use those to inform your
choices of further investigation. This will expose you to actual use in the
field, by other companies (e.g. how many seem to be using it, and what common
failures are experienced). For example, microservices has been around since
about 2010, and was borne (IMO) from Service-Oriented Architecture which was
around since about 2005. If you take notice of the rise of cloud technology,
you would be able to see the trend towards separating applications and
separating processing.

Cloud and microservices, regardless of their foibles or unsuitability, are
often a reality as the tech industry moves in a way that is not really very
wise, and things are often rediscovered in different ways. As an alternative
to embracing this "move with the tide" approach wholeheartedly, you could
position yourself as a wise consultant-type figure (not necessarily an actual
consultant, just an employee who has wisdom), and push for the right approach
for a given situation. I would still keep abreast of trends though.

Something that has worked for me is doing university / polytechnic courses
whilst working. This will add interesting flavour and variety for your mind to
work on during the day, and you might discover a new interesting field (for
me, it was people and HR, the role I'm now transitioning into). If you want to
do this, I'd recommend the book: The HBR Guide to Changing Your Career (has
advice on how to gradually incorporate more of what you want to be doing into
your day job, safely).

Best of luck in your quest!

[Edit] You mention "good old RDBMS" which suggests a strong affinity to things
in your comfort zone. I'd suggest Googling "Growth Mindset" and "Immunity to
change" as tools to help you recover your curiosity. Remember: Don't focus on
_others_ already knowing a subject better than you, think about what you know
_now_ and improving _that_ knowledge exclusively. Otherwise, you will always
persuade yourself out of learning something.

~~~
wreath
I'm interested to know why you transitioned away from IT, if that's something
you can share :)

Reason: strongly considering this for few months already.

~~~
trilinearnz
My main reason was that I felt programming into advanced age was an untenable
career path, since I'd have to expend more effort competing with fresh CS
grads. This was a concern for me as my wife and I were planning to move
overseas eventually, where the talent bar was higher. Additionally, I also had
exposure to leadership and people-oriented thinking during my tertiary study,
which I found stoked my fire more so than programming.

While I still get joy from programming, upon reflection I've come to realise
that my career in IT was borne from a love of programming in isolation in my
younger years. Working in a team environment on projects I'm not invested in,
sapped my passion. Also, because I had worked in IT for so long, I had
developed a disinterest in the field, so I didn't want to work it in even in a
leadership capacity. Simply put, it was time for a change.

I now classify it as a hobby, and enjoy daily activities in my new role which
are rich and interesting again.

