
Ask HN: How many of you are employed, self-taught SWEs? - pksebben
I&#x27;m super interested in knowing things like:<p>- Why did you get into the field?  What did you focus on at first?<p>- What are you doing at your job?  Is it everything you dreamed of and more?<p>- How did you break that first-job barrier?<p>- What were you doing before this?<p>- Any tips for the rest of us?<p>Appreciate your response in advance!  Keep hacking!
======
wincy
I have a GED and went to community college for like, 6 years and didn’t get my
associates because the final “class” was sitting around the computer lab
unpaid. Instead transferred to university and dropped out. Just absolutely
hated it. Got married, my daughter was born and suddenly became SUBSTANTIALLY
more motivated to “man up and make money”. I lost 75 pounds and suddenly I
could think well enough to be a software engineer. Sleep apnea had been
killing me at 300 lbs. Had a tech support job and my boss was a programmer.
I’d volunteer to do work and he’d give me work that’d push me each time, like
learning regexes, writing simple internal databases for the startup we worked
at.

Before I had the tech support job I was working on train radiators and it was
awful. Came home covered in oil. The radiators weighed thousands of pounds and
could easily crush a man.

Couple months later got my first SWE job after making a side project website
and making a little YouTube video about the challenges of making a modern web
application, like async programming all that stuff. Just kept applying to
places until someone liked me, I guess.

Then I gained the weight back and got lazy, got fired from some other jobs.
For me at least being fat makes me a bad programmer. Solving health problems
for me was key to being able to learn and grow, as the constant headaches and
inflammation made it nearly impossible to concentrate.

My job is pretty good, not super stressful. COVID messed me up mentally and I
got bad marks for the past six months but I’ve finally gotten the hang of
being isolated and not being so panicked. Anxiety and depression make working
almost impossible for me without Adderall or some other such stimulant. Trying
to wean off of those as I don’t like how they change my personality into a
more nervous less interesting person.

~~~
pksebben
Man, I have a lot of parallels to this. Been on a scrip for that stuff for as
long as I can remember, and I had a similar experience at school. Hearing your
story really gives me hope for myself; so, thanks!

If you don't mind me asking, what kind of work are you doing now? Any tips for
your past self?

~~~
wincy
I work as a software engineer mostly backend/middle tier APIs and stuff for a
Fortune 500 company now.

I’d remind myself that things like alcohol that act strongly on dopamine can
cause SERIOUS problems with adderall, like not feeling any happiness for a
week and fun things like that. Adderall is a serious tool to be taken
seriously. I joke that Adderall is like a chainsaw. If you’re using it at 3am,
there’s a problem. I’d also tell myself that the Adderall isn’t what made me
lose weight, and wasn’t the main thrust of me being able to learn. Losing 75
pounds and moving from obese to a healthy weight HUGELY boosted my brain power
and concentration power. I was also constantly reacting to food. Had to sort
that out.

Adderall let me sort of ignore it for a long time but the underlying condition
just got worse. Was put on Nexium for horrible GERD at night at 34, was
trembling and all sorts of scary side effects. A ketogenic diet with moderate
exercise of walking once or twice a day makes a huge difference. Also
magnesium is a like a miracle for my anxiety.

I’d tell me from before I was even in tech at all to just stop wasting my time
failing at school and just get a tech job. Although I don’t know if I could
have done it without my wife, honestly. I was really good at lying to myself
and she put a stop to that shit, excuse my language. I should have tried.

I’d also maybe be less arrogant after getting a good job. I lost a lot of
friends who were in a similar slacker boat as me a few years ago. It’s like
they stopped wanting to hang out once I became successful which was very
isolating.

~~~
pksebben
Magnesium; I assume you mean magnesium amino chelate - I use that too. I was
kind of pissed that I had to find out about it on the internet and my doctor
looked at me funny when I mentioned it. A huge gamechanger for me was asking a
friend who's also on the 'phetamines what time of day they stop taking it -
now I'm religious about never ingesting stimulants after 3pm and holy crap
what a difference.

I was a bartender for over a decade; there's no better crash course on how
awful a molecule alcohol is. It's the worst drug.

Sorry to hear about your friends. It sucks to lose your roots, I went through
something similar myself. I've come to reckon with the fact that people
sometimes grow apart, and you can't always hold yourself responsible for what
might just be an incompatibility in process.

~~~
wincy
Wow you and I do sound like we've had a lot of the same experiences, glad to
here you're figuring out all this too. 3pm is exactly my rule too, never ever
past then. Most days not past noon because my wife will ask me "have you been
taking Adderall?" because my personality is so different. I go from being fun
and easygoing to absolute Type-A, everything including people is either an
obstacle or a tool toward a goal. I had people who saw me thriving with
Adderall and started taking it – it sort of destroyed them. I'm much more
cautious about recommending it. I'm having a productive day today and haven't
taken any – sticking to a low carb diet for me at least seems to be the
absolute most important thing for my mental health. I was so unstable and
angry before.

Having a spouse around to correct my course when I start getting a little too
enthusiastic about amphetamines and work was important for me too.

I use Magnesium Glycinate at the recommendation of people on the nootropics
subreddit. [0] Has worked wonders.

