
From Secretary to Software Developer: The Hard Way - mathchick
https://medium.com/code-like-a-girl/from-secretary-to-software-developer-the-hard-way-ddfc60c8b675#.xnhuvooy6
======
ChuckMcM
The thing that struck me is "anyone who is fascinated by computers and spends
all their free time playing with them can be a developer."

Back before developers were perceived as 'rich' and 'pampered' there were
people who were fascinated by computers and spent all their time playing with
them and were called 'nerds.' Then it became "cool" to be a developer or "you
can get rich as a developer at a startup!" and then you get people who don't
care at all about computers and really never have, working as developers.

My litmus test is often to ask someone when they show me a solution, "what
other solutions did you consider?" If they have wandered around looking at
different ways to attack the problem they are more typically 'nerd' type
developers, if their response is "none, this works so I went with it, moving
on." they are often just working a day job. Watching the two types of people
from the late 90's to today, the people in it for the money burn out much more
frequently.

~~~
kirse
_they are often just working a day job._

I used to be snooty about this too until I had a member join one of my teams
who is exactly this type of person... Treats it like a day job, and absolutely
rips through well-defined coding tasks as long as I do the general solution-
finding and lay the architectural groundwork ahead of time. They don't burn
out either, because it's just work to them and they take regular vacations.

They're not my go-to for solving architectural-type problems (solution-finding
as you call it), but I'm OK with that because their strengths lie elsewhere in
terms of discipline, focus, training JR team members in coding practices,
knowledge of SW project process, etc. Every team needs its brick-layers who
can work hard and follow blueprints really well, and not all of those brick-
layers are going to be architects. One of my biggest work-related lessons out
of 2016 really.

~~~
taman999
What's with the vacation shaming?

~~~
Infinitesimus
I think your parent meant it as more of a "They get their stuff done and don't
need to skip on vacations to do it". Perhaps a sign of better balance but
still productive?

------
jakobegger
A bit of background: in Austria, many people do an "Apprenticeship" ("Lehre")
instead of going to high school. You work at a company and visit a vocational
school (about 20% of time).

This is great for practical people -- less theory, more real world experience.
But there is a major downside: If you didn't go to high school, you are not
allowed to go to university without first completing preparatory courses that
can take years.

There is also an upside: If you've worked for at least 4 years, and are under
30 years old, you automatically qualify for "Selbsterhalterstipendium", which
is around 700€ per month to cover your cost of living while studying at
university (you don't have to pay this back, and there also is no tuition)

~~~
gvd
Same in the Netherlands. It's changing, but when I went to "high school" (age
of ~12) you could go to a vocational school to become e.g. carpenter,
electrician, etc. When you are 16 you are set to get into that profession. You
will still attend school until 18, 1 day a week. You can also level up and go
to a higher level vocational school all the way up to university.

~~~
nerdponx
Changing how? And why?

~~~
walshemj
The German style vocational track that effectively locked you out of going to
university later was ruled illegal by the EU so those systems had to change.

------
hillz
It's kind of a bummer that she knew she wanted to work with computers the
whole time but her parents thought it would be more responsible to be a
secretary. Glad she got there.

~~~
eduren
Yeah, I don't understand parents trying to curb aspirations in favor of
practicality. I can understand if she wanted to do something that was
ambitious + risky, but it's just computers. There's been nothing risky about
getting an education in computers for 25 years now.

~~~
denisenepraunig
And guess who always had to fix my parent's computer in the end... Finally my
interest in computers was useful xD ;-) they are very proud of my career now
and are a bit of envious when I can travel the world for some SAP events :D

~~~
eduren
I'm glad it worked out! The article was a good read.

------
mi100hael
Another good example of someone learning to program on their own because they
wanted to and then leveraging that experience to get a job doing it
professionally. The big secret to learning to program is that there is no big
secret. It's basically a glorified trade job and everyone already has the
tools in front of them.

~~~
lacampbell
_It 's basically a glorified trade job and everyone already has the tools in
front of them._

That attitude certainly explains a fair few 'legacy' systems I've seen.

~~~
denisenepraunig
I heard about 10.000 lines of code in one function at a job interview. I did
not accept that job offer and I am quite happy that I don't have to maintain
this... This is a serious lack of craftsmanship! A little bit of Clean Code
for every programmer please... But I am drifting a bit off topic now.

~~~
genieyclo
How is this possible...what language/framework/tool was this in or for?

~~~
lovich
I've found this pretty frequently at every corporate workplace I've come into.
Pretty much every job I've had involved heavy refactoring of the code base for
the first month or two. The worst I have ever seen was at my current where I
discovered that for every new function the old dev added, he had copied and
pasted the entire code from the previous function and then added his new stuff
at the end. The last function was over 20k lines if I remember correctly.

