Looking for guidance re starting new career as a coder
June 12, 2020 7:16 AM   Subscribe

Thinking about a career change involving coding. Can you help me figure this out?

Currently: I’m a 37-y-o writer who has succeeded to some extent, but not in any financially significant way.

Writing-wise, I have:
- published a book of short stories → resulted in almost no money
- wrote journalism, some that did very good numbers → resulted in almost no money
- made a 7-episode web series, accepted into multiple film festivals → resulted in no money at all

I also worked as a creative writing teacher for 3 years (6 if you include grad school) → resulted in almost no money (i.e. less than a livable wage).

This has all been rewarding. I like literature, writing, art — also teaching. But at this point I am not making enough money doing these things to pay rent, let alone save money.


So I’m thinking about coding.

I’ve done:
- HTML coding as a teenager
- university classes in C and R (statistics programming language)
- high school physics
- 1st-year university math
- 1 or 2 university courses in statistics
- a BA degree in cognitive science, i.e. psychology/linguistics/philosophy

Now:
This week I’ve started to take online classes in CSS, JavaScript, Python. I find it very enjoyable and I seem pretty competent at it. I have a mind that likes to be occupied with a solvable problem.


My question is basically: what field/area you think I should try go into, given:
- I am 37
- my main areas of professional expertise are communication, writing & teaching
- I have an interest in AI & machine learning and a semi-related background in cognitive science
- it is currently the age of COVID, i.e. economic downturn but more online activity
- I would like a paying job ASAP

Wildcard:
I have no idea how my interests might change as my mental environment shifts drastically, but at the moment I intend to continue writing, and as such I’m looking more for a day job than an all-consuming ‘passion’. However, it would be nice if my day job wasn’t too boring. From my very preliminary research, it looks like front end web dev might be the easiest thing to get for someone brand-new to software*, but I worry it might lead to boring work. I wonder if something involving data science or machine learning might be more up my alley.