[0]
[https://www.amazon.com/gp/product/B07ZD7R4RF/ref=ppx_yo_dt_b...](https://www.amazon.com/gp/product/B07ZD7R4RF/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1)

~~~
pksebben
Glycinate; thanks for the tip. Always looking to sharpen the tools i use.

------
tunesmith
My degree was in music, but I dabbled in tech courses too - calculus, discrete
math, logical circuits, just because I liked those classes. I took a workshop
on C but hated it. I didn't like programming until the internet became a
thing. I learned some perl as a student, on my own from reading the book and
trying things out. My first job out of college was as a network administrator.
Hated it. Second job involved some programming. I learned php and database
programming on my own. I later learned java, scala, akka, node, and react on
the job (all on projects transitioning away from php). After the first job or
two, no one asks or cares about school education level. I'm a principle
software architect now, the job is fine. Bullshit and politics are low, and
it's always fun to solve a problem.

Fall in love with an uber-ambitious technical side project that you'll never
turn into a business but that will make you learn every tech you'd ever be
interested in. Then you can tinker on it for life and it'll keep you
employable.

------
halfmatthalfcat
If you don’t count the two years of Java I took in high school (AP CS), I’m
self-taught. No CS degree. Switched majors 6 times in college and didn’t
realize until I graduated I wanted to code.

Started in QA, did that for over 3 years. Transitioned to a SEIT, did that for
a year. Then finally got the software engineering title. Took much longer than
I wanted but got it eventually.

Since then I’ve been through the whole stack. Now doing more DevOps, SRE type
stuff. It’s honestly been great. Worked for startups, mid sized and Fortune
500s.

My only tip is if you love to code just keep doing it. Everybody wants to say
“I don’t want to code outside of work, I want a life, ect ect.” The only way
I’ve truly been able to learn is by having side projects and working on them
constantly. I’ve had a side project going consistently for the past 7 or 8
years. Hacking on your own stuff, at least for me, brings me actual joy rather
then a lot of stuff I do for my day job.

~~~
ykevinator
If you love to code just keep doing it is excellent advice.

------
Kaze404
Completely self taught here. I went to university for a couple years but
dropped out. It doesn't work well with my way of learning. Been working
professionally for 4 years.

> Why did you get into the field? What did you focus on at first?

I always liked computers and building things. It felt like a natural
progression of my favorite hobbies, so one day I looked up how to write a
Discord bot and the rest is history. I had made some websites when I was 12
(specifically for Sims 2) as well.

> How did you break that first-job barrier?

I found an internship when I was in university, and looked for a full time job
while I was there. Once I found one, I left my internship and dropped out of
university.

> What were you doing before this?

Taking a sabatic year after high school I guess. I played a lot of Phantasy
Star Online 2 that year, and it's indirectly the reason my career started.

> Any tips for the rest of us?

It's hard to say because everyone's situation is so different. But one thing I
wish I knew is that it's OK to not listen to family sometimes. Personally I
heard a lot of backlash from them because from their perspective I wasn't
doing anything really. It affected my mental health and was pretty tough at
times, but probably to a lesser extent than pushing through university in my
opinion.

~~~
pksebben
That advice about family resonates really hard. Thanks for sharing.

------
lordnacho
\- Why did you get into the field? What did you focus on at first?

I never planned on being a coder, I was a derivatives trader at first. It
turns out being able to code helps a lot in finance. I co-developed my skills
between building quant strategies with coding. And coding quickly swallowed up
everything, it turns out it would have been easier to be a systems coder
first, then develop quantitative skills. I've done an enormous amount of
coding in different areas now from that journey as well as a variety of web
side projects. A small amount of GUI/FE coding, a lot of micro performance and
networking type stuff.

\- What are you doing at your job? Is it everything you dreamed of and more?

I have a lot of freedom to decide what I want to do. So I code a lot, but it's
what I want to do.

\- How did you break that first-job barrier?

Responded to an ad out of uni, went to interviews.

\- What were you doing before this?

Uni, where I learned a little bit of coding, but not enough to appreciate the
depth. Zoomed over algos and data structures, which it turns out I ended up
relearning.

\- Any tips for the rest of us?

You can't really do this if you don't like it, but you also won't like it if
you haven't learned a bunch of code-related skills. For instance if you don't
know how version control works, you'll forever be reluctant to modify your
code, which will stunt your growth. Same with sysadmin type skills like how to
set up a network, how to move files around, how to set up the OS. You'll think
everything is a chore if you can't write some scripts to simplify your coding
flow. Something like Docker takes learning before you can use it, but once you
have it it helps a lot.

~~~
frrp
What are you working on recently?

~~~
lordnacho
A variety of trading systems, an online multiplayer game.

~~~
frrp
How do you choose what to work on?

------
guener
\- The Matrix impressed me when I was child. I said to myself “I’m going to
build a good world, a good system, my own heaven.” after some time, I found
myself reading articles about programming and my adventure has started right
there. It was a huge exploration for me. I started to focus on learning a
programing language. It was C.

\- Taking care the system, developing new features. Yes, It is.

\- I built a course system for my school, worked free about 6 months. Learnt a
lot of things and this experience gave my first job.

\- Make real your every absract notion by coding and drink coffee madly.

~~~
pksebben
\- Make real your every absract notion by coding and drink coffee madly.

so much this.

------
chank
I didn't have access to a computer until I was almost 20. Incredibly
fascinated by it, I sucked up all the knowledge I could. I started with
general IT which turned into a generic call center help desk job. I did that
for a few years while learning to code on my own. Mostly basic web related
stuff which I parlayed into helping out part time on a project at the company
I worked for at the time. Once I had some real resume experience on my hands I
was able to work that into a full time programming job at a very small company
on a team of three people doing workflow management software. It was very
close to dotcom bubble days and I probably got the job because I was willing
to work for cheap compared to other developers at the time. Mostly because it
was more than I was making before and I didn't know what I could have been
making. Outside of a few unrelated courses I have still have no formal
training, certifications, or degrees and am entirely self-taught.

Today, I work as a technology lead in the innovation lab at a large reputable
company doing machine learning, deep learning, blockchain/crypto, tech
evaluations, investment portfolio bootstrapping. Most of what I work on is
turned into a product (new or enhancement) or acquisition for the company. I
think there are multitudes more opportunities than were available when I was
starting out. My advice is to always keep learning on your own and from
others. Don't let yourself get to comfortable and find projects that are
challenging and interesting to work on.

------
was_boring
I’ll throw my hat in the ring...

I’m 100% self taught, and have a humanities degree. I’ve worked in global 500
companies, as well as YC startups. I consider my greatest strength to be the
ability to teach myself, and that has led to front end, backend, ML, etc.
work.

I have never worked at FAANG but with most of them going remote, I’ll probably
take my chances next year (a kid on the way so staying with current employer
to ensure family leave). To be honest, I’m also scared of the rejection.

I view the learning process as multiple steps. The first is to learn the
technology to become useful, while doing that it’s really important to learn
the social context of it and how to talk to others in an informed way. I can’t
stress that enough.

If you are looking to break into industry I suggest doing a few side projects
to demonstrate knowledge, and aim for a company who will give you a chance.
For me, this was consultancy.

It requires study off the job, but I love it and would be doing it anyways.

------
gbuk2013
I had been paid to do computer things before I got my first IT job. By then I
already knew how to re-install Windows, build computers from parts and write
some VBA code for Excel.

By the time I got my first IT job I had a Law degree and I was running Linux
exclusively on my workstation (part of the deal with the uni friend who
“turned” me and provided tech support for about 18 months until I no longer
needed it).

Did some certs to get some pieces of paper - A+/Linux+/MCP/CCNA aiming to get
a Support job. Discovered that I was the only person in a class of 30 who
actually had an interest in IT beyond a job - later I would realise this is a
very valuable commodity. Hired before I did all the certs for this very
reason.

Got a fairly low paid job for a small company that exposed me to lots of
different experience like running cables, screwing in wall sockets, dealing
with customers on the phone, Windows desktop admin, Linux firewall admin,
Linux server admin, data centre work, NAS etc.

Then I moved into a Linux network admin contract role role for a bit. Then got
an enterprise level 2 support role (providing support to network admins). In
the company for 12 years and counting - changed roles 4 times. Learned to code
writing support tools (PHP and HTML) eventually learned JS also, turned out I
was really really good at it and now I’m writing infrastructure code for one
of the product groups.

My advice would be to learn the lower levels of the stack - networking at the
protocol level, Linux, SQL without ORMs, vanilla programming with no
frameworks until you start writing your own at which point pick the best on
the market. Learn to run your code in a Docker container.

Passion, integrity, obsession with delivering results are very valuable -
cultivate these and market them to the best of your ability. Be the person
that steps up to do boring jobs that help other people - I volunteered to run
our server lab that was used by other engineers and wrote some tooling to do
things faster. Eventually people notice and you will learn a lot.

Avoid shift work like the plague it is and do your best to limit on-call
exposure.

I like my job - it pays well enough and at my senior level offers plenty of
flexibility for managing my time and what I work on.

------
radiowalker
\- I got into the field because in my previous career (bank compliance), I
spent an inordinate amount of time gathering data and summarizing it. The
process took several hours per day and was extremely monotonous, but I
couldn't do any actual work until it was done. I figured I ought to be able to
automate the whole process, so I picked up a book on code and plugged away
until I made it work. After that I was hooked and kept going down the rabbit
hole until I could build entire web apps (and also understood how a compiler
worked, which was what originally fascinated me).

\- I like my job a lot, but it's very much building CRUD apps (or guiding
others to do that). I'd like to work on technical problems of higher
complexity, possibly scientific applications, so I'm trying to figure out how
to get into that as someone without a formal education in it.

\- I reached out to somebody on reddit /r/programming who had posted an ad. I
told them what I had taught myself so far and why I thought I could be a
useful junior dev, and they gave me a shot.

\- My tip would be to let your curiosity drive you but stay realistic,
responsible, and honest. The reason I've stayed satisfied in my career so far
is that I haven't been too impetuous (e.g. leaving good jobs just to jump at
something new), but I also haven't let myself get stale or bored for too long.
So far it has served me really well.

------
bcbrown
I played around with programming as a kid, programming things like Mandelbrot
sets on my TI calculator. In college I didn't take a single CS class, other
than a EE signals class using Matlab. I graduated with a degree in Physics.
After college I ended up in a training program at a big tech company, spending
9 months learning to be a test developer. After a couple years, I took some
time off, studied the CLRS book and the first Coursera course on databases,
and found a job as a developer in a "big data machine learning" company. Over
the next couple years, I completed a self-taught CS degree through textbooks,
video lectures from big CS schools, and a couple MOOCs.

My tips would be to take self-education slow and steady. There's an infinite
amount of stuff to learn out there, and I found one "course/textbook/lecture
series" per quarter to be sustainable for me.

I also recommend alternating theory and practice; studying to pass the
interviews until you have a job, then emphasizing the theory that is semi-
relevant to whatever job you get; and accepting that a lot of what you learn
may not seem very useful/relevant until it suddenly is - six months after
reading a couple books on Mapreduce program design, I was able to use that
knowledge to ace an interview at a company that used that technology.

------
bemeurer
I'm almost completely self taught. Went to uni for a couple years and changed
directions a bunch (CEng -> CS -> Math) before dropping out.

> Why did you get into the field? What did you focus on at first?

