Ask HN: Should I should switch my career path to coding after 27?

5 points by ax0ar ↗ HN
A little background about myself. I'm 27 and have been working as a full time online journalist and designer for the past five years. I've seriously lost my motivation for various reasons to continue with journalism as a career. My daily routine at work consists of writing news stories, planning and designing what will be implemented on the site and coordinating the flow with the IT department, and other things like basic video editing.

I'm the type of person you would probably call a geek. I've have been interested in coding for years, know basic HTML, CSS and JavaScript along with the underlying technologies of the web. I've been following HN for the past few years and this awesome community drives my motivation to constantly learn new things. Since last year, I've been trying to learn Python with gaps in between, but decided to seriously take it on 2 months ago. Now I'm trying to do small projects to apply what I'm learning, such as manipulating somewhat complex Excel files with Openpyxl.

I have a short, mid and long term plan in mind. I'm aiming to nail down the fundamentals of programming with Python and JS first. Then get hired at a junior position when I permanently move to Australia with my wife next year, and develop my skills as I gain experience in the field. In the long term, I want to write my own software, but that seems far away from now.

I have the motivation to learn, but struggle to convince myself if I'm taking the step in the right direction. I come across many people, blog posts and comments on different platforms who say that it's difficult to enter software development after 30.

I'd like to get some feedback from this super awesome community. Sorry for keeping it long.

18 comments

[ 2.8 ms ] story [ 48.6 ms ] thread
Anyone who says either "Coding is right for you" or "Coding is not right for you" doesn't know the truth. ONLY YOU can figure out whether coding is the right field for you.

The questions you should ask yourself:

1. How willing are you to keep on solving a problem? How do you react when the first five or ten times you have a problem, your solutions don't work?

2. How good are you at writing extremely detailed instructions? A good check: Write your favorite recipe, give it to a friend, and ask them to cook it. Afterward, ask them how difficult it was to cook. (This test is EXTREMELY valuable when your friend says that they don't know how to cook.)

3. How do you react when you work very, very hard on something -- then someone who has never touched it says someone else "could have done it in five minutes"?

4. How do you react when something that you've studied and practiced for five years goes out of fashion?

Thank you for your response.

1. If I'm completely stuck, I try to get away from the problem for a short while and return to it again, because forcing myself generally doesn't help in solving it faster. I found that this generally works better, at least for me.

2. I'll try this.

3. I'd probably think they either don't know what I've done, or they are very proficient at it.

4. I don't believe that software development will become a less valued skillset. The hype around it might die, but then again I don't really about that. I enjoy tech as an observant consumer who pays attention to detail, and believe that I'd be capable to translate my observations to a new product/tech. What I currently lack to do so is a technical toolset.

How would you evaluate my answers to the questions?

1. I would pick up other techniques for getting myself unstuck. Stopping and doing something else sometimes works... and sometimes, it just makes you later. Favorite ones for me include googling (you'll be doing a lot of this!), rubber duck debugging ( https://rubberduckdebugging.com/ ), and occasionally the Creative Whack Pack ( https://creativewhack.com/product.php?productid=64 ).

4. Although software development won't become less valued, each individual technical toolset has a natural rise and fall. Older technologies move out of favor. Think about how you deal with studying something for years, then learning that particular technology -- although it's still very good -- is just "not popular", so companies no longer want to use it.

Good luck, no matter whether you move into coding or not!

Same question, but for 33 yo. I’m consider making the switch from a commercial video producer to coder.
Of course you should, you're gonna live a good additional 50 years, do you want to spend them doing something you don't like?

Python is good language to start, concentrate on that first and keep js for later, it's a complex language that may confuse you more than anything else.

Mix theory and practice, learn and build console apps, avoid web dev for now, you don't want to confuse yourself with all the web framework stuff. Your goal at that point should be to learn the language and how to think like a software dev, not learning some apis or frameworks.

27 is a good age to learn, technologies are always changing so, even at that age, you can learn and become an expert at something, and after a few years, nobody will ask you for how long you've done it.

Thanks for the advice.

When should I dive into frameworks? What concepts should I be familiar with apart from the basic building blocks (var, loops, control flows, etc)?

The MOST IMPORTANT thing is to start practicing, and keep practicing.

Very few people stay motivated to study, unless they have some kind of goal.

So try finding your goal first. Perhaps it would be to create something that would help your life as a journalist.

Then, once you have your goal, try to create it. You'll discover what you're missing. It might be that you don't know how to store things so that they can be found flexibly -- so you then study databases. It might be that your code is far too slow -- so you study algorithms. It might be that you need to plug in functionality that others have written -- so you study frameworks.

Good luck.

As you said, the first level is the language syntax, var, control flow etc. Second level, data structures, list and list comprehension, dictionaries etc. Third level, recursion and algorithms, or how to solve problems in python, what you'll often see it referred as "the pythonic way".

Don't be too academic with these that it becomes boring, but just enough that you start feeling comfortable building some small console apps, that can read and write files, crawl some pages from the web, that kind of thing.

Once you're good with that, you can start with frameworks. The danger you want to avoid is to start too soon, and have a hard time separating the complexities of the language with the ones from the framework.

I made the switch from Social Worker 2 years ago, at age 32. I’ve had no difficulty because of my very advanced years :troll:

But seriously, do it. It’s been a LOT of fun.

That sounds great. Congratulations on your success!
You already have domain skills, unless you hate what you're currently doing it would be a mistake to try and become a "general programmer." Try to figure out what role you can fill that integrates programming and your current domain knowledge, and develop your programming skills to move into that niche. Over time you can broaden your programming skill set, and shift into new niches.
I've thought about this as well, but because I will need a flow of income, I thought acquiring entry level skills for a full time position and gaining experience would be a more ideal start.

Coding around journalism is something I'd want to do, but there aren't as many job openings as there are in other areas.

I feel like data driven journalism is a legitimate niche, and there's a lot of software involved in that, both in terms of analysis and presentation. D3.js was created at the New York Times, for example. If you are interested in exploring that possibility, I would suggest you emphasize learning data manipulation/analysis/visualization tools over front-end development. It's a harder route than trying to just become proficient in a web stack, and front-end work is easier to find, but it will probably be a lot more rewarding in the long run if you stick with it.
Data visualization is something I'm interested in, but there are really very few positions that look only for that where I will live.

There are many Data Analyst positions, but I'm not sure whether I'd be able to do that because the field probably requires a good foundation in math, something I lack..

I was thinking of starting with a web stack, then progress to become a full stack dev, with the aim of creating and selling niche software for the fields I know some things about in the long run.

I find it really difficult to decide on a path, given all the possible routes and my interest in a lot of areas..

tl;dr - You should definitely do it!

I am around the same age, and recently made a shift from a sales career to coding. I started teaching myself python using treehouse (no affiliation) and then moved on to using blogs and such. I was doing this for a few hours a week for about two years, and then got an opportunity only a few months ago to join a small team as a React Native/Typescript Dev.

The learning curve was huge for the first 2 months, and every day I felt so stupid, but a few months in and I am so glad I made the switch. I think that if you are really willing to put in the time and don't mind not knowing what you're doing making the career switch is totally worth it.