Ask HN: Would you still do software engineering/dev if you could do it all over? - react_burger38
======
wilsonnb2
I would still do it but I would also do something else.

I didn't realize this until after college, but outside of a CS 101 class you
can't be _just_ a programmer. Programming doesn't happen in a vacuum - it must
be applied to a domain.

For some people, a lot of whom are on this website, the domain can be computer
science. Writing a compiler, database, or operating system would fall into
that category. Things on the cutting edge like VR or AR would also fall into
this category. This particular kind of programming has never appealed to me
personally. I don't much care for programming itself or even computer science
itself.

However, there are a lot of interesting problems to be solved in other domains
that require programming. Economic models, biotechnology, digital
synthesizers, etc.

Unfortunately, without the domain knowledge required in those fields, it's
pretty hard to find a job solving those problems. All that's left is CRUD work
where the domain is opaque business logic that requires little to no expertise
but is dreadfully boring.

So I would go back and treat programming as a tool to be applied to problems
that I care about instead of the main focus of my education.

~~~
cakes
This makes sense and I agree. You will learn some about the domains you write
software in but often you are in those by force and not by choice and you will
only ever be so interested in the problems you face/software you build. I once
got to write a compiler for financial formulas and that was very interesting
but that was the exception and not the rule for most of my professional work.