A friend back in high school pointed me at the problem of brown numbers
(Brocard's problem), which are pairs (n,m) where n!+1 = m^2. Known pairs are
(4,5), (5,11), (7, 71). I became obsessed with this and attempting to find a
new pair, and spent most of high school learning programming to improve my
searching programs. Things went from there, since I knew that's what I wanted
to do.

> What are you doing at your job? Is it everything you dreamed of and more?

I'm a systems engineer working with Rust on AI infrastructure. It's what I
expected to be, it's a good job in that it pays well and I enjoy it. It's not
perfect, and I wouldn't describe it as a 'dream'.

> How did you break that first-job barrier?

Got an internship by emailing around, that transitioned into a full time
position.

> What were you doing before this?

Uni, mostly.

> Any tips for the rest of us?

Find a cool problem and use it as a 'north star' when learning, I think that
helped me a lot. Also, it's a big field, you may find that you don't like a
corner of it, but don't take that to mean you won't/wouldn't like any other
parts of it.

------
frompdx
\- Why did you get into the field? What did you focus on at first?

No real focus first. I majored in history. I worked for a while doing a lot of
number crunching with excel and thought maybe a lot of what I was doing could
be automated. That's how I got interested in programming.

\- What are you doing at your job? Is it everything you dreamed of and more?

Currently DevOps. I enjoy it because I have a lot of autonomy and am able to
work with tech I am interested in like Kubernetes. I have worked at a few
companies and I think your enjoyment is very dependent on the company culture
and team culture.

\- How did you break that first-job barrier?

I made a lateral move the company I was already working for. I was spending a
lot of my free time learning and working on small projects. I started talking
with some people on the engineering team during company social events and when
they were hiring one of them said I should apply.

\- What were you doing before this?

Technical account manager doing client implementations. Desperately wanted to
do something that didn't involve talking to be people on the phone all day.

\- Any tips for the rest of us?

My experience is an anecdote, but I think that making a lateral move by
getting as close as you can to the technical work at your current job is a
good strategy. I had to be very persistent and there were a lot of times I was
brushed off by managers and executives. Making friends with the people on the
engineering team was the most important thing I did. They were happy to
include me and were great mentors.

------
monocasa
\- Why did you get into the field? What did you focus on at first?

Loved programming, did it as a hobby for a few years, was able to get a job. I
focused on understanding what I was doing, always dropping a level of
abstraction down from the task I was trying to complete so that I could
understand and debug it.

\- What are you doing at your job? Is it everything you dreamed of and more?

I'm a team lead on a low level systems team. I'm actually quitting soon, but
more for a move to another company rather than I don't like the field.

\- How did you break that first-job barrier?

A lot of resumes, and ended up at a company who's hiring strategy was to find
diamonds in the rough.

\- What were you doing before this?

A little bit of everything, retail management, general contractor, project
manager for marijuana dispensary upgrades, etc.

\- Any tips for the rest of us?

The assumption is that without a degree you don't know the underpinnings of
what you're doing. Prove them wrong early by putting in the work to cut
through the abstractions and truly understand the why of what you're doing.
The difference between being an engineer and being a technician is that that
the technician follows a a checklist, and an engineer understands the
checklist and knows how to recognize and account for the 1% of the time it
doesn't apply.

------
send_it_breh
I got in the field motivated by a specific problem that I wanted to build a
solution for. I needed to learn programming to do that. Keeping the problem in
mind has led me to study and increase my capabilities in a variety of areas,
and currently I do ML research. I'd highly recommend this approach if you have
a problem that is particularly motivating or interesting to you, as it can
consistently point you useful directions to explore independently of any one
job or piece of technology.

For the first job, mine was at a startup. Founders may be more willing to take
a bet on someone who demonstrates passion and an ability to hack on stuff and
get it to work, whereas big company hiring seems to be more conservative.

Performing superbly on technical interviews will always get you hired,
regardless of your background. If you have a buddy also interviewing, pair up
and give each other as many whiteboard interviews as you can (I did 2-3 weeks
of 5-6 problems per day). You'll feel much more confident.

Lastly, work on projects you are actually excited about, and interview at
places doing stuff you're excited about. That sort of excitement really shines
through in an interview. Additionally, it will pay off in quality of life.

Good luck!

------
oldprogrammer2
I graduated from college with an Economics degree. I was working as a Business
Analyst. I started looking at database schemas so I could write better
documentation, and then started writing SQL to deliver reports myself instead
of waiting on the engineering team. It didn't take long until executives were
coming to me directly for their custom reporting needs. Eventually, I was
running a rogue web server for generating dynamic reports. When I was "found
out", I was absorbed into engineering, and started my "real" career as a SWE
and started building web applications on a team.

I broke that first-job barrier by getting myself a job close to the
technology, and then solving problems that had a visible impact. (I want to
add that, though I constantly pushed at the edge of my authority, I avoided
ruffling feathers and was always a team player. I never went over my boss'
head, for example, and generally asked permission.)

I'm now in my third executive role, running engineering for a Series-A funded
startup. Being able to bridge the divide between business and engineering
really hits the sweet spot for me. I very much enjoy what I do.

~~~
radiowalker
This is very similar to me, minus the last step. Mind talking about how you
got into executive / startup roles? Bridging the business-tech gap is also
what I enjoy, so any pointers or first hand experience would be helpful to
hear about.

------
bitpow
> Why did you get into the field? What did you focus on at first?

Worked in sales at a software / hardware company in the HVAC industry. Our
software platform had a really easy way to customize the business logic in
java. I started building utilities / scripts in java and worked my way into
software engineering from there.

> What are you doing at your job? Is it everything you dreamed of and more?

I'm a software engineer working on a popular customer facing service at a
FAANG. I do enjoy the work.

> How did you break that first-job barrier?

I went from sales to software engineer at my first company, moving from sales
into custom customer solutions department.

> What were you doing before this?

Not much, the sales job was my first job out of college. I graduated with a
mechanical engineering degree.

> Any tips for the rest of us?

You must be passionate about programming and seriously enjoy software
development. You must respect senior engineers and learn from them as mentors.
You must not be discouraged by the pedigrees of your peers (people with CS
degrees), directly out of college, they may have a slight advantage, but after
a few years, you will be on a completely level playing field.

------
otras
\- Why did you get into the field? What did you focus on at first?

Although I really enjoy it now, I originally got into software work for the
job. After graduating with a degree in physics and French and having a tough
time finding a satisfying job, I gave software a shot after seeing some
friends and family enjoying the field. I started with JavaScript and frontend
engineering, as it seemed to have the lowest barrier to entry at the time.

\- What are you doing at your job? Is it everything you dreamed of and more?

Currently a software engineer at Google, and I started at my current role
doing front end work. I've since transitioned to working all around the stack.
It's definitely more than I dreamed of, and I don't think I'll ever stop
learning!

\- How did you break that first-job barrier?

I think I broke the barrier by a) getting my first real tech job at a startup,
b) doing some very basic development work for my non-tech company job right
before moving to the startup, c) building a portfolio to show off things that
I had built, and d) continuing to learn after getting my first job with some
CS classes.

\- What were you doing before this?

I was working as a tutor for high school students while also doing some
customer support work. Fielding customer support phone calls definitely helped
motivate me to study in my off-work hours!

\- Any tips for the rest of us?

I always hesitate to give advice because there's so much randomness and luck
involved, but one thing I always recommend are CS classes. Though I started
self-taught, I've since taken a number of tremendous online classes (quick
shout out to CS50 if you've never taken it) that I've found to be very
enriching.

~~~
pksebben
I have CS50 bookmarked! I'll have to dust it off. Thanks!

------
mfontani
\- Why did you get into the field? What did you focus on at first?

Got gifted a 286, and wanted to know how it worked. A retired friend of my
father gave me the K&R book and I devoured it. I focused on input/output and
calculations, (much) later moving to MUDs, and (much later) moving it to the
web, too.

\- What are you doing at your job? Is it everything you dreamed of and more?

Web-dev/sysadmin/jack-of-all-techs/tech-lead. It's everything I dream of, and
have nightmares about. It's great! I get to both use known/proven/old things
to build something new & useful; learn new things to build something with; and
learn new things to then know when to not use them.

\- How did you break that first-job barrier?

~20y ago, a newly founded start-up needed an apprentice who knew C/asm and was
interested in home automation and... there I was! I can't remember details
about the interview itself, but it was mostly about attitude and very little
coding, as I think I already worked with them on a separate project (the C
"main" routine for the C/CGI behind a search engine they had created a library
for) and they knew I had the chops they wanted.

\- What were you doing before this?

High school then a couple years at uni/informatics doing not much. Didn't
finish.

\- Any tips for the rest of us?

Make it _work_ , make it pretty/proper/right, make it fast _enough_. Buildings
are created from strong foundations; learn your/the basics _really_ well. We
all stand on the shoulders of giants. YAGNI. Printf-based debugging is totally
fine. Communication is a big deal, and I suck at it. Communicate, communicate,
communicate, and then communicate some more.

------
zxcvbn4038
\- Why did you get into the field? What did you focus on at first?

Fell into it - the first computer I owned happened to have a basic interpreter
in ROM, and at the time a lot of software was published in magazines (you had
to type it in by hand), so that started me on my way.

\- What are you doing at your job? Is it everything you dreamed of and more?

Being able to code brought me to a lot of places I would have never expected.
Things change very rapidly, what you are doing today is completely different
then what you will be doing tomorrow, you have to constantly challenge
yourself and expand your horizons. I’ve met plenty of people who were really
great at version X of framework Y in language Z and five years later they are
unemployable because the world moved on while they did not. You need to get
beyond versions and frameworks, entire languages came and go out of vogue, the
more generalist you are the better you’ll fare.

\- How did you break that first-job barrier?

I worked cheap at my first job, a year later I used my experience to trade up
to a position making more the prevailing wage, things took off from there.

------
aukaost
\- Why did you get into the field? What did you focus on at first?

I've always been fascinated with technology and trying to figure out how
things work. I got my first computer at age 8, it had QBasic. I programmed a
small number of games on it. I spent a lot of time dis- and reassembling this
computer, reinstalling DOS, Windows. We didn't have internet or manuals, nor
did I speak English. Later on played with Linux which really helped me
understand how all of this works under the hood. Actually programming came
much later.

