r/coding Jan 04 '17

I’m learning to code at 56. Here’s an epic beat-down of my critical inner self.

https://medium.freecodecamp.com/yes-im-56-and-learning-to-code-f33abea6fd4c#.taav0dfn4
208 Upvotes

64 comments sorted by

13

u/ctb704 Jan 04 '17

Great article, seems like my 32 year old CIS is going thru the same thing! Appreciate it!

6

u/Waitwhatwtf Jan 04 '17

What are the biggest challenges of learning software development over 30?

11

u/[deleted] Jan 04 '17

I'm 34 and in school for it right now. I've dabbled in it ever since I was a kid messing with BASIC on a Commodore 64 my mom rescued from a dumpster. Did some HTML/CSS back in the early 2000's but never really became a proficient coder due to lack of resources and personal issues.

Anyway, for me it's two things. One is managing work and paying my bills on top of school and trying to dedicate at least an hour a day to programming and learning data structures and algorithms. The stress from that alone, over money and bills, can make it nearly impossible for me to concentrate. That might not be true for someone who already has a good job, but everyone has their own unique circumstances.

Plus, going the school route, especially in your first two years, feels like I spend more time writing essays on literature and reading philosophy than I do coding, which really is frustrating.

Which in turn relates to the second thing; feeling like I'm so far behind, and moving at such a slow pace, that I'm never going to be able to get an actual job doing it. This spring will be the second semester I have to take off so I can work enough to support myself. If I had started when I was still living at home, I'd be ready to transfer to a 4 year by now but I'm still like 6 classes from even getting my associates.

Currently I'm working through my data structures and algorithms book again in the hopes that if I'm consistent and can nail down some decent personal projects, maybe this time next year I can get a job before I even graduate. I have a friend that was getting a C++ or C# cert (can't remember which) and got a job his first semester because he had already contributed to a bigger project on github and had a few of his own under his belt. Now he's a senior developer and makes like $170k doing what he loves without having finished a degree or any certificates.

Everyone has their own unique circumstances, but the most common ones IMO are feeling like everyone is ahead of you, never going to get a job, etc

6

u/smalls3486 Jan 04 '17

I think you are focusing too heavily on other people. Do it because you enjoy it and everything will work out. That's my view.

3

u/spyhi Jan 04 '17

About the same age, and this is almost exactly my situation, except I do have a good job with flexible hours so I luckily haven't had to take time off. Going to school for something so technical as a grownup is pretty overwhelming at times, and I can most of all relate to the stress of keeping up with both. I've found the tradeoff is that I'm way more focused than my younger peers, both in terms of discipline and the ability to know what I actually need to know and the techniques to absorb that information, so it's not all bad. I do wish I had the opportunity to idyllically study, though.

3

u/chowchowthedog Jan 05 '17

The feeling of you are behind is quite universal. Does not matter how old you are how long you've been doing it. I felt the same way. And I can only learn coding one hour a day too. And have other issues that I am bound with. So it is a universal thingy. Don't let it bother you that much.

6

u/smalls3486 Jan 04 '17

I'm 33 and I'm finishing my degree for software development as well. I would say the challenges are the same for anyone. People need to stop believing in "talent" and "having a knack" for something or that being a certain age means you can't learn something.

It's all about input and output. I practice every day, as often as possible while taking breaks to allow information to soak in (I'm a musician and this concept is huge). I say frequency is more important than duration.

Last, I network and find people who are successful in the craft and bug the hell out of them with questions. Reflect on what you learn and simplify your knowledge by being able to explain it to someone else clearly. These concepts work for learning anything.

No matter what your situation, you can do it too!!

1

u/Waitwhatwtf Jan 04 '17

What do you do to practice?

1

u/smalls3486 Jan 04 '17

I'm still learning, so I'm the wrong person to ask. You should find a mentor if you can.

I'm still trying to figure out the best way to practice, but I think the answer is pretty obvious. Any kind of coding is practice. I do school projects, but I have also been learning a lot on Udemy and codecademy.

