
Ask HN: I am young teen. I have questions regarding software development careers - nazz
What are future career prospects in the software development industry that will be popular due to today&#x27;s emerging technologies? What can I do to get prepared for these careers? How can I find a mentor to aid me on my journey? I have a love for programming but I don&#x27;t want to work as a cubicle slave. I&#x27;d prefer a leadership position at an interesting startup... How do I get there?
======
mattbillenstein
I think by the time you get into that sort of position, things will change
again anyway -- I'm not sure I would focus on any specific tech, but rather
study the fundamentals, learn how to learn, take in things besides software;
math, etc.

When the opportunities present themselves, be prepared to work hard and learn
quickly. How you go about things is more important than what exactly you know
most of the time.

------
JCDenton2052
As a developer with 10 years' worth of professional experience, I can tell you
your career prospects are pretty good. If you actually like programming and
think you have an aptitude for it, I would even go as far as to say your
prospects are excellent. Hell, you found hackernews, you already have a leg
up.

Don't worry too much about emerging technologies or trends. Some seem to be
higher paid, but I would recommend finding one or two paths you like and
sticking with them. Most of them are as in demand as they have ever been and
are largely immune to automation.

To prepare for any career in programming: write lots to code, do it now! It
will likely be crap code, don't worry, everyone started writing crap code,
eventually you get better at it. Read a lot of code, you will not understand
most of it, try anyway.

The more you do the above, the more you will know what is going on, the more
people you will find with similar interests and eventually you may find a
mentor, too.

As for "cubicle slave", you may have to start from there, it doesn't mean you
have to stay there.

------
hindsightbias
Leadership implies founder or experienced (vp engineering or product,
architect, coo, cto, or PhD in field).

Founders can be any age. The latter, I've known some in their late 20's. So
you are either thinking 5-7 years out or ~15.

I'm older than the average here, my startup was decades ago and I made my
career in more traditional tech (cubicles and labs). But my experience was
surrounding myself with smart (and smarter) people. You only need to be smart
enough to recognize their talent(s). Putting skills together, keeping them
together and finding a common goal is the mark of a good leader.

Many commenters here are pretty down on college, but for me, school was about
meeting smart people. You can do it anywhere, there are other paths, but
getting into a Tier 1 college will give you an advantage as there is always a
clique. As a leader, you will want to round yourself out - business,
psychology, marketing... where you will meet smart people of a different type.

Even if you don't have the great idea, by the time you finish your education
you will probably be more well-rounded than your peers and you will have a lot
of connections. So a few years in the cubicles, an MBA, deeper study and you
can find a route to climb up to that ambition.

One other note - I got to where I was because a lot of other people thought a
particular job was too hard. I "fell" into these jobs. There is really hard
stuff out there, but it wasn't as hard as they thought. That got me more
choices in my career.

------
twobyfour
If you want a leadership position - and to succeed in it - "soft skills" like
empathy and persuasion and self-awareness are at least as important as
technical skills.

~~~
sharemywin
soft skills - sales - in leadership selling your ideas is a very important.

------
manoj_venkat92
Learn how engineering works. Not just software engineering but in general how
things get put together. Like rockets, cars, softwares, hardware systems,
mobile phones, computers and how you keep improving things over time by
iterating or entirely rethinking the design.

Read up about the evolution of various technologies like Databases, Servers,
architectures, computing power in devices. How they improved over time and
what components led to the improvement. For example, the amount of RAM has
increased over time in mobile phones and that lead to the advent of multi-
tasking in phones. Similar things have happened in multiple places in
technology and increased the efficiency, power and throughput by many folds.

------
sodafountan
Don't follow the trend follow your passion first, I started by writing games
when I was 14, I learned more about software from writing games than I ever
did from writing React which is what I do now.

------
MilnerRoute
I would just say start programming now -- and trying to learn new things.

What will really make you as a programmer is the ability to pick up entirely,
new things. And what really makes that happen is having had that experience
before, many times, so many times that you know that whatever new things comes
along will at least resemble something that you've already done.

In short, it's more about developing confidence in yourself and nurturing
enthusiasm for programming itself. I think that can take you a long, long
way....

------
bcdefense
\- cyber security \- Blockchain technology \- Decentralized systems

learn online, and while a mentor is great I think teaching yourself offers the
best lessons. youtube, reading other peoples code, etc. just don't give up and
you're good.

as for leadership, start building projects and a solid portfolio. if you don't
end up working for yourself or finding someone to start something with you'll
at least have a faster way to the top in a corporate environment with a lot of
experience.