\- What are you doing at your job? Is it everything you dreamed of and more?

I've been in the field for 11 years now, currently in an SRE role. SRE seems
to be a different thing wherever you go. Not really my dream role in its
current form right now.

\- How did you break that first-job barrier?

QA internship in the gaming industry. Turned into full-time position, later on
QA Engineering and then Software Engineering. I jumped on opportunities when
they cropped up. I made myself useful in QA rather quickly as I have a low
tolerance for doing repetitive tasks manually, which got me into automation
and tools programming.

\- What were you doing before this?

I tried my luck studying computer science for about 2 years but that didn't
really work for me. That opportunity for an internship came at the right
moment and I took it.

\- Any tips for the rest of us?

Find yourself a mentor. In my first role in QA there was one person in
particular who was very open to all my question and taught me how to approach
complex problems in legacy code bases. It really helped me gain a lot of
knowledge and also confidence in my craft. I should reach out to my first
mentor and thank him, I am not sure he's aware of the impact he's had.

------
Ancapistani
I am.

I got into the field because I have the aptitude for it, and it pays well.
It’s honestly not more complicated than that.

I’m a backend-focused SSE working in healthcare.

I got an hourly position working on a legacy company intranet, where 99% of
what I had to do was simply be able to write HTML. That was in 2005. I’ve
worked my way up since then by constantly looking for new things to learn and
apply to my job.

I did a bunch of stuff - stocking store shelves, retail, etc. My only other
“career” type job was as an electrician, and even that seemed like a fallback
even at the time.

Tips: as I said before, always be looking for new things to learn that are
adjacent to your job. The more skills you acquire the higher the chance that
one will “stick” and you’ll be able to move our of your current job and into
one that is more closely aligned with where you want to be. Incremental
progress was the key for me.

------
kristopolous
\- Why did you get into the field? What did you focus on at first?

To build the future.

\- What are you doing at your job? Is it everything you dreamed of and more?

No. I need to get back to my principles

\- How did you break that first-job barrier?

By presenting myself as a low cost low risk gamble

\- What were you doing before this?

See below

\- Any tips for the rest of us?

I leave my education off my resume. I've been at this over 20 years and have a
hard 10 year cliff when it comes to talking about things.

I consider the knowledge I left the University with as rather useless unless
someone continues the practice.

If the employer cares about prestige and pedigree then leave the room, rudely
if you want.

Engaging with the now is the crucial determinant of empowering the future. If
the competence signalling is past laurels than you're going to get stagnating
structure. I've seen it. Just leave. Aspirational stricture through
institutional structure is a waste of human effort.

\---

What do you care about? That's the main question. There's no easy answer. But
once you can get to it let that drive and centralize your decisions.

Really that's all I can give you.

------
pocket_cheese
>Why did you get into the field? What did you focus on at first?

It was an accident. I needed to accomplish an admin task which required
modifying a SQL query someone else wrote. I just fully dove into SQL mainly
for reporting purposes after that.

>What are you doing at your job? Is it everything you dreamed of and more?

I am a data engineer for a unicorn startup. It is really awesome! The pay is
ridiculous, especially considering I live in a low cost of living area but
have a standard tech SF salary. Also the talent is insane. I get to interact
with some really smart folks.

> How did you break that first-job barrier?

I saw the opportunity to automate an admin problem with a SQL query. I asked a
developer to pretty much be my senpai, and he gave me an SQL crash course.
After that, I did SQL tutorial after SQL tutorial and eventually got promoted
from call center agent to data analyst.

>What were you doing before this?

I was a call center agent and working at a car wash right before that. That
was like 5 years ago :D

>Any tips for the rest of us?

Get in touch with your companies IT/engineering department if you can. Lots of
software people love curiosity. Try to find someone like that where you
currently work. Also, do a lot of projects and be prepared to feel really
confused about how things work. I think I would not be where I am today if I
didn't have some really good mentors. Secondly, programming tutorials will
have you believe that the world is just a bunch of for loops and if
statements. But then you look at a real life production system and it's
wayyyyy more complicated than that. Just know that the minimum amount of
knowledge you need to have a software job is probably a lot lower than it
would seem. Don't be discouraged when you feel like you have no idea how
something works because it will happen a lot.

------
atemerev
\- Why did you get into the field? What did you focus on at first?

Always was interested in programming, wrote first lines of code (in BASIC) at
the age of 6 (in 1989). Wasn't interested in getting a CS diploma until 2010.
Got it in 2014 after already working for 12 years in the industry.

\- What are you doing at your job? Is it everything you dreamed of and more?

Currently I am ironically back in the academia working on epidemic modeling
(as many people these days), but for the most of my career I worked with
financial/trading software engineering.

\- How did you break that first-job barrier?

Offered to work for (nearly) free in a small company owned by an acquaintance.

\- What were you doing before this?

Not much, as you could infer. :)

\- Any tips for the rest of us?

Loving programming is a necessary and sufficient condition to have a good
career in it. Enthusiasm here can still overcome many barriers (as opposed to
many other industries).

Thank you for an excellent topic!

------
schwartzworld
\- I hated doing unskilled work so I taught myself to front end web
development.

\- it's fine. The realities of the job can often be boring, but it's not
taxing. I work at a big startup and it's not the way I would run things but
what do I know?

\- You have to realize what you're up against. Junior dev can mean "knows the
language really well but has never worked on a professional team" but it can
also mean "doesn't know shit, just out of bootcamp". You have to prove you
aren't the latter, but you also have to apply somewhere where they care. I
bolstered my resume by speaking at JS events and doing side projects.

\- I waited tables for 10 years and then spent 6 more as a massage therapist.

\- keep your head up. this is a cushy gig, pays well and isn't really all that
difficult. it's worth the effort.

~~~
pksebben
I spent my decade bartending. Have the same motivations as yourself (fie on
that completely flat wage growth in the service industry)

You're not the first person I've heard recommending talks and events. Just
another reason to be frustrated with this pandemic.

~~~
schwartzworld
All the local events have switched to being online so you can still give
talks. They are also a great way to learn new things. For example, I learned
ES6 by.givong a tall about es6.

------
non-entity
> Why did you get into the field? What did you focus on at first?

I had stumbled into computers / programming probably 11/12\. I've always been
interested in things that I "didn't get" or seemed like "magic" and so when
gamed were dumping textfiles full of what seemed like cryptic texts to my
desktop I started digging in and found out there were crashlogs with
stacktraces. Kinda just went from there. The second sentence still holds true
today, sadly less and less feels like magic. Never really focused on anything
which ended up really hurting me. I hace a lot of surface level knowledge
about a ton of both general and niche stuff and have worked with things most
people my age probably haven't heard of, but I'm not particularly good at
anything as a result.

> What are you doing at your job? Is it everything you dreamed of and more?

Enterprise stuff for a non-tech F500. Not really excited by my careers at this
point nor do really care for the industry. I've considered leaving, but the
cost is too high. I still sorta enjoy programming though, and have been trying
to get back into more the past year after burning out once.

> How did you break that first-job barrier?

Honestly? A lot of mass applying and twisting the wording on some former
freelance work I'd done to sound more interesting than it really was. In
retrospect I felt hopeless at the time, but it only took about 3 months.

> What were you doing before this?

Nothing really, I was out of highschool kinda stuck in a depressive slump. I
had tried a few other things that didn't work out and was working a near-
minimum wage job in a shitty area. Eventually I just said _fuck it, I have a
skill so let me put it to use_.

> Any tips for the rest of us?

Hmm, I'm not sure. I guess if you can afford it, try to get your resume done
professionally. I did it once and it was much better both visually and content
wise than anything I'd been able to cough up myself.

------
ZephyrBlu
Disclaimer: I'm from NZ, not the US

I did programming all through high school, then went to uni for Mechanical
Engineering since I thought programming would be too frustrating.

Realized I hated it, switched to 2nd yr CS for a semester.

Then realized I'd learned a lot of the content in high school and it was quite
boring, so I dropped out.

Spent the next year bumming around a bit, doing some coding and getting up to
speed modern web dev then this year, I landed my first job just before the
pandemic hit.

My job is quite depressing. Working with old tech, no feature work and the
company is extremely disorganized. I do 10x more in my own time than I do at
work. I think I'll be looking for a new job soon.

The only tip I have for learning is to code every day and build things, don't
watch tutorials.

------
alexschiller
\- Why did you get into the field? What did you focus on at first?

I liked playing with data in R and saw there was potential to do cool things
if I learned more code during my PhD in Cognitive Psychology.

\- What are you doing at your job? Is it everything you dreamed of and more?

Mostly front-end work at Amazon. I love it. I get to feel productive in ways I
never experienced in academia.

\- How did you break that first-job barrier?