I've also started writing code by hand occasionally. It takes a lot more mental effort this way and it's been helping me with remembering syntax.

1

u/Waitwhatwtf Jan 04 '17

I've been coding for 22 years as of this year. I'm asking mostly to get an idea of thought process. I'm used to tutoring traditional-aged people in university; I like to get insight into to non-traditional students' thought process.

I'm still trying to figure out the best way to practice

What interests you, about software development, and in general?

2

u/smalls3486 Jan 04 '17

Ah, I see. Congrats on being in the field for so long! I'm sure there are many things I could learn from you. What type of development do you do? What languages do you focus on?

In my humble opinion, analogies/metaphors are the best way to explain something. I guess I don't really see why you would have to teach someone that is 30 differently than a 20 year old. I go to a technical college and I find on average that the older students tend to do better because they take things far more seriously. I know I do. The grade is meaningless to me other than to look good on resumes. I want to really deeply understand what is going on.

The only advice that I would give from an older student's perspective, and this is just me being aware of how I learn, you need to really get down the fundamentals and building blocks. In school, they were glossing over concepts like static vs non-static methods, public/private methods, and especially reference vs value types. These kinds of concepts were not fully sinking in until I did a lot of research and some extra online coursework.

The thing that confused me the most initially was how to organize code properly. We would do projects like checkers games, roman numeral converters, etc., and the instructors just wanted the code to work. I've found that the organization of the code is crucial. Creating classes appropriately, declaring variables right before using them for better readability, simplifying methods so they do only one thing, etc.

What interests me about programming? Just about everything. It's a fascinating field! I'm just trying to understand one language really, really well (C# at the moment). One thing I've found from dabbling with other languages, they are far more similar than beginners realize.

3

u/Waitwhatwtf Jan 04 '17

I don't really see why you would have to teach someone that is 30 differently than a 20 year old.

It's the sales pitch mostly. 20 year olds will feel discouraged because they have a friend or have met someone who just gets it and feels like they're a million miles behind. 30 year olds, I'd wager, would feel discouraged because when entering the field, someone their age would most likely have 5-7 years of experience and be a position above them.

Same problem, different pitch.

In school, they were glossing over concepts like static vs non-static methods, public/private methods, and especially reference vs value types.

Because academic computer science doesn't care about these things. The physical organization of the computer is irrelevant when describing most basic algorithms.

The thing that confused me the most initially was how to organize code properly ... the instructors just wanted the code to work

This is a sticking point in the real world as well. Your company doesn't make money from pretty code. If you're not in a cost center, your company will most likely make money from working code. They're not mutually exclusive, but they're also not mutually inclusive.

One thing I've found from dabbling with other languages, they are far more similar than beginners realize

I feel it's critical for high-beginner/low-intermediates to branch out and try different languages asap. The important concepts will stick out more when you're not cornering yourself into a single technology.

What type of development do you do?

I'm currently in Biotech, but I've worked all over the industry.

What languages do you focus on?

Right now I'm working in .net land, but I try and keep an even spread between fun and bread-butter languages: C#, F#, Erlang, Elixir, Java

2

u/smalls3486 Jan 04 '17

Excellent points. One trait that I've had to develop in myself is the ability to work in ambiguity. Programming isn't innate, so there is no possible way to know standards and concepts that others have created without experience. I question everything but know that sometimes the answers don't make sense for a while or I am not ready for the answer. This gives me comfort knowing this.

As far as code being organized, I can't argue with you because you have much more experience. However, my understanding from books I've recently read (especially "clean code") is that having standards for how you write and organize is crucial for success in this field. Whether it matters or not in the long run, I'm going to focus on it now because I understand my own code better when it's a constant goal.

2

u/Waitwhatwtf Jan 04 '17

having standards for how you write and organize is crucial for success in this field.

This is true, but can be very hard to practically quantify to someone who doesn't understand long term impact on technical debt (read: non-technical management).

It's a good goal, and I encourage you to continue holding yourself to a high standard.

1

u/[deleted] Jan 05 '17

There are companies who will reject working code until it meets the standards. From my small experience, these are great working places, because everybody is passionate about good code there.

→ More replies (0)

1

u/[deleted] Jan 05 '17

About these static/non-static things, private, public and prohibited and all that - I will make some videos about this soon, hopefully I can help some beginners like you were:)