~~~
kleer001
> \- cyber security

Absolutely. The world will always need pen testers and associated crew.

------
veddox
If your still in your teens, keep your options open. You love programming?
Fantastic! But software developers aren't the only professionals who write
code. Lots of scientists do too - physicists, chemists, biologists - and of
course engineers in all manner of fields. Don't disregard an interesting
career path just because it doesn't say "software developer" on the cover.

As for "leadership position": that's a privilege you've gotta earn. Leadership
isn't about technical prowess, it's about experience. Actually, it isn't even
about technology, but about people. You always lead people; and doing that
well takes a very different skill set to writing pretty code. If you want to
lead, don't become one of those nerds who is incapable of normal human
interaction. You're going to need other people, learn to get along with them
now.

You sound like somebody with a lot of potential, and I like that you're being
proactive here. I wish you the very best of luck!

------
atroyn
~10 years experience in software development, everything from huge government
telecoms projects to my own startup. I now work in robotics/computer vision
research. Here's my advice:

Programming is not hard. Don't focus on software development as a career path.

Software is only a tool, and most production software is badly written because
the customer doesn't care about design patterns, only whether the product
works or not. Despite the prevailing opinion on HN, learning to program is not
difficult and a reasonable person with technical training in any field can
pick it up in a few months from scratch. The current high salaries paid for
writing CRUD apps (and almost everything is CRUD apps no matter how much
JavaScript you put in front of it) won't last as the barrier to entry is ever
lower. Very little that could be called 'engineering' gets done in a software
context.

Once you've learned two programming languages with very different concepts
(e.g. C++/Scala), you'll be able to pick up any language/programming concept
easily. Don't waste time learning the flavor-of-the-month JavaScript
framework, it's a waste of mental energy and if you ever need to know it
you'll be able to learn everything anyone actually uses it for in a week or
two of concentrated study. For the time you spent learning React in and out,
you could have taught yourself rocket propulsion,

Focus instead on developing the patience needed to learn complex ideas in
depth, alongside a broad range of soft skills.

If you go to university, pick a scientific or engineering discipline - ECE
will keep you close to computing, but ME is a good choice too. Physics or
Mathematics are both also good choices. Don't major in CS unless you really
care about the mathematical foundations of computing (which have nothing to do
with most programming you're ever likely to encounter). In my experience it's
very easy to teach a physicist to program, but the converse is not true.

Mentors are everywhere, but they're not necessarily going to mentor you 1:1.
Professors at university are mentors. Coworkers are mentors. Anyone smarter
than you that you have the opportunity to spend time with is a mentor. There's
no need to codify the relationship. To get the most out of these
relationships, spend time figuring out the most important, concrete things
you'd like to learn and pose them as questions.

To develop leadership skills, you need to first master self-examination. This
is very difficult and takes a lot of mental fortitude, and life experience you
may not have had the chance to develop yet. This is a journey I'm still on so
I don't have much useful advice, other than that.

~~~
veddox
Excellent advice! Wish I could upvote it twice.

> it's very easy to teach a physicist to program, but the converse is not
> true.

Programming isn't everything, and there are a lot of subjects out there that
will make you a better programmer.

------
z3t4
Get people to work for you. Start a programming "class" and have your pupils
complete freelance, upwork like contracts.

------
GFischer
Whatever tech you choose, practice is the best preparation.. I've been VERY
impressed by several young people that, through consistent practice, got
pretty good very fast, and I hope they can become inspiration:

[https://mxstbr.blog/2016/12/a-dream-come-
true/](https://mxstbr.blog/2016/12/a-dream-come-true/)

[https://medium.com/@lydiahallie/advice-from-a-19-y-o-girl-
so...](https://medium.com/@lydiahallie/advice-from-a-19-y-o-girl-software-
developer-88737bcc6be5)

------
cweagans
Leaders typically aren't good at their job unless they've had experience
working "in the trenches". IMO, don't try to rush into leadership.

------
cvaidya1986
I would literally solve a problem I have and start a startup now. Whatever
bothers you, fix it. You’ll learn everything including programming along the
way. If it gains traction apply to YC. Heck apply to YC anyways. Either
expand, pivot or exit. Rinse and repeat and by the time you are 25 you’ll be a
startup veteran.

------
soulbadguy
> I'd prefer a leadership position

Why ?

------
nazz
Excuse my errors in the title, HN has a limit on title length.

------
dmfdmf
How old, what grade in school and what country?

Context matters.

~~~
nazz
15, grade 10, USA. Thank you for reminder.