I knew some people at a science focused non-profit. Interned while in grad
school and signed on full time for 2 years before moving to my current role.

\- What were you doing before this? Grad school in psych.

\- Any tips for the rest of us? Keep grinding on projects you find
interesting. It takes time to get good at writing code quickly. Review your
own code as though it were someone else's.

------
martin_
\- Why did you get into the field? What did you focus on at first?

I was a gamer - I started by making websites for my team (we were competing on
clanbase.com) and then eventually I branched out into various MMOs and made
bots/cheats/etc. I then began selling those and realized it was a better
source of income than my job at McDonalds (I was ~17 then) and ended up
sticking with it.

\- What are you doing at your job? Is it everything you dreamed of and more?

Currently doing a stint as a solutions architect but have been a CTO at a
startup and Tech Lead at Twilio launching some pretty cool products since then
(still at Twilio). I expect to return to the product side after honing my
sales knowledge/skillset/improving soft skills.

\- How did you break that first-job barrier?

I did a little contracting via some freelancer website, but I won my first
real software job by finding a security vulnerability in sendspace.com. I let
them know via their support e-mail and shortly after they asked if I'd want to
join to fix it, and more. Then, to break into the US I took a job as a CTO
massively below market rate at a YC startup with non-technical founders that
were paying huge sums for outsourced development and surprised at the value I
could bring quickly.

My offer at Twilio was in part from constantly hounding the team for
improvements / changes / suggestions to which they suggested I come and help
do it. I was also encouraged to apply at Shopify in 2013 after writing this
post [https://ma.rtin.so/posts/reverse-engineering-shopify-
private...](https://ma.rtin.so/posts/reverse-engineering-shopify-private-apis)

\- What were you doing before this?

Studying / part-time McDonalds

\- Any tips for the rest of us?

Side projects. Building tangible software will give you a much softer
transition into the professional world and a more practical skillset. Be
curious. Don't give up, don't be intimidated, and be willing to take risks to
get your foot in the door.

------
tma954328
\- Why did you get into the field? What did you focus on at first?

I was in finance and a lot of the job was getting repetitive. Update excel
sheet X times every X days, etc. You soon want to automate the boring
repetitive stuff but formulas in excel only get you so far. So you reach to
VBA that exposes you more to coding. Then you reach limits there and you look
at scripting languages like Python. Ultimately, I decided I enjoyed that part
way more and wanted to do it full time.

\- What are you doing at your job? Is it everything you dreamed of and more?

I work on backend services. I think the job is better than probably a lot of
others. However, it's not all that rosy all the time. On-call is something you
probably don't hear about before going into the field, and I think it
negatively affects quality of life significantly. The beauty around software
is that it runs all the time without you having to do anything, but that also
means stuff can break all the time at all hours and you might be tasked to fix
it.

The agile work framework is pretty common and I don't like. It's very common
to have daily meetings (they call them standups) where you have to tell
everyone, what you did yesterday, and what you're doing today. Feels super
micro.

More recently, D&I activism has taken engineering by storm. It's hard these
days to focus on your job and role without getting dragged into this topic.
Hiring based on physical traits (i.e. discrimination) is live and well (and
encouraged/required) at tech companies, especially in engineering departments.

Lastly, the hiring practices in this field are complicated. Hiring is
predominantly based on obscure algorithm and data structure problems, things
that 99% of people don't care about in their day-to-day job. This makes
finding new jobs a bit more difficult, because you actually have to allocate a
good amount of time to learn these things again.

\- How did you break that first-job barrier? I went to a bootcamp and did a
lot of algorithm practice problems. The job I ended up getting was through a
referral.

\- What were you doing before this? excel heavy work

\- Any tips for the rest of us? You should generally enjoy problem solving or
you wont enjoy it that much.

------
dawurell
\- Why did you get into the field? What did you focus on at first?

It all started with playing games. When I was 11, I wanted to host my own CS
1.6 server to make some money by selling VIP. To advertise the offer, I wanted
to customize the welcome message you get after connecting to a server. It's
coded in HTML/CSS which I had known nothing about so I asked my ICT teacher,
who happened to build websites as a side job at the time, if he could help me
with that. He taught me the basics, pushed me in the right direction whenever
I had a problem and showed me programming is a ton of fun. So from the welcome
message, we moved onto building dynamic websites in PHP... Then games in C#
using MonoGame. Then came my first professional jobs - CMSs, CRMs, first Java
backends and so. And well, here I am. But to answer your question, I focused
mainly on web first. I got into it because I was curious, I loved building
things and I immensely enjoyed solving problems I had no idea how to approach.

\- What are you doing at your job? Is it everything you dreamed of and more?

I'm working on a backend of a service that's used to send RCS marketing
campaigns. It's very different than working on your own projects because the
business side of things is more important than having a pretty codebase and
using a shiny new technology plus most of the people I had a chance to work
with were pretty mediocre, so it's definitely not ideal. I've always dreamed
about having my own company so I hope that's going to happen one day (I'm
making active steps towards this goal of mine).

\- How did you break that first-job barrier?

Being 16, I was already ahead of lots of people who have even finished their
degrees. So that plus the fact I didn't care about money, I was excited to
work on some real projects :)

\- What were you doing before this?

I was a kid haha.

\- Any tips for the rest of us?

Plenty of my friends tried to learn SE by putting in lots of effort first but
they never persisted. It takes months to start connecting the dots. It might
be hard to not understand the whole picture, it might be hard to always have
problems, it might be hard to always come across a new technology you had
never heard of. But trust me, if you persist, it'll get better. Be consistent.

------
cryptica
I taught myself programming when I was 14 on school computers during lunch
breaks and after hours. I worked as a cleaner in order to buy my first laptop.
By the time I went to university to study software engineering, I already knew
how to code. I graduated after 5 years working as a part time software
developer on the side. I've been coding for 16 years. I've been learning
constantly for the first 14 years. The last 2 have been pretty easy.

------
spaetzleesser
I am mechanical engineer without any formal SW training. I see lots of people
from different fields who are programming BUT they all have a degree in some
field no matter how unrelated. From what I have seen a lot of companies will
filter you out automatically if you don't have a college degree. This gets
better with seniority but in my view it's something to consider.

------
soneca
I am currently unemployed (left my last job to pursue some personal projects,
but looking for a job again now), but I was employed for 3 years before that.

I wrote about those exact questions in my personal blog, and as I am on the
phone now, I will just link to it:
[https://rodrigohgpontes.github.io/](https://rodrigohgpontes.github.io/)

------
mondainx
If you have a passion for writing code, I'll give you the best advice that I
followed: Join an open source project, learn it, play with it, get skilled
with it, submit patches. If you're good and the stars align, you'll be able to
more than support yourself and your family. Last tip; always be learning, keep
reading, stay on-top of your game!

------
ifend
100% self taught here with no formal education...

When I was about 13 we got the "Internet" (AOL). I quickly discovered these
"Haxor Tools" for AOL. These apps would do stupid things in AOL like "IM
Bombs", send ASCII art to chatrooms, etc. I wanted some specific features so I
started looking into programming. My dad happened to have Visual Basic 2.0 (on
something like 20 3.5inch floppies) so I loaded that up and started reading!

It was a slow start to understand how programming worked but once I reached a
certain understanding and things started to click I was off and running. I
built a few AOL "haxor tools" and then progressed into web sites and then got
really into Linux and FreeBSD (and C/C++).

I was home-schooled from grade 6 through 12. With most of those years
technically being "unschooled". I'm an INTP and was left to learn by myself. I
believe having this personality type greatly helped me learn a lot and VERY
quickly.

Fast forward a few years, I got a job at 18 as a tech support specialist for a
local ISP.I built a few internal tools for the company but my job was tech
support not programmer...

A year or so later I started studying to get my GED. Got the GED in a couple
months and that was the end of my education. No middle school, high school, or
college.

I then got a job at a medium sized software company doing tech support. I did
that for 2 years then they promoted me into a junior developer role. I had
created a handful of internal tools for the support department which is how I
was noticed by the development team and therefore recruited.

From here on I've been in senior developer roles at a handful of companies
(startups to Fortune 50 companies).

I currently work for an all remote consulting company, live in a low cost of
living part of the country (USA), and make a low FAANG salary (maybe 5x the
local wages).

I design, build, maintain, and support a lot of various sites, tools, and
services. Is it everything I've dreamed of? Pretty much but watch out for
burnout.

I believe my success can be attributed to being very good at self education
and doing it quickly (see INTP definition). That coupled with "do the job you
wish to have" and being noticed for it. I was in tech support but I also built
tools for the company. This was noticed and rewarded.

I'm happy to answer any questions you might have.

------
jokull
Told an ad agency I could code, using PHP and MySQL. Graduated from
internship, then moved on to Django and Python. Web dev. Then backend work for
a well funded startup, then my own startup. Was making static websites for
restaurants in 2000 for restaurants at 13 years old (lol). All self taught and
loving my pay, freedom, work and colleagues.

------
GnarfGnarf
One week of FORTRAN in 1965. Walked into an insurance company after graduating
in 1969 (BA Math & Physics), applied for a programming job. They had me in an
Assembler class the next week. Was writing production code two weeks later.

I still can't write code without bugs.

------
barclay
Love all of these responses. I'll add mine into the ring as well.

I came in by photojournalism -> photoshop -> graphic design -> web design
through the 90's.

I was never really good as a designer. I was capable, but I didn't have that
"real talent" that I could see in others. Instead, I was always interested in
the technical aspects of design. I enjoyed color separation and complex
printing jobs.

At around the same time, I realized I was getting tired of handing my designs
over to the engineers who would slop them together. So I started dabbling with
Macromedia Director (predecessor to Flash for making CD-ROMS [when that was a
thing]), then flash, and then HTML and kept going farther and farther back in
the stack. This was in the time of PERL and ASP, and I'd devour O'Riley books
trying to learn as much as I possibly could. A book on regex. A book on data
structors. Learning SQL.

I then had the fantastic opportunity to work with a group of people that stuck
together through a series of companies (myself as the designer). At the last
company, I was incredibly fortunate to have the architect take me under his
wing and have daily master/apprentice style problems and reviews with me.
Today you're writing a binary logger. Tomorrow a reader. Now an HTML parser.
The architect was brutal, and I'd go home sometimes in tears... until I
realized it wasn't about _me_. I had to check my ego at the door, and that
this could be a dialogue if I was willing to participate and not to get
defensive, and be OK unlearning some bad practices (To this day, I still think
he's one of the most incredible humans on the planet).

Twenty years later, it's been an excellent career. I've built a lot of cool
shit, and finally even had a decent exit. I'm in management now, but I can
still find some "fingers on the keyboard" time here and there.

If I can give any advice:

\- Never stop learning. Never stop asking questions.

\- Don't get hung up on being a particular language specialist—it's
fundamentals, fundamentals, fundamentals... everything else is just syntax.

\- Interviews are going to suck sometimes, because there's some asshole in the
loop that biases towards academia and thinks you're not worth their time...
but don't let it get you down (pro-tip: you probably don't want to work there
anyway).

\- Celebrate your journey, don't shy from it, and be proud that you're doing
this on your own; because it's a damned hard road sometimes.

------
indigochill
I got into the field because (a) I'm naturally drawn to coding since playing
with Logo and Mindstorms as a kid, (b) I like the feeling of making things. I
wanted to be (among many other things) an inventor when I was a kid and this
gives me that feeling and (c) the pay's not bad (even though I make a European
dev salary, so the pay's quite modest relative to some here - my perk is a far
more relaxed work environment).