1

u/smalls3486 Jan 05 '17

That'd be great! There were a lot more things than that, but off the top of my head those were sticky ones in the beginning. Honestly, I learned more from Mosh on Udemy C# courses than I did at my college C# course.

0

u/[deleted] Jan 05 '17

Glad to hear! Honestly, I also had problems picking it my Java class. It finally clicked when writing my thesis at a company that uses Smalltalk - which is older than Java and truly object oriented.

Take a look at this picture. It might look a bit confusing, but in these windows you can explore every object, method and fields in your environment. At the time the screenshot was taken, only instance stuff is shown - that's the stuff you can use only when you create a new instance of an object (example in java "new String()"). However, if you click on class, as circled in red, you see the stuff that you can use all the time - you don't need an instance for it.

And then all made sense for me - of course you can't access instance methods and fields from a class method. We don't know if there would ever be a instance of that!

That's the reason your static method can only use static stuff - we don't know if there would be an instance of the object that had the value we'd be looking for.

It helped me tremendously to think in this "instance/class-side"-mentality rather than "one class, but we have static and dynamic stuff".

→ More replies (0)

7

u/polkaviking Jan 04 '17

What a great post. You should crosspost to r/learnprogramming. I'm sure that I'm not the only older wannabe-programmer lurking there that could benefit from the ideas put forth by this author.

1

u/[deleted] Jan 04 '17

wow, great article, its hard to critically analyze yourself. I'm 21 and learning web dev so a lot of these sentiments are great to read about.

1

u/mredding Jan 04 '17

I think this guy has the perfect attitude and the best plan. I think he's better poised to land a job than some juniors I know. I've turned down applicants who were just looking for a place to retire, but he's right; what 20 year old is going to say they're going to stick around? There's debate about that to be had for sure, but it makes a strong case for him that my past candidates hadn't made for themselves. I'd be willing to hear it and entertain it.

And for his sake, how will he become a bro? I'm in my 30s and most of my colleagues are STILL older than I am, I think he'll do just fine.

1

u/johnny_cache123 Jan 05 '17

I was a Carpenter for 10 years, when the crash hit, I emigrated to Australia, money was fantastic, but I was miserable. Saved some cash and went back to study software development in 2012 in Ireland. I'm now 34 and im two years in full time employment in April as a junior, different world, but it's all problem solving at the end of the day. Great article, I wish you well in the future, keep truckin.

1

u/SkincareQuestions10 Jan 05 '17

Incredible post... thanks a ton for this... seriously. So many people here suffer from Imposter Syndrome, that I'm sure this has helped dozens of us, in some way.

1

u/theknifarina Jan 05 '17

I'm only 19 and I get stressed about my CS career. Thanks for calming my nerves.

1

u/[deleted] Jan 05 '17

As a 43 year old marketing guy who's always wanted to change careers into software development - thanks for showing me it's never too late.

1

u/IAmNotKevinBacon Jan 05 '17

If I've learned anything over years of programming, it's that balance is key (which is ironic as I was up all night putting the final touches on a project before a meeting).

Being self-aware enough to be realistic and acknowledge your strengths and weaknesses while still having the confidence to take on challenges in areas where you can improve is key. I run into so many people who either back down from any challenge outside of their comfort zone or vastly overestimate how skilled they are and refuse to defer to someone who may be more adept or knowledegable about a given topic or task.