------
nickpsecurity
That was a great read. Held back by parent's preferences into a secretary
position, starts experimenting for fun/laziness (many great works started that
way), keeps improving, fight the fight in college, and now at SAP working with
serious tech. Congratulations on making it to finish line, Denise!

So, you've worked from Excel to GUI's to databases to web stuff. You plan on
trying a new paradigm of programming or what for the next level?

Note: Also cool you did karate on the side. I got my start in DOS apps
(QBASIC), doing Windows apps in VB6 in mundane, forced position, and karate on
the side. Built new things in between assignments, including learning
heavyweight stuff, because I was bored with VB or too lazy for some tedious
task. The similarities in where we started probably added to my enjoyment of
it. Also, I learned a new way to do a frown in text. I'm sure some tech
project or new JS framework on HN will give me a use for it in near future. ;)

~~~
denisenepraunig
Thank you very much for your kind words nick! A bit of bragging, I am also
quite proud to have a black belt in karate (Shotokan, 1st Dan). Currently I am
doing native development (iOS with Swift) at work and I really love it! As a
JavaScript developer Swift feels very familiar (and you don't suffer from the
current JavaScript fatigue ;-)

~~~
nickpsecurity
Cool on the Black belt. I did Shotakan, too. I stopped just before Brown since
I discovered Bruce Lee's teachings along with Ninjutsu & military styles.
Pivoted into those to learn different things. I keep recommending martial arts
to people in general sense the mental agility, toughnes, & determination pays
off in other areas.

Including I think in programming when trying to solve problems or especially
debugging failures that lead others' libraries you just had to use.

------
farhannyc
I don't think you can be a developer in 8 - 12 weeks, as mentioned in this
article. Software Development is a skill as much as anything else, and there
is no time frame. All you can use to assure yourself is if you have practice,
and the confidence in yourself by that practice. For some people that
confidence comes after a year, maybe even two years. But then again, that
confidence can even come in 2 months.

~~~
twic
You _can_ be a _junior_ developer in 8 - 12 weeks. It's not guaranteed,
though.

I worked with a guy who came through a bootcamp. Before he did it, he'd
learned enough PHP to build basic sites, so he didn't come in cold. In the
bootcamp, he learned Rails, and proper development habits like TDD and source
control. He was a good junior developer when he started, and with two or three
years of work at Pivotal Labs under his belt, he's a good journeyman
developer. He taught me a lot of what i know about iOS development!

However, he mentioned that a lot of other people who came through the bootcamp
with him have gone on to work at quite low-skill 'chop shop' web agencies,
where they're mostly slinging HTML and CSS to match a photoshop drawing,
rather than doing real programming as such. So, it doesn't work for everyone.

------
pfarnsworth
That's a great transition, congrats to the author. My wife's mother also went
from a secretary to the COO of a multi-billion dollar real estate company.
Similarly, the current CEO of Xerox, Ursula Burns, was an executive assistant
at Xerox. Although rare, it seems like things like that happened a lot more
often before than now. I'm not sure if it means that as a society we have more
opportunity or that we are more pigeonholed in our careers. Maybe it's the
free-agent nature of our employment these days, but I don't picture execute
assistants these days ever getting the opportunity of jumping into something
completely different and rising to the rank of C-level.

~~~
tptacek
Not to take anything away from Ms. Burns, but it sounds like her "executive
assistant" job was atypically senior; she was promoted to it from product
development jobs she'd been working at Xerox for many years prior.

------
49531
> There are also a lot of developer bootcamps: within 8–12 weeks you can
> become a developer. I think this is great if you want to become a developer
> within a small agency or working in house. Those „fast tracks“ mainly teach
> you how to code, but not other important stuff like software engineering,
> algorithms and data structures, patterns, databases, theoretical stuff about
> computers and so on which you would need in bigger projects. Bigger
> companies mostly want you to have formal education. The same is true when
> you want to climb up the corporate ladder. Universities don’t really teach
> you how to code, but they teach you timeless things! I never regretted my
> hard way, because I learned so many different things.

While it's true that a lot of organizations still put a lot of value on a
traditional education, the idea that going to a bootcamp qualifies you for
work "within a small agency or working in house" just seems condescending. I
work for a fortune 500 company and we hire bootcamp grads all the time, many
of them have gone from apprentices to junior to mid level engineers in just a
couple years, they're fucking fantastic.

I strongly feel that getting relevant applicable skills is essentially to
starting a career in software engineering, and that more theoretical skills
can then be acquired along the way. I've seen it several times.