Maybe you get lucky and have a hobby/personal interest that can fulfill this
need to some degree (this partially has happened to me, apparently people who
write software don't often overlap with people who cross stitch).

I do enjoy writing code but I much prefer writing code for problems or in
domains that interest me.

------
digitalsushi
I'll be the guy who ruins it by asking a clarifying question. If I can do it
all over, does that mean, that I keep the wide mental aperture I have forced
open over the past 20 years, by learning how people work, learning how general
process works, folding probable outcomes and recognizing corner cases, into my
personal toolkit? And forget the software engineering? I'd have to go with a
hell no. I'd be someone else.

If I lost everything except the notion that I kinda love this stuff? Yeah, I'm
sure I would.

Do I go back to 1998 or do I start over now? It's becoming more obvious to me
that the closer you can warp back to about 1950 for these start-over
fantasies, the better a time you're going to have. I would be in a full panic
if I had to start over right now, a fresh 22 year old undergrad with a 2018
degree in software. Yikes. Maybe that's just a me-getting-old thing peeking
through. I sure hope it is. And am worried it's not, for younger folks on
here.

~~~
peatmoss
I was an undergraduate journalism major. If learning about people and the
world is your want, then you’d be hard pressed to beat journalism.

That said, I fell back on my computing hobby even before I graduated. When I
started college, print journalism still seemed like a plausible career. By the
time I graduated, I saw the writing on the wall.

As long as we’re talking what-ifs, I’d take the well paid journalist job in a
heartbeat.

------
ryanchants
I cooked in fine dining for 5 years. Then did 5 years in the military. Now I'm
coding.

If I had to do it all over, I'd probably still do se/dev, just earlier. Sucks
being behind my friends when it comes to money/homeownership/etc.

After having two careers where money wasn't great, I'm all about the money
now.

~~~
anxiouspete
I'm kind of the opposite. I have a very good salary now at a young age, but I
feel that I'm losing my youth. In many ways I would half my current salary to
not be stuck in an office writing CRUD - but then I think about all the
flexibility my salary provides and go the other way. It's a hard choice

~~~
ryanchants
I've been struggling with a parallel problem recently. I'm on track to go into
engineering management, which I'm very interested in doing. But part of me
wants to take a remote job even if it means a pay cut and moving somewhere
cheap and traveling more and working more flexibly.

------
tluyben2
I have been coding for around 35 years now and I love it as much as when I
started. Although I do other things (professional brewing for instance),
devving is the thing I like the most. Only thing I guess I would change is
less focus on money and more on research when I was uni and shortly after.
Money seems to, usually, make programming boring in my experience. Outside
firmware that is, but only the kind that has to run in 20kb, not the kind
where embedded means just a full ARM system with megabytes of memory. So
that's what I do now (among other things).

------
badasstronaut
I think development is one of the coolest jobs out there. With dev skills, you
can do everything from building websites to physics models to game development
to data science... I'm not saying all you need is coding, but you can't do
most of these things without code!

I'm not 100% sure I would be a software engineer, but I can't imagine myself
on a career path that didn't involve writing tons of code.

~~~
wilsonnb2
Interesting perspective. I don't see much difference between building
websites, physics models, game dev, and data science.

Computers certainly have wide ranging applications but at the end of the day,
programming all of those tasks is pretty similar.

~~~
bytematic
I have a similar but different viewpoint. Software products can be distributed
to a old rural minority in africa and to a rich man in the heart of a city
atthe same time. For many applications they can be catered as well,
mobile/desktop, zoom in for bad eyesight, etc. You just can't do that with,
AFAIK, anything else.

------
sloaken
I took a programming class when I was 15. At that point I knew what I wa doing
the rest of my life. 40 years later, I still love it. I do not know if I will
ever retire.

~~~
Topgamer7
The question what do you want to do after high school was never hard for me,
started programming at 12. Still going at 26, sometimes my drive wanes, but I
find that due to the project, not programming in general.

------
whorleater
No, I would've tried harder in school and tried for med school instead

~~~
jl2718
Med school just seems like cheat mode now. I didn’t want to be a doctor
because I was certain that computers would replace them. And they did. The
work of doctors is 95% obsolete in the advent of better diagnostic tests and
internet health information, with ‘AI’ taking the last scraps of relevance.

Doesn’t matter. Doctors are a government-protected class, with wages held high
by regulation, insurance subsidies, and immigrant labor restrictions. This
causes massive social problems, and cannot end soon enough.

It seems to me that the amount of work it takes to be a good systems
programmer, over an entire career, absolutely dwarfs the demands of medicine.
There are many coders in bioinformatics that are more competent at medicine
than most MDs and get paid a fraction for much longer working hours. There are
also MDs that do both, and consider the medicine part their well-paid hobby.

~~~
dahdum
MDs are limited in quantity due to regulation, as you point out, but that also
means the competition to become one is rather brutal. Long schooling,
residency, work hours and then most specialities end up with only upper middle
incomes.

Doesn't sound like cheat mode at all to me.

Hitting a boot camp and then pulling $100k+ doing web dev is the cheat.

------
tracer4201
I went to a private college in the Midwest, worked as a software engineer at
one of the big tech companies, left to get an MBA, then went back as a product
manager and now manage software development managers in my org.

If I could start over. I would have still done software engineering. Would I
have gotten a CS degree? Probably not.

I would have likely gotten a pure math degree because I find it far more
interesting.

My CS program was math intensive, but in hindsight, data structures,
algorithms and operating systems are the key CS classes I needed. Maybe throw
in compilers and networks...

------
p3llin0r3
I would be a indie game maker if I could start over, so I guess I would still
need the programming skills.

But I would also gain skills in art, music, level design, etc. on top of it.

I would avoid corporate life and carve out a happy little niche in a funky
little community like Portland or somewhere similar. Save, live within my
means, pay off my student loans. Work as a hard working, humble little dev and
pursue my passions on my fiercely guarded free time. Volunteer some of my
spare time for environmental conservation and human rights organizations. Have
a garden, two cats in the yard... wait that's exactly how I live now, except
I'm a sysadmin instead of a game developer.

Overall I have an amazing life and a really bright future so I can't really
complain. Choosing to study Computer Science in college is what lead me down
my current path. And when I look around at my options, I feel like I made a
really great decision. Happiness comes from within. Keep your eyes peeled,
always be learning, and don't be nobody's sucker. Don't get left behind.

Really my biggest regret is under-valuing and not believing in myself. It's
amazing how great things can go when you just commit to something and make
realistic and well-thought out choices while pursing your desired path.

ALTHOUGH, I'm only 29 so I can still do a LOT to change my life and work
towards my goals.

~~~
pasabagi
Hey, would you be up for a skills exchange? I'm pretty good at fine art, both
traditional and 3d stuff. It's definitely stuff you can learn.

------
mrdependable
Probably not. I've been doing it since I was a kid, but never meant for it to
be my career. That happened out of necessity. There are definitely aspects of
it that I enjoy, but my days are way too sedentary and I'm basically just
expected to be a coding machine. Project requirements go in, finished product
comes out, and apart from that managers and other departments don't want to
hear anything from you. At least, that's been my experience.

------
stallmanifold
I would still do software engineering if I could do it all over. I came into
SWE from the EE side. I studied both mathematics and computer (hardware)
engineering, with a hefty CS minor in undergrad. I think EE/CE is a
tremendously intellectually profitable (if somewhat unconventional)
preparation for a career as a developer. You get an intimate understanding of
how computer hardware and low-level stuff works that is hard to get in a CS
program. I still find it gave me a toolkit for thinking about software
problems that most of my colleagues don't have.

I echo the sentiment that programming doesn't really exist on its own. Most
great software engineers really have two skillsets: the programming skills and
domain knowledge. Rich Hickey remarks on this in one of his ClojureCon talks.
One thing I think I would do differently is to find one or more domains to
apply programming to sooner in my life. I'm about eight years out of school
and only starting to figure out the answer to this question myself.

------
beckler
Honesty, I think I would enjoy electrical engineering or computer engineering
more than computer science. I just didn't really have those other choices at
the university I attended.

If I could do it again, I would probably go with electrical engineering all
the way. I find electronics fascinating and I enjoy learning about them in
what little spare time I have.

------
jamestimmins
I would, but would have started earlier. Now that I'm working my main focus is
building on my hirable skills. If I had started 5 or so years earlier (high
school) I would potentially have more time to play and learn the things I'm
more interested in (languages, embedded systems, etc.), rather than focusing
on marketability.

------
mighty_bander
Ugh. I know a lot of people who went to electrical or mechanical engineering
and wound up doing software, and the pay's better.

I might focus on embedded work, or math maybe, because this web dev world full
of bright-eyed, bushy-tailed youngsters repeating the mistakes I made in 2002
is getting pretty old.

------
zapperdapper
Nope. Would have studied history and then worked as a labourer on
construction. Did that for a year before going to uni - still the best job I
ever had.

------
Buldak
I want to say no, because I don't especially enjoy or excel at it. But I don't
have a strong sense of better alternatives, either.

------
pmiller2
I don’t know, but if I did, I’d get a CS degree and skip grad school, probably
ending up with 1/3 the student loans.

~~~
fjsolwmv
What loans? Grad school in CS is free, and undegrad is easily financed by
internships in software developer.

~~~
sbmthakur
> Grad school in CS is free

In the US it's not free unless you are a thesis student.

~~~
iends
A non-thesis degrees defeats the purpose of grad school and is only used by
departments to subsidize those who do research.

------
kbyatnal
Absolutely. The feeling of building things from scratch that people actually
use - it never gets old.

------
rayalez
Absolutely! I love it so much, and I have more and more fun every year.

Well, to be fair, I didn't just "fall into" this profession since I was a kid,
I started coding at around 20, when I knew that was what I wanted to do.

Although, if I could start over, I'd love to start much earlier(when I was
10-15 years old), and I'd learn fundamentals of math and CS properly, and I'd
spend a lot more time on AI/ML, so I'd be much better at this than I am now.