(*This is based mostly on front-end web dev being the only stream available at the most well-regarded bootcamp in the city where I usually live (Toronto), which has a very high job placement rate and an option to completely postpone tuition cost until you're making > $50/year, which is an extremely attractive option)

Values:
- I’m not particularly driven by money
- I would love to work in a team IRL, though understand this is probably unlikely right now
- I am driven by social justice to a medium degree
- I am very attracted to a field or a project that involves innovation in a tangible way, i.e. is producing something never before seen, especially AI or ML-related

I know to some extent the answer is probably “you figure it out as you go,” but I also think it might help to have a clear goal at the outset of my journey, rather than stumbling around and having a hodge podge of half-useful skills that don't add up to anything. I recently sat in on the Zoom celebration of the graduates of a coding bootcamp, and learned that the only person who got a job right away was a guy who knew he wanted to go into game development and so made all of his bootcamp projects games.

So this is very open-ended. I’m looking both for:
- suggestions for what field / job to pursue
- how to do so

Thanks very much
posted by skwt to Work & Money (9 answers total) 17 users marked this as a favorite
 
If you want a paying job ASAP, get a non-technical job at a software company (i.e., support) and let them teach you/pay for any classes.
posted by kevinbelt at 7:31 AM on June 12, 2020 [4 favorites]


Given what you said about the local market and the bootcamp, I would suggest aiming towards front-end web development and getting your foot in the door somewhere. You will learn a lot of fairly generic skills you'll need for any more advanced work just by working somewhere and of course it will make it easier to get a job after that once you have a track record.
You may well be able to find a company that is focused on something using AI/ML (a lot of companies are, or say they are) but I would aim to get in doing the grunt work and then figure out what you need to learn there in order to get into a role that's more focused on those areas.
posted by crocomancer at 7:53 AM on June 12, 2020 [1 favorite]


I work as a front-end developer (mainly React, but I learned it on the job). I started out with HTML, CSS, Python, Flask, and a bit of Node.js, basic JavaScript, and the kinds of shitty programming languages you learn in a computer science program in higher education.

I'm on a UX team and they LOVE developers with good communication skills; most developers just don't have them. They have hired some people out of bootcamps (some without college degrees) and they've succeeded. There are also many people who are career switchers in the field (I am one of them; I used to work in communications).

We are assigned out to company products and work closely with designers to implement usability improvements. I also work on our company's pattern library sometimes, which is a lot of fun. I implement reusable components that are used across products to give us a more consistent UI. If you leave it to the product teams, you'll frequently wind up with inaccessible garbage.

I can't speak to other companies, but the UX team at my company is also significantly more diverse in terms of race and gender than the rest of the company, which makes it a much better place to work.
posted by marfa, texas at 8:19 AM on June 12, 2020 [6 favorites]


You might look at technical writer positions too. It can be a good way to quickly integrate yourself into a team and learn the ropes with good potential to move into different roles.
posted by RobotVoodooPower at 10:05 AM on June 12, 2020 [7 favorites]


Obviously, I'm looking at this through my own perspective, but how I'm reading your question is that you're looking for financial stability first and foremost.

The path that makes the most sense to me is to get formal training (most of which is very good), which is the shortest and least risky path to getting the type of job you want. Self-teaching can be effective, but you'll miss out on understanding how to code as part of a team, and it's also the hardest path to take in terms of convincing someone to hire you.

I don't know anything about the market for developers in Toronto, but here in Minneapolis (far from Silicon Valley), boot camp grads seem to get hired pretty well. This seems to be especially true of people who are doing a career change and have a decent amount of life experience.

I'm the leader of a software engineering consultant group here, and 30-40-something boot camp grads are usually my best hires, surpassing CS grads with 1-2 years of experience.

I'd recommend doing some more research on the local boot camps to better gauge your risk and comfort level with same, but unless the market for developers there is bad, if you have an aptitude for coding, you should be easily employable.

So, assuming you were to go through a boot camp and get a job offer or two, they might not be exactly what you're looking for, but if you can handle a couple of years in a so-so job and you continue to learn, you'll be very marketable, by which I mean you'll be able to be pretty selective about what companies and roles you can pursue.
posted by Ickster at 12:12 PM on June 12, 2020 [2 favorites]


Response by poster: Thanks everyone so far! Lots of good ideas, very helpful.

Btw, I'd also be curious to hear more stories from people who have made this career change themselves.
posted by skwt at 2:46 PM on June 12, 2020


Hi! I'm about your age, and I made a similar sort of career change about 3 years ago. I had a background in writing, research and administration, and then decided to change to a technical path. I've been at my job at a large tech company for about 2 years now.

Given your background, I think that there are a number of roles that are technical, but not necessarily pure coding roles, that you can fit into. My role is mainly troubleshooting and customer enablement, and a lot of my daily work involves communicating in writing. Don't feel limited by just looking for coding roles. There are lots of jobs that combine technical skills and communication skills that pay a living wage (or better) for a major city.

I didn't go to a bootcamp. I had concerns about the quality of the instruction and about getting a job afterward. I work with a number of people who did go to bootcamp, and the main advantage I have seen is that they had access to recruiters through the bootcamp, and that they have a pre-established network when they are entering the industry.

Instead of going to bootcamp, I took night courses in programming at a local university, which was much cheaper than bootcamp, and I could take the courses after work. I also did a lot of self-study and networking through the local meetup group for the language I was learning. I did a lot of work to raise my visibility in the language community that I was part of.

Feel free to DM me if you have any questions, or if you'd like to chat more.
posted by Lycaste at 4:54 PM on June 12, 2020


Another pathway into a programming career is to look for companies that are willing to take you on as an entry-level / junior and pay you a wage while training you to be a software developer.

Here's one way it works:

A professional services / IT consultancy company has identified a market opportunity to "flip" junior or entry-level employees with limited experience and offer them to clients as experienced consultants in some particular technology or skills that the client requires. In some cases the consultancy will be willing to hire entry level candidates with no experience, train them in the basics of some programming language or technology that is in demand, then place them in a client project.

The consultancy first takes on the risk and expense of training the new hire for some period of time -- where the new hire is not generating any revenue for the consultancy, but then hopes to profit by placing the new hire onto a project where they can be billed to the client at $3X -- $4X / day while paying the junior employee a salary of $1X / day, and then tries to keep the junior employee working for them for a few years while keeping them on billable projects.

As an entry level or junior hire working for a consultancy, the upside is that you can have a paid job where you are paid to learn valuable skills that are in market demand. If you are curious and willing to work hard and learn from those around you or from other resources outside of work it can be a way to quickly get a lot of valuable experience. For downsides, the consultancy will naturally be more profitable if they can get away with training new hires for as little time as possible before placing them into a client project where they can start being billed to the client -- so it would not be surprising to be "thrown into the deep end" where you are placed on a project at a client site, where the client may have unrealistically high expectations of what you can deliver (from the consultancy bending the truth about the amount of experience you have), and the consultancy will be motivated to keep you there billing as many hours as possible without offering much support. There may be pressure to work long hours and travel to client sites. There is the risk that you get allocated to a client project that is a giant mess (so you may not be gaining experience of learning good software development practices from your colleagues) or that requires learning technology that has limited opportunities for future employment with other employers.

I did not follow this consultancy path myself but worked with a number of colleagues who were relatively junior in their careers while working for consultancies: the best career outcomes I saw were of colleagues who had a bit of luck in getting allocated to projects that required learning trendy in-demand technologies (e.g. how to migrate existing software systems to run in the cloud, specifically to run in AWS), picked up these skills and experience on the job & with some research and study outside of work hours while working very hard for a year or two, then once they had enough experience and could put something in their CV highlighting their ability to successfully apply these skills & some professional contacts who could vouch for them ("helped company ABC on project XYZ to achieve business outcome DEF by using trendy technologies Q W Z and Y"), they were able to get jobs at better employers (better conditions, better pay, opportunities to work on more specialised and interesting projects) and quit working for their original consultancy employer.


I don't know anything about the Toronto employment market, but searching for "training" and "software developer" produces this example job ad that looks like a consultancy that would be willing to train entry level employees who have a 4 year degree (ideally something IT related, but not necessarily):

https://ca.indeed.com/viewjob?jk=3c7bb7a790ee4543

> Toronto - Junior Software Developer

> FDM is currently seeking a number of ambitious and driven candidates with the aptitude for IT to work as FDM consultants with our top clients, many of which are leading companies in the banking and financial services industry. FDM creates and inspires exciting careers that shape our digital future. Through our Careers Program, we recruit and train those aspiring to become IT and business professionals before deploying them on to client sites worldwide.

> What we offer you:

> Industry recognized training and qualifications
> Key skills development
> [...]

> Essential Criteria:

> Able to commit to work for FDM for a minimum of two years working as an FDM consultant following the training period
> [...]

The job ad roughly aligns with my (jaded?) perspective on how these businesses work: they are willing to take on expense and risk training an entry level hire to have valuable skills in market demand, but they are hoping to keep you as a junior for at least a couple of years while they can profitably bill you out to clients while paying you an under-market wage.
posted by are-coral-made at 5:22 PM on June 12, 2020


Response by poster: Thanks very much everyone! Very useful suggestions. I'll be following up on a bunch of this.
posted by skwt at 6:32 AM on June 15, 2020


« Older ACT therapy resources ?   |   What is a milliner's plane for? Newer »
This thread is closed to new comments.