~~~
denisenepraunig
That sounds fascistic! Do you mentor them? Or are pair programming and code
reviews part of your company culture? I can only state my perception about
required qualifications I saw in job postings; big companies: university,
small companies: skill A, B, C.

~~~
49531
We have apprenticeships where they work under a senior engineer for 6 months,
during that time they're moved around the engineering team in different
capacities to help them soak it all in. It's a really fantastic program.

------
xb95
Another Delphi person!! Yay! I spent so much of my life writing Delphi code.
As a teenager. Basically from 12-18 I wrote Delphi/Pascal. Hundreds of stupid
little Windows apps (and some stupid big ones).

I ran into the same sort of thing you did re: Delphi jobs. I was pretty sad,
honestly, having started in the original Delphi days (version 1!) and going to
6 I had gotten pretty good at it...

~~~
denisenepraunig
Hello other Delphi person !! Such a pity that we had the same sad Delphi
fate...

------
cyberferret
Well done. Interesting that you couldn't get a job coding in Delphi after you
won the competition. I remember back around the same time, here in Australia
there used to be quite a few Delphi related jobs around. Perhaps it was
different in Europe.

Did you consider writing a stand alone app in Delphi that you could package
and sell?

~~~
denisenepraunig
Well I just studied the local newspaper and looked for development jobs, but
there were only C/C++ or Java jobs. When looking for jobs across Austria it
was almost the same: no Delphi/Pascal in sight.

I had no app idea back then, that would have been great... Now I know better,
I currently code in Swift and have a few app ideas :-)

------
fencepost
My mother worked with someone well above this woman's age who went from
basically the department admin (admittedly, in IT with a programming group) to
what was apparently a pretty solid Lotus Notes admin, though she did a bit of
job hopping in the process before ending back at the same company where she'd
started.

Many administrative jobs probably offer a variety of paths that could lead to
this. The person working can be someone who does the job as presented to them,
or they can be the person who finds out what's needed and figures out the way
to do it, learning along the way. An awful lot of programs are written because
someone with the skills wants to automate something they find boring.

------
jorblumesea
I really don't think the 8-12 week code camp means you are a truly competent
developer. Sure you can hack around on x or y js framework of the month. But
data structures, algos, big O...all of that comes into play at some point as a
software engineer. You don't use it every day, or even every week. But it does
happen.

And tbh, you can really tell the quality of candidate of code camp vs 4 year
degree. We hired a code camp candidate, just to see how it played out. It
didn't work that well.

------
gravypod
Where was this "University of Applied Sciences" and how do i get in.

~~~
denisenepraunig
It is in Austria, Carinthia: [http://www.fh-
kaernten.at/en/startpage/](http://www.fh-kaernten.at/en/startpage/)

------
agumonkey
And hard to avoid Imposter Syndrom the hard way ?

~~~
LyndsySimon
I'm not sure it can be avoided. In my experience, it can be anticipated,
understood, and overcome - but not avoided.

------
relics443
TL;DR there are a lot of incompetent developers out there.

This isn't a comment about the author, as much as it's about something she
said.

"Today you can take a lot of programming and Computer Sciences courses online.
Everyone can be developer! There are also a lot of developer bootcamps: within
8–12 weeks you can become a developer."

This is a very dangerous line of thinking. Some people have convinced
themselves that they are competent developers _because_ they went to a
bootcamp. And they might have just enough domain knowledge to convince a
company with poor hiring practices that they're worth hiring.

I inherited a situation like that (this dev was hired a few weeks before me).
After a few weeks it was painfully obvious that this guy was a detriment to
the company because of his lack of coding ability. For reasons above my
paygrade, we couldn't fire him immediately, and eventually we took all
responsibilities away from him. We paid someone to come in and not do work for
us.

I've interviewed dozens of developers since then. The one's coming from a
bootcamp (or similar situation) have no computer science skills. They also
have no problem solving skills; they're unable to break through the box that
they were taught in. Most companies can't afford to hire a developer who knows
one thing, and one thing only.

Now, we've had 4 year university graduates with experience in the field come
in from top schools with degrees in CS. A (scarily) large percentage of them
are incompetent as well, though not to the degree of the bootcampers. They're
typically serviceable though.

~~~
throwawasiudy
Most, not all, but most of the good developers I've known learned to code when
they were teens. CS skills have been discounted endlessly compared to other
engineering professions solely because it doesn't cost anything to learn.
Other forms of engineering cost a lot of money to learn beyond the knowledge
required for the job.

That doesn't mean software dev is any easier. And, it's great that CS has such
a low barrier to entry, and hopefully open source keeps it that way.
Unfortunately the same trait makes it sound like "something anyone could do".
Anyone hiring in the industry knows this is not the case.

The same trait results in 80% of those calling themselves "developers" being
radically incompetent. It's one thing if you're electrical engineer that works
daily in Cadence doing LVS and DRC, your license alone could cost 100k a year.
Contrast that with someone who's git cloned react-starter and setup a website
on AWS. The barrier to entry is so low for comp sci that credentials and
accomplishments mean little, and interviews are absolutely brutal as a result.

So we get to where we are now. Interviews mean everything because degrees,
references, and personal accomplishments mean so little in CS. The interview
is your gateway rather than a solid degree program for other engineers.

How do we fix it? Making programming less accessible is obviously not the
right way. We need a solid accreditation program like longer established
professions have. CS is very new relatively (the first programmers are largely
still alive, which is astounding). God help you if you go to an unaccredited
electrical or mechanical engineering program, but the large majority of CS
programs aren't accredited at all. Employers need to know which schools are
good beyond the top 20 so they can hire effectively, and engineers need to
know the same to decide which program they want to attend.

It's going to be a vicious cycle until that happens. Endless "CS programs"
that don't teach you anything. Borderline scam bootcamps (some are good, but
who?). Shaky employers grilling the hell out of anyone that comes through the
doors. It's going to suck for everyone in the space until we have some formal
definition of someone thats been properly trained. Take the bar exam for
instance; In most states you can take it without any schooling, but only those
truly knowledgeable will pass.