Now I'm 27, and I really want to catch up on proper math/science of it all.

Also I need to mention that I don't consider myself a "programmer", I'm a
startup founder and my goal is to build successful SaaS tools. That's way more
interesting and exciting, I get to think of ideas, design products, do full-
stack dev, marketing, make all decisions on my own, etc. If I'd just be
working as a programmer for someone else, it would probably feel less
exciting.

------
dahdum
Absolutely, though it worked out really well for me so that colors my opinion.

I love working on the edge of the future, and in my lifetime the Internet was
it.

In another time it would have been aviation, space race, radio/television, or
the railroads.

------
rurban
Sure. Tried a lot of others, still the best. Just avoid toxic communities.

------
mesozoic
Probably so. Seems like the right choice still once you actually make the
question make sense by removing all of the, well I would have bought Google
stock and retired conditions.

------
jrm2k6
Yes, but I will start earlier. I think I could be in a better place if I would
start coding before college instead of getting the hook of it on my last year
of studies.

------
rc-1140
Yes, because I'd then actually get a BS in CS instead of a BA in a humanities
and would have been able to start earlier, get to be an intern, etc.

------
orasis
1000x yes. I live my dream life because of it - can travel anywhere in the
world and never have to worry about going broke.

------
IdiocyInAction
No, I would have done EE/Math instead.

~~~
scaryspooky
I did math, graduated at the dotcom bust where all the jobs were actuarial
(not my interest). Went back to school for EE, and I've found there are more
jobs, more interesting jobs, and better pay writing software than being an EE.

~~~
jl2718
I think this is extremely common. Problem is that CS101 coding interviews are
common now, and EEs are just not prepared to speak that language.

~~~
scaryspooky
That's not true at all. I've rarely been turned down after an interview.

------
anon1253
Nope I would probably have gone with chemistry/biochemistry. Maybe even
philosophy

------
demygale
No. I would be a poet. But this would only be a different mistake.

------
awareBrah
yeah, but i would have aimed for the FANG level companies from the get go
rather than settle for various startup companies

------
squirrelicus
Absolutely. It's the best job.

------
kzwkt
no i would join online university or go for self study