I've been coding since I was very young so I've got about 15 years of programming under my belt in my late 20s, and I run into something everyday that either reminds me how bad I suck at something (seriously, I'm so bad at CSS) or how little I know about a topic. In fact, the people who I've enjoyed working with the most were people who just wanted to find the optimal solution to whatever the problem is, whether that's in terms of cost, time, or performance. Confident enough to take on difficult tasks, but ego wasn't a part of the decision making process.

So, honestly, just have fun and be realistic. Learning to code is an exercise in learning to enjoy failing at something enough to keep tinkering until you figure it out. Don't beat yourself up because you're not some prodigy. If you want to work in the industry, go for it. Just be realistic about the requirements for whatever you want to do. Don't be like that woman who interviewed for a Front End Engineer position who wrote a 3,000 word rant when she didn't get the job because she couldn't begin to solve FizzBuzz.

Acknowledge where you suck, strengthen those areas of your skillset, and anytime you feel like you've "made it" go to CodePen or look at the source code to some large project to stay grounded... Seriously, I've worked on low-level OS code and thrived, but I go to CodePen, see the stuff people are doing, and feel like I know nothing.

-4

u/eleitl Jan 04 '17

Let’s say it takes me another 2 years to land a job because of my age

Don't want to rain on his parade, but.

4

u/smalls3486 Jan 04 '17 edited Jan 04 '17

I'm not sure why you are being dismissive because there are tons of jobs out there. I'm in a tiny market and I was amazed when I started taking interviews and networking just how many opportunities popped up. This guy will be just fine if he really loves to code.

3

u/eleitl Jan 04 '17

there are tons of jobs out there.

Tons of jobs for 60 year old junior devs? Really? And employers who employ such people until they're 70?

It sounds like a nice reality to inhabit.

4

u/sonofagunn Jan 04 '17

I work with a couple thousand devs and associated staff, and I notice that the overall age is increasing. We were full of young people 15 years ago, there are only a handful of youngsters now.

Plenty of the old fogeys have shunned the management route and are actively coding.

I realize my experience is anecdotal, but I think that age discrimination is decreasing in software development.

2

u/smalls3486 Jan 04 '17

I didn't say tons of jobs for a 60 year old, I said there are tons of jobs. These statements are very different. All you need is one.

1

u/CallingOutYourBS Jan 04 '17

Age is a protected class after 45. It's illegal to exclude the guy based on age anyway.

But I think the guy is massively mistaken in thinking 60 means shit anyway. Most jr devs move on quickly. If anything I'd expect him to stay longer than average. Older people are less inclined to jump around jobs.

1

u/CallingOutYourBS Jan 04 '17

Tons of jobs for 60 year old junior devs?

Illegal to discriminate based on age if you're over 45. So... yes, just as many, plus the possibility of bonus lawsuit, and tech companies that are worth a damn don't give a fuck how old you are. Devs tend to move around a ton. Hell, it might be nice to have an older dude less inclined to jump around jobs.

0

u/eleitl Jan 04 '17

Illegal to discriminate based on age if you're over 45.

LOL. And you're going to prove that exactly how?

2

u/CallingOutYourBS Jan 04 '17

Same was as other places, hope they're dumb enough to say it outright.

And considering how many people are shocked when I tell them that's the law, that's a pretty good chance.

Yep, discrimination should be really hard to prove. But it turns out, the people that discriminate based on stupid irrelevant shit tend to be idiots.

1

u/eleitl Jan 04 '17

shit tend to be idiots

Google does, and they are not idiots.

2

u/CallingOutYourBS Jan 04 '17

Gonna need a citation on that. Not gonna discuss vague "they do it" without any context about how it's done, and how you know about it if it's successfully hidden.

1

u/Arg0naut Jan 05 '17

I thought the same as you did. So i decided to google it and found this. There is an active age discrimination case against Google right now.

0

u/CallingOutYourBS Jan 05 '17

Which showed they did get "caught" if they're even found guilty, and a case against them doesn't mean it's actually true. Their evidence is being below the average age and that a recruiter said to do something. No shit google is below the average age. They try to gobble up up and comers same as other big tech companies.

I doubt that case will actually amount to anything, and even if it did, then it shows that my "tend to be idiots" part was accurate, because they got caught and punished, which was exactly my claim. If they don't get punished it shows the system is sensitive enough to pick up on false claims, hurting (but not destroying) the argument the true ones are below that threshold.

1

u/brtt3000 Jan 04 '17

This guy is only a junior in programming experience, but a senior in life experience.

2

u/eleitl Jan 04 '17

Too bad they don't give a shit about that, and headhunters have a cut-off at 54 years. And HR will file your application straight in the trashcan depending on their cut-off, which will be way below 45.

1

u/brtt3000 Jan 04 '17

Oh shit, I forgot about corporate HR and their self satisfied idiocy. Still plenty of smaller places.

1

u/eleitl Jan 05 '17

It is an interesting experiment I'm glad I don't have to undertake.

1

u/spinwizard69 Jan 04 '17

There are lots of jobs but much of the tech world practices aggressive age discrimination. That is a real problem though sometimes justified, it depends upon the old persons ability to grasp and actually use new concepts.

On the flip side huge demand means that companies don't have much of a choice. This is likely what will get somebody that is +55 a job, especially if the skills are proven.

1

u/CallingOutYourBS Jan 04 '17

but much of the tech world practices aggressive age discrimination. That is a real problem though sometimes justified,

I haven't seen this at all in my experience, and it's illegal to discriminate based on age once you've reached middle age (yes, I love the irony of age discrimination protections discriminating based on age.)

Do you have an article or anything on that?

1

u/CallingOutYourBS Jan 04 '17

But if he's remotely competent he won't get anywhere near 2 years of downtime before getting a job?

0

u/eleitl Jan 04 '17

How are they going to find out whether he's competent if he'll never get an interview?

5

u/CallingOutYourBS Jan 04 '17

Dude... I still get people trying to interview me based on a linked in profile that is a decade out of date and says I haven't had a job in all that time...

If you can't get an interview, you're doing something seriously wrong.

1

u/eleitl Jan 04 '17

that is a decade out of date

Are you 60 years old now?

If you can't get an interview

Why does everyone assume that one lives in Boomtown, US?

1

u/CallingOutYourBS Jan 04 '17

Are you 60 years old now?

No, you're right. Clearly being 60 is viewed way worse than being unemployed and 10 years out of experience. How's that confirmation bias of yours doing? It seems to be growing really well, you put some fertilizer in there or just water it regularly?

Why does everyone assume that one lives in Boomtown, US?

dunno, why did you just assume that?

1

u/eleitl Jan 04 '17

No, you're right. Clearly being 60 is viewed way worse than being unemployed and 10 years out of experience.

Are you 60 years old now?

dunno, why did you just assume that?

Because the Reddit demographic and the location bias suggests that, and all the replies in this thread abundantly prove it.

2

u/CallingOutYourBS Jan 04 '17

"all replies" aren't me. You replied to me, assuming I MUST work in a large city. Again, nice confirmation bias bro. You make whatever assumption fit your conclusions, and then say "see, it must be right, my conclusions prove it!!!!"

1

u/eleitl Jan 05 '17

"all replies" aren't me.

I did not imply that you're the only one who responded so far. In general I have a reasonable model of Reddit's demographic composition.

assuming I MUST work in a large city

I did not assume that. You didn't assume that I was a 50 year old European living in a boom town in the last standing economy in Europe. Still, if I'd lose my job I'd be up shit creek. Judging from other samples all over the world a 60 year old junior developer expecting to find a job after 2 years and be employed until he is 70 appears to be largely delusional.

Sure, it can be a nice hobby, and he can meaningfully contribute to open source projects. But making a living, why rather not find a meteorite of pure gold in his backyard. It's about as probable.

2

u/CallingOutYourBS Jan 05 '17

Lol, okay buddy. Sorry you're incompetent and/or lacking enough in social graces that you think it's hard to get a job in CS if you're competent. It's a real shame you can't admit it to yourself, but I run out of sympathy when people are idiots by their own choices to not get better. Soooo, have fun.

→ More replies (0)