Someone that passed the bar? A lawyer. Passed your boards? A doctor. Passed CS
degree program at school X? Who knows.

~~~
stale2002
The unfortunate thing about what you are saying is that a CS bar exam, or
certificate, wouldn't "prove" that you have any worthwhile skills.

CS degrees are math degrees. They don't address the needs of the millions of
Web Dev jobs out there.

I am not a computer scientist. I am a web developer and proud.

And any web developer accreditation program needs to address the needs of web
development and NOT address the needs of computer science.

~~~
relics443
I have a graduate degree in CS. I'm well versed in most aspects of the field.
I pride myself on writing clean, efficient code, and architecting correctly. I
also have a learning disability (dyscalculia) which makes certain things
difficult (discrete math, calculus, etc...).

The fact that CS is based on mathematic principles does not make it a math
degree (although that did make things challenging for me at times).

~~~
type0
> The fact that CS is based on mathematic principles does not make it a math
> degree (although that did make things challenging for me at times).

But in order for it to be a useful degree you need to have math as supporting
subject. This is the same as if you want to be molecular biologist you need to
know a few semesters worth of chemistry otherwise you'd be given endless hard
time, which you seem to understand.

I studied math at uni but because I haven't studied enough it always is so
much harder to grok all important things in programming and CS. I would argue
that it is a huge roadblock for anyone wanting to become any good at CS, but
then again there's programming and there's 'programming'.

~~~
relics443
"But in order for it to be a useful degree you need to have math as supporting
subject."

My university allowed me to make a custom degree that did not include calculus
and didn't take my discrete math grade into account. I'm not what you would
call "well-versed" in anything math related. I understand the theory for a few
things I've looked into but that's as far as it goes.

In all of my career (~10 years) I've never once found myself at a disadvantage
because of it, and it's never held me back from doing or understanding
something.

I'm sure there are some areas of the field I'll have difficulty with (low
level graphics, etc..), but even then I find that with enough hard work and an
alternative approach to understanding the problem I can get things done.

------
smnplk
I hate it when people use the term "coding" instead of programing.

------
xchaotic
Sorry if I misread that as a movie title.

------
muninn_
Ok. So I started reading this and just couldn't. Too many -comments and I just
couldn't follow the article flow. Kudos to this person for putting in the
effort to do what they want. I just can't get over the writing style.

~~~
hillz
Yes, there are also quite a few grammar errors. Makes it hard to read.

~~~
denisenepraunig
English is not my first language, sorry for the grammar mistakes, I tried my
best :-) I asked a native speaker friend to help me to fix it ASAP. I will pay
more attention to this in the feature! Thx!

~~~
acemarke
Hey, don't worry about it too much. Probably a few bits of grammar or phrasing
that could be tweaked, but it's perfectly readable as-is. I spent four years
teaching English in China, so I've got a pretty good feel for the various
levels of English fluency in non-native speakers - you're doing fine, trust me
:)

Really, about the only thing that tripped me up reading that was the German
quotation marks, and that's just because I'm an American :)

Congrats on your progress, and thanks for sharing your story. Good luck in the
future!

~~~
denisenepraunig
Thank you for your encouragement acemarke :)