I got started by working in tech support (no real job requirements besides
being vaguely "good with computers") and then coding some tools that made my
team more efficient. Then I told my managers that I could be a full-time force
multiplier instead of a single-unit contributor (in other words, generating
more value for the company) and they liked that idea and what I'd done so far
so they helped me transition pretty quick. I continued working in support
tools development for a couple of years and really enjoyed it.

There's a footnote here that I moved from the US to Europe because labor laws
are more relaxed here so I was able to code for work for free on my own time
without there being an issue, which I needed in order to show what I could do
for the company to get that initial foot in the door for the support tools dev
position. In the US, they told me they couldn't let me work for free (I
suspect because of the Fair Labor Standards Act, but I never asked) so I
requested and got a transfer.

Now I work on anti-cheat software for games. I angled for this because I
wanted to get closer to security-related work without being exactly infosec,
and there was a clear need for this at the company. It's a little more vanilla
than I was expecting, but I have a ton of autonomy and voice in guiding my
team's work, so I'm happy.

My advice for anyone interested in making software full-time is to start by
doing whatever you can quickly get hired for. Then make software to make you
better at doing that. Don't wait for someone to give you permission, because
they won't (and this continues to be a rule even after you "make it" \-
continue jockeying for what you want and don't wait for permission unless
there's no other way). If you show (with actual live code) that you're a force
multiplier at your company's thing using code and they're in a position to
hire someone for that work, then make your case for why you're that someone to
whoever has the power to make it happen for you. It doesn't even have to
matter if they don't hire SWEs. You can negotiate contract work if you have
to. Everyone needs software even if they're not a software shop themselves.

------
mke
As someone self taught, let me cut to the chase and say your number one
problem is proving yourself in the professional world the first time. My
advise assumes you have _a different_ degree and you have some CS skills.
Assuming this, you have to knock on ~100+ doors until one opens. I’m not
joking about ~100+ doors. You will be ignored, rejected and laughed at -
repeatedly. You need to search exclusively in your local market with a local
address on your resume. Don’t use the major bot controlled job sites - check
prospective employer sites directly. Check for entry level positions - or even
internships - that’s your best path. Manual QA tester. Project analyst. End
user phone support. Third shift operations. I’m not joking: you have to prove
it. Once a door opens, it may not be the title you want, it may not be the
technology you want, it may not be the boss you want, it may not be the
benefits you want, and it definitely won’t be the pay you want. It may be
unpaid. Don’t negotiate. Your one and only criteria should be: will this role
allow me to prove myself. Will this opportunity grant access to greater
challenges, future roles, broader networks. If so, take it! Then work twice as
hard as the next person and _prove it_!

My advice surely sounds cynical but remember the hiring pipeline is populated
98% by non-technical folks whose assessment of your skills relies exclusively
on a degree. That’s the system.

tl;dr if you are self-taught, learning CS is actually the easy part. Getting
your foot in the door is the hardest.

------
Antoninus
In this context is self-taught == no degree ?

------
cwdegidio
I had dabbled in programming my whole life, starting with C64 BASIC. In high
school learned some C and C++, but once the internet became more accessible
moved onto web based languages. After graduating high school, mostly due to
having no guidance what so ever, I never put together in my head that I could
pursue programming as a legitimate career, walking around with a 16 inch green
mohawk pretty much guaranteed that I was labeled a lost cause.

I did a short stint in the Army, ended up in a minor touring punk band till
about my mid-20's. Decided that I wanted to pursue something different after
realizing the band was a one way ticket to a dead end. I got the brilliant
idea to pursue photojournalism. My timing was impeccable. As I was finishing
the "great newspaper crash" had started and after working freelance for a few
years I started a small photographic advertising firm. But... during all this
I was still coding. This was in the early days of what was being called "New
Media." A lot of the places I was working with, the older journalists were not
interested in how to use the web for better story telling. I didn't hesitate
to get my hands dirty creating web sites for stories, working with flash to
create interactive pieces, etc.

When I started the advertising firm, a client asked me if I could create a
website for their business. Never being one to pass on the chance to make a
few bucks, I confidently said "Yes" and proceeded to learn PHP and WordPress
as fast as possible.

Around this time I also took the plunge and got married, which ended rather
quickly in divorce. I decided to give up my rights to anything we accumulated
during our marriage and was living on my friend's couch just trying to get a
fresh start. A friend told me about a company his partner worked for that was
looking for a developer. With her reference and the pressure of being homeless
and hungry, I was able to land a gig as the companies "Web Master" (yeah, they
were still using that title lol). The company was sold and the purchaser had
their own team and cut the local team to the bones so I started freelancing.

My tips? \- Most developers and SWEs are just as clueless as you even if they
have a degree, don't be intimidated. \- Realize that as a self-learner, you
have an advantage of knowing how to learn quickly and efficiently. \- Don't
make money a priority, salaries for the most part are a side effect if you
love what you do. \- Realize you need a break sometimes, burn out is real and
will kick your behind if left unchecked (as my own failure of my first tip, I
always am dealing with imposter syndrome which leads me to constantly spending
even my off time trying to learn more so that my co-workers don't ever say
anything negative about me being self-taught) \- Ignore trends and just follow
what you enjoy doing or this will quickly become "work". In my own recent
experience, I've been feeling the pressure about moving into ML/AI. After a
nice long think these last few months as I end my first decade in this field I
realized I have no interest in it, I just like building software. Coming to
terms with that has done wonders in my mental state and brought a lot of inner
peace.

Eventually a friend told me about a gig as a developer with an F500 energy
company and helped me get my foot in the door. Worked my way up from a junior
SWE to a lead position. I've now moved a few times and am now working in a
financial company that is a major player in the world economy. Not because I
think it will change much other than making me a better engineer, I've
recently returned to school to get my CS degree and am preparing for another
pivot into other areas of development once I'm done.

All in all, it wasn't the life track I expected. What I have learned in all
this is I love doing what I do. As others have said I think my enthusiasm and
passion have taken me a lot farther than the typical "coder bro" that comes
out of college with a CS degree because they heard they can make big money
quickly.

~~~
pksebben
HUA. I feel you on that imposter syndrome. Thanks for your response - I bet
that punk band was a barrel of fun.

------
mygo
I am projected to break 6 figures in revenue by December as an independent
consultant.

I was interested in web design as a kid. Built my first website when I was 11.
Back then, there was no facebook or myspace — those wouldn’t be created until
2 years before I learned the basics of HTML and CSS. There really wasn’t a
well-fleshed our career path in the web either — e-commerce hadn’t really
blown up back then either. So I was just genuinely interested in the ability
to publish for the web.

I learned by going to the library and borrowing books that teach you by you
following along. But still, it was mostly just HTML and CSS, no JS or any real
programming yet.

It wouldn’t be until college that I’d pick up programming. Not that I majored
in CS or SWE or anything — I majored in Biological Science and Studio Art,
wanting you become a medical illustrator.

Nobody that I was around ever told me that “hey, you should check out CS”. It
was always presented as this complicated and difficult subject. Something that
was for others, but not for me. Much harder than Biology =p (they were wrong,
lol, Biology is harder IMO, but I am genuinely interested in the topic and
continue to learn more about it too)

During college I got involved in organizations outside of the classroom, and
this was right around the time when facebook was a few years old and social
media was emerging as a tool that can be used to market a cause and actually
raise funds. The first viral video campaign came out this year, for the Ora
Brush. So I ended up making a website for one of our events, linking it with
google payments etc, promoting it on facebook via a video shared among local
groups, and it registered people, kind of like what eventbrite does now. We
were able to raise a couple thousand dollars the first year, and ~$20K total
by junior year. So that experience exposed me to some of the cool things I
could do with my web skills and I focused more intensively on learning to
program more.

That landed me my first software engineering internship my Junior year, where
although I had no experience with the backend programming language that they
used I was able to pick it up and ship a finished admin client by the end of
the internship. I was offered a full-time position as a software engineer at
the completion of the internship, although I did not have a CS / SWE degree.
However, one thing that I discovered about myself during the internship was
that working a desk job all day made me very depressed. Aside from QA sessions
and design briefings with management I hardly interacted with people during my
internship, due to the nature of the engineering job. And it felt like taking
the job would be me sitting behind a desk in front of a computer all day for
the rest of my life, not really interacting with many people... and for some
reason that was very depressing and unsettling to me, personally. So instead
of seeking employment I decided to go the freelance / consultant route, and
try to build my own clientele.

It took ~4 years to actually get any real consulting traction though. Partly
due to some false starts in startup land... So I’m not sure if I would
recommend it. I think for many people, the happy ending would have been
getting a full time offer before graduating college. And the advice there for
someone in their early 20’s would just be to network, get involved in things,
build a portfolio, and seek out internships. An internship is basically an
extended interview with a potential full time job offer on the other end...
But unfortunately my particulars made that somehow undesirable, and so I
decided to go the hard way.

Today I consult with business owners and partner with design agencies, helping
businesses in e-commerce bring their business requirements to life. Sometimes
it’s just giving general advice on how to build stuff, what they should be
considering during the design process, and the rest of the time it’s
programming. It’s all remote. Although many people have given remote work a
thumbs down during the pandemic, I’m happy with the flexibility.

------
adrusi
_Why did you get into the field? What did you focus on at first?_

I was 11, my dad used FORTRAN at work to build economic simulations, and
walked me through some basic programming. This was during the ~5 years that I
was taking amphetamine or methylphenidate daily for ADHD, which I mention
because I'm pretty confident that it's a big part of the explanation for why I
spent then next 4 years completely obsessed with programming. When I was 15 or
so I stopped taking the drugs and switched from actually programming to mostly
reading about the craft. At first I focused on full stack web development, and
gradually acquired an interest in systems programming and Linux sysadmin
stuff.

 _What are you doing at your job? Is it everything you dreamed of and more?_

Work for FAANG developing and operating backend microservices which do little
more than shuttle data around. This is my first job out of college, been doing
it for a year, don't like it much at all. Looking to transition to a role
which involves developing more interesting applications and has less
operational burden. I'm cautious about switching roles amid this pandemic
though.

 _How did you break that first-job barrier?_

I got a math BA in college, though that wasn't my primary academic focus. That
degree is enough to get employers who require a relevant degree to not
immediately discard your resume. Beyond that, luck. Sent my resume to a FAANG
new grad hiring pipeline, and got an offer. I got some relevant work
experience in college, first working quarter-time for a startup writing node
js libraries, then working for my university's CS department as a sysadmin.
These jobs were not hard to get, probably because of how woefully
uncompetitive they were on compensation, which I was OK with while I was a
student.

 _What were you doing before this?_

College, studying math and philosophy. My parents didn't believe that I could
get a good SWE job without a degree and were willing to pay for my education,
so I accepted their generosity, and I'm glad I did despite the opportunity
cost. I'm regularly tempted to pursue a career in academic philosophy despite
the myriad drawbacks.

 _Any tips for the rest of us?_

If you're free of financial obligations and self taught, you have the option
of jumping straight into your professional career and getting a head-start on
building wealth, which might well be the right option for you. But you're also
in a position where you have skills that you can rely on as a backup while you
experiment with other options for your future. Working on other people's
projects is not nearly as fun as working on your own, and if you managed to
acquire SWE skills on your own, you can probably learn other skills as well
and broaden your horizons.

------
thaniri
\- Why did you get into the field? What did you focus on at first?

I really liked video games. I remember some skills I learned as a very young
child and teenager to do things like play Warcraft 3 online, install cracked
versions of games, play on WoW private servers, host my own Minecraft
server...

So then after being an aimless teenager I went to the equivalent of a
community college to do "IT" at 20 years old. I learned things like
windows/linux sysadmin, networking, printer management..

I never ended up finishing that degree though.

\- What are you doing at your job? Is it everything you dreamed of and more?

I am basically an SRE. I was doing sysadmin for my company for about 2.5 years
but put my foot down and decided that having work thrown over the fence to me
by devs was not a good long term career plan.

Now I've been doing software development, but it's not user facing feature
work. It's been a lot of improving application
monitoring/debuggability/operability (distinct from usability).

It's not really my dream job, I've sort of figured out this company by now and
I'd like to get a more difficult job.

\- How did you break that first-job barrier?

I made personal friends with one of my teachers who basically coached me
through how to get past the very difficult interview process in IT. Then I
applied to internships on my university job board and got lucky eventually.

My boss later admitted to me that I wasn't hired because I had the best
credentials, but mostly because I had a wide skill set and he had a gut
feeling about my work ethic.

\- What were you doing before this?

I worked at a moving company and played an obscene amount of Starcraft 2.

\- Any tips for the rest of us?

Trying to get into IT is easier than trying to become a developer. You can
start in help desk and work your way up, there are certifications for the
specific technologies you will be working on (doing Cisco networking? get
CCNA, doing cloud? Get the AWS solutions architect).

Once you get good at IT related skills, you'll actually pick up a lot of key
software development skills without even realizing it. There is an
embarrassing amount of time I have spent explaining things about git, SSH
keys, layer 3 networking, HTTP, TLS... to very smart and qualified developers
making triple my salary.

I did horrible end user support for my first little while. It's OK when you
start out to be explaining to people how to connect to the VPN because they
can't read a wiki page with screenshots, just make sure that you realize the
job is a stepping stone for you to continue building skills. Once you get the
job you cannot rest on your laurels.

------
agotterer
I’m a self software developer and have held professional positions in software
development, architecture, and management at various small and mid sized
startups.

I started by teaching myself how to program Visual Basic when I was 13 years
old, which was around 24 years ago. Back then I was on AOL and hackers made
“progz” which added functionality on top of the platform. I was curious how
they did made them and wanted to make one myself. So my father took me to
compusa to talk to someone about programming. I left with a cd to install
Visual Basic and a learn vb in 24 hours book. From there I spent a good
portion of my childhood learning various languages, platforms, philosophies,
and frameworks.

The first money I made was building ASP classic websites for local businesses
when I was around 17. In college I started as a CS major but at the time the
curriculum hadn’t caught up to the web and I wasn’t interested in what they
were teaching. I was always a pretty entrepreneurial, so I transferred to the
business program.

I try not to have regrets, but in hindsight I wish I followed through with CS.
It took me many years and a large investment of time to build the required
fundamentals I think every software engineer should have. Also, all that stuff
they were teaching later become interesting to me.

After I graduated I wanted to be a product manager. But no one would hire me
and they kept pushing me towards software development. I decided if I was
going to write software for a living I had to go work somewhere fun. So my
first job was at CollegeHumor as a software engineer. It was the perfect
transition from college to the real world. We worked hard and we had a
tremendous amount of fun too.

Early in my career I had a chance to go into management and have mostly stayed
in management since. I still program (outside the critical path), contribute
to architecture, and try to keep my skills up to date and sharp.

I’ve joined various companies early enough where I’ve been the first
engineering hire. I’ve had the chance to develop everything from scratch and
then build a team to hand it off to. I’ve also joined mid stage startups and
helped grow the team and tech.

I love what I do.

My advice...

\- Do it because you love it. The best engineers I’ve worked with also happen
to be the most passionate. They are curious and never stop learning.

\- Learn CS fundamentals and how the things you use work under the hood

\- Learn to create value for a business. Unless you are in academia or
research you are being paid to create value for the business. I can’t believe
how many engineers miss this point. This means that you should forget the
pursuit of perfection and learn to balance good enough and technical debt.

\- Learn how to speak to software people and business people. You’ll be more
valuable if you can translate and be the bridge to both sides.

\- Experiment with lots of different languages, philosophies, and paradigms.
You’ll find the ones you like and take some lessons away from all of them.

\- Dont get caught up chasing the next hot thing (language, framework,
database, etc). At the same time don’t become obsolete either.

\- Learn SQL. Really learn it. I’m not talking about the little bit to make
your ORM work. A database is just another service you interact with. You
should know what value it brings and how to interact with it.

\- Money is good. Most people in this perfession seem to be doing okay. But
don’t do it just for the money.

\- If you plan to join a startup learn about Stock options and how they work.
It’s amazing how many engineers work at startups and have no idea about their
options and how it fits in as part of their comp package.

------
j_rosenthal
Self trained SWE here. AP CS in HS, 1 CS class in college. Two degrees in
archaeology which I studied and worked in on three continents (and an island).

\- Why did you get into the field? What did you focus on at first?

It was kind of an accident. Archaeology is inherently destructive, so data
management is pretty important. I'd always been on the data and mapping side.
I wound up in a data production/management role at a government agency. We had
a web mapping product delivered that didn't do what we needed, and it landed
on my desk to figure out if we could use it to improve our internal
workflows... and so I fiddled and read, and fiddled and watched Doug
Crockford's videos, and fiddled and went to see John Resig speak at a
meetup... and along the way released multiple little (and eventually big)
tools to help my colleagues get stuff done. 3 years later I was speaking at
conferences about the technical side of what we were doing, not the
archaeological side. Asking some good questions to a co-panelist in the
municipal SaaS space led to more discussions and a job offer.

\- What are you doing at your job? Is it everything you dreamed of and more?

I'm an engineering team lead at a company that handles a lot of traffic, doing
everything from new product development, bug fixes, R&D, and more. It's fun
and interesting. Is it what I dreamed of? Not at all. I didn't set out seeking
this, just followed the opportunities as they happened. I do miss working
outside and digging in the dirt though, but definitely enjoy the stability,
lack of poison ivy, salary and benefits.

\- How did you break that first-job barrier?

There were two barriers, neither of which I set out to break.... the first
barrier was "how did I get the Archaeology job to let me spend time learning
and fiddling", while the second barrier was "how did I get that first job
where they actually hired me to do software developent". To the first barrier,
I built tools. Tools beget more tools, beget absurd amounts of time saved,
which led to bosses willing to let me say "I have an idea, I know its
possible, I'm sure I can build a "good enough" version, I just need time to
figure it out."

To the second barrier, I asked questions, I answered questions, I went to
lectures and was lucky.

\- What were you doing before this?

Archaeology. Shovel Bum. GIS.

\- Any tips for the rest of us?

The things I'm most proud of that I've built over the last 15 years are tools
that let other people do more, be more productive, answer questions, see data,
better help their citizens, etc. If you're in any sort of knowledge/data
intensive/adjacent role, almost certainly there are data systems that could be
improved, optimized, etc. Routine tasks that could be partially automated.
Listen to the workflows, learn the pain points, and find a way to improve
them.

------
ilaksh
I think I was probably inspired because I knew my dad was a programmer. But
also we had computers in the house when I was a child and if I remember
correctly they seemed like the most interesting toys available.

I was lucky because we had an Ohio Scientific and not long after a Vic-20 and
Color Computer 2 and C64 and Texas Instruments and of course various PCs. I
don't actually remember the details of when those things arrived very well.

But to me computers were like toys that you could play with infinitely because
they could be programmed to do anything. And also they seemed very complex so
that meant there was always something interesting to learn about them or
explore.

I highly recommend this book for kids "Getting Started With Extended Color
Basic" [https://www.amazon.com/Getting-Started-Extended-Color-
Basic/...](https://www.amazon.com/Getting-Started-Extended-Color-
Basic/dp/B000E35KDK)

I followed along with books like that which were basically tutorials. And I
tweaked the BASIC programs to try to create my own variations.

By doing simple experiments I was able to teach myself the basics of
programming (in BASIC) before I was say 9 years old. I remember doing more
actual programs when we had a PC. I spent many hours in GW-BASIC and remember
creating a simple Space Invaders-like game among other things.

Also around middle school age I was getting into Turbo Pascal and starting to
teach myself object-oriented programming. I recommend the book Turbo Pascal
Disk Tutor by Werner Fiebel which I had a late edition.

When I was around maybe 8th or 9th grade we had started learning algebra and I
also my dad had bought this little second-hand 1960s math/engineering
reference handbook. I used the equations in there for rotation to create a
very simple system for displaying 3D wireframes using Turbo Pascal. And made
it into a really basic type of 3D modeler.

In high school I got a later edition of C++ How to Program by Deitel & Deitel.

Also my mom was really into reading and brought home a ton of science fiction
books many of which I read. So I think that science fiction also inspired me a
bit.

College was hard for me, aside from the programming classes which were easy,
and some basic courses that mainly just tested literacy. And I was not really
able to make and keep friends so I ended dropping out. I actually drove across
the country and moved to New York where I hoped I would be able to get a job
doing trading in C++ or something. I feel like I was close to scoring a job
with a few interviews but ran out of money and got into data entry and then
legal word processing for a few years. I remember building a workflow/job
tracking system for one of the offices I was in using Access and VBA and then
failing to sell it to the programming department head who felt everything
needed to be coded in C++.

But anyway it was quite difficult for me to get a career in programming. I put
a lot of time into things like Rent-A-Coder and eventually got a temp job that
was semi-technical but not quite programming. I created a system to help
automatically compare multicolumn PDFs which was one of the primary jobs in
that department. That helped me land an actual programming contract.

To be honest, I think my lack of a degree or charisma and also a few health
problems has all hurt me a bit and I have not really flourished as a computer
programmer aside from a few more lucrative contracts.

The last several years I have focused on work that I can do remotely and that
isn't always the highest paying thing. I have also been focusing more and more
on startups and as much as possible my own startups or side projects.

Right now I work for a tiny startup for little money and live somewhere cheap.
It is at least not a very stressful or demanding job and it leaves me some
energy and time for side projects. Right now I am focusing on learning about
ML/AI/ a little robotics with the dream of someday building a household robot
that can do dishes or even cook.

------
axegon_
Kind of depends how you define self-taught to be honest. Though I went through
university, I do consider myself more self-taught more than anything: I got
into programming when I was 10. By the time I got to university, I already
knew 4 or 5 programming languages and even after that I kept learning more.
And at this point I'm using technologies which were far from conception during
my years in university, so again - largely self taught. With that in mind:

> Why did you get into the field? What did you focus on at first?

As I said, I was 10. At the time Windows was the only choice on our family
computer so I started with a few batch scripts. At the time someone started
publishing a small local magazine called "hacker" which iirc, was coming out
once every two weeks and cost what would be the equivalent of 50 cents. And in
it there were a lot of mentions of C++. So when my dumb 10-year-old ass saw a
C++ book on the window of a book store right after the holidays, with some
granny-cash in my pocket, I picked it up. As for the dumb 10-year-old ass -
everything was going smooth as hell until I got to the section where
namespaces were explored in more detail - I was completely unprepared for
that. At the time I had this really cool ICT teacher at school who was aware I
was ahead of most of my classmates so he let me do whatever I wanted,
installed a C++ compiler when he saw the book on the computer I was using and
it was game on from that point on.

> What are you doing at your job? Is it everything you dreamed of and more?

Lead developer, playing devil's advocate to be honest. Up until very recently
(think 1-2 months ago) it was - awesome team, decent work-life balance, decent
paycheck. But lately politics are catching up so I'm looking out the door at
this point.

> How did you break that first-job barrier?

Pure coincidence. A neighbor at the time who had a real estate agency and
infrastructure from hell learned about what I was into and studying so she
offered me a job.

> What were you doing before this?

Not too much, I had a few small jobs to earn some pocket money, from driving
laundry to copying pirated cd's (we are talking about the dial-up era where
1.38kbps was the speed of light).

> Any tips for the rest of us?

Don't sweat it. Pay close attention to what is happening and what people are
developing and dig into it. Sooner or later a point comes where your
experience will have immensely more weight than your education. I've
interviewed dozens of people and when I look at their CV, I'm 1000000 times
more interested in what they've been working on. Triple that if they have a
public github account, even if there's one or two tiny projects in them. I'll
spend hours digging through the code and commits just to get an idea of how
this person ticks.

------
skoll43
what is sWe?

~~~
pksebben
SoftWare Engineer

