[HN Gopher] Ask HN: Starting a career as a programmer in my mid-40s
___________________________________________________________________
Ask HN: Starting a career as a programmer in my mid-40s
I'm fascinated by what I read in HN everyday. I want to start my
career in IT. I'm now 44 though, and trained as a mechanical
engineer in my career and spent the last 20 years in business
(finance, strategy and operations). I'm looking for wisdom and
pointers from the community here. How can I go about it? I have
access to Coursera/EdX and around 1.5 years to focus full-time on
retraining. Any advice would be appreciated.
Author : 5F7bGnd6fWJ66xN
Score : 98 points
Date : 2021-11-07 16:39 UTC (6 hours ago)
| pgrewal wrote:
| firs, congrats on a great decision to learn programming. i am a
| computer science engineer and using udemy for the new languages
| that I am learning at 41. check out a few initial lessons on
| different topics to understand the landscape.
| ilaksh wrote:
| Just a word of caution about training. Many courses will really
| hold your hand and feed you the next step. I don't believe that
| prepares you for real world programming or problem solving. Not
| saying you don't want to take advantage of courses to nail down
| core understanding, but it will not be at all sufficient.
|
| One of the first steps is to really learn how to use Google and
| the websites that come up such as documentation to search for and
| leverage information and tools to solve problems. This is a
| completely different way of working from many jobs such as
| finance, management, or perhaps even mechanical engineering 20
| years ago. Where you might have a set of learned tools or
| approaches that you keep applying over and over.
|
| One example is this. If you pick a Python course from a few years
| ago, it might recommend a certain syntax or library that makes it
| harder for you to achieve a task down the line than it would be
| if you used a feature that had been invented within the last few
| months.
|
| It is really critical to have the mindset of accepting Google and
| online documentation or articles as your friend and ally and not
| some kind of weakness when you consult it.
|
| But to go back to the first part, you will want to find projects
| you can be relatively passionate about at least for a short time.
| Because programming is about being persistent and nailing down a
| lot of details. And you will need that level of interest to keep
| hammering at a problem. Also you need to practice approaching
| problems from scratch without knowing a preset approach. Rather
| you do the research as I suggested, try different things related
| to your specific problem, and really have to evaluate approaches
| based on experimentation rather than a pre-learned approach.
|
| Also you will have to practice interacting with users because
| requirements are the hardest and most important part of
| programming. There are two main traps: not listening to users
| carefully, or listening to them too carefully. Often programmers
| will dismiss feature requests because they seem too difficult,
| but sometimes these are the real value add for the business and
| can be achieved by leveraging existing tools and libraries. The
| other opposite problem which is very tricky is that users are
| often quite explicit in what they ask for, and those requests
| often completely misjudge the business requirements or
| inadvertently misrepresent them because they don't understand the
| technology. The trick is not to just take what they say, but
| actually understand the job they are trying to do, and use the
| feature requests as hints, but with a grain of salt. It's hard to
| do that and simultaneously really listen to what they say,
| because they can throw in quite critical information that needs
| to be interpreted properly in the midst of a lot of nonsense.
| p0d wrote:
| Make something that addresses a problem you know about based on
| your own experience.
|
| I am 50. I made something which solved a problem in my workplace
| 15 years ago. It still makes money for me.
|
| My programming skills at the time were rubbish. Copy, paste,
| tweak. No reason why you can't do the same.
|
| View your journey as fumbling through learning a foreign
| language. Rather than joining a book group full of knob-heads who
| like to make other people feel inferior with their better way of
| doing things.
| nixlim wrote:
| So, I switched my career to software development at the age of
| 40. Fairly simple path for this in the UK - spent 3 months at a
| bootcamp (Makers) and then I got hired 6 days after and been
| working as a software engineer now for 3 years.
|
| So, I would recommend Flatiron or something similar. Self study
| will not teach you how to work in an industry - a proper bootcamp
| will.
|
| Just my two cents, your milage may vary
| adamredwoods wrote:
| I did it (mid-40s, married, with one child), but I did have some
| past IT experience. I have seen others do it, though, with almost
| no IT experience.
|
| I took an in-person course at General Assembly in 2017. The group
| support with the immersive environment was exactly what I needed
| to find the confidence and excitement to carry this career
| transition through to fruition. I spent many 12-hour days coding
| non-stop. Personally, I don't know if I could have done this on
| my own in a non-interactive environment. I still keep in contact
| with some of the folks I graduated with.
|
| If in-person is not an option, make sure you find a way to have
| one-on-one interactions and peer reviews. The communication of
| your work to others is key.
| jdavis703 wrote:
| Preferably instead of MOOCs you'd take a course at a bootcamp
| that places you at an internship or gives you a real world coding
| project. In the best case you're going to be judged against new
| grads who've already had 6-9 months of cumulative internship
| experiences doing real world coding. In the worst case you're
| being judged against other coders with 20 years experience.
| TrackerFF wrote:
| HK is heavily geared towards FAANG companies, or the startup
| scene. Truth is, there's a vast, vast world beyond those that
| need programmers - and if you just want a "normal" job where you
| get to write software, there are tons of those. See the other
| comments here for more specific roadmaps.
| vishnumohandas wrote:
| Build a tool that you want to use. Could be a TODO or note taking
| app, alarm clock, a tool that scrapes your favorite site,
| anything. But find something that you are going to enjoy building
| and using.
|
| Then understand the technology stack you will need to build it.
| Then learn about that stack from Coursera/EdX. Finally build that
| tool and reap your fruits. :)
| ianai wrote:
| But what about marketing? It's ok to build a product but if you
| want money you've got to sell.
| vishnumohandas wrote:
| The way I understood it, OP just wants to learn programming.
| I was suggesting "build an app you want" as means to an end.
| h2odragon wrote:
| You might find building a 3d printer or CNC system a natural
| route into software; tweak the firmware on the open options for
| those.
|
| If you want to get to throwing fun things around as fast as
| possible look at game modding or creating your own games with
| some of the scriptable game engines. gentler intdroduction with
| quicker rewards.
|
| Just a couple ideas that popped up first. What _kind_ of
| programming are you looking to do? do you get excited by the
| possibility of squeezing a few more bits out of noise than
| current data compression algorithms can? Or do you want to make
| the perfect digital emulation of a furry dolphin avatar? There 's
| shared knowledge there but further indication of your interests
| can help.
| dataminded wrote:
| I would start with data jobs. Your existing skill set is already
| extremely valuable and a quick dip into Python and SQL is
| sufficient to qualify you for analytics engineering jobs. Once
| you are in, it won't be hard to migrate into data engineering
| jobs.
| globnomulous wrote:
| Late 30s here. I got started -- with no background in science,
| stem, or programming -- in my early 30s. I'm an SDE at a FAANG
| company now and love every minute of work. The six-month bootcamp
| I attended was disappointing, but it got the job done. Then
| followed several years of getting my bearings, learning, working
| for a guy I didn't like, and studying quite a lot on my own. I
| can tell I'm still a beginner, but I'm making progress and am
| happy about the change.
|
| Take classes. Work on coding problems. Read technical papers and
| books that might be just beyond your reach. But as many other
| have said, yeah, until you decide what "IT" means for you, I'm
| not sure what advice to give.
| giantg2 wrote:
| Given your business background, maybe look at getting into
| analytics and reporting. Usually these areas have some low code
| options where you can do a lot with just some SQL knowledge.
| Knowledge of the business can be helpful here.
| qbasic_forever wrote:
| Make friends in the industry or working at companies in roles
| that you want to join. You will have to tap these connections to
| get interviews and consideration for jobs, once you have some
| education to put on your resume. The industry is not easy to jump
| into completely cold unless you are a 20 something coming out of
| college with a bachelors in CS or similar. It's not impossible to
| get a job, but it's much more difficult to get that initial foot
| in the door and past the huge machinery of HR resume keyword and
| experience scanning.
| flower1528 wrote:
| This is what I am currently experiencing as a non-minority non-
| white candidate.
| computerdork wrote:
| In my humble opinion, and also having helped lots of friends both
| in and out of tech, one of the best ways to learn is to find a
| couple of really good books on programming and read them cover to
| cover (got this idea myself from an article on learning
| programming). One thing is you need to find books that are
| _tutorials_ and not references (as a mechanical engineer, you
| probably have seen the difference yourself). A good place to
| start is Python, and then possibly C programming - the reason is
| for C requires you to learn a lot of the internals of a computer
| - Hmm, you probably had to take a programming course back in
| college (Fortran?) so you maybe able to pick up Python quickly.
| Although, some people don 't like to just book learn and need a
| course to keep them on track.
|
| ... if you want guided instruction (besides just online courses),
| to do things on the cheap, you can also audit classes at your
| local college - just find some key courses in Computer Science
| and ask the professor if its okay to sit in. I did this for two
| years for a second interest of mine, music-theory.
| Tarucho wrote:
| Programming is not so much a career but a sequence of
| interrelated jobs leading somewhere.
|
| So, go after the things that interest you, learn them well, and
| try to manage your way into the related market with whatever you
| have at your disposal. The computing market is pretty forgiving
| with failed attempts, not so much with lack of motivation.
|
| Play by the rules in the interview game. If you want to get into
| somewhere and they do X at the interview, train and do X to the
| best of your abilities even if it makes no sense.
|
| And be approachable, make as much contacts as you can. This is a
| contact-based market.
| politician wrote:
| You might consider taking a familiar spreadsheet and converting
| it into a program in a language like Go. Use the free Essential
| Go ebook as a guide to how to write the code, and your
| spreadsheet as motivational context.
| bfung wrote:
| As a 40 year old who has been in software for last 20 years and
| managed hardware+software product construction a few years, from
| implementation to management, here's my advice given your
| experiences and time constraints:
|
| * Play to your strengths
|
| Leverage your experiences and map them over to software. The only
| real difference is that the QA and shipping process can be
| updated hourly vs hardware which takes months at minimum, so
| build perfection isn't as hard of a constraint.
|
| Leverage your finance, strat, and operations knowledge. That's
| basically the Eng. Manager's job (Director level/VP level?). Most
| coders can't tell you the business value of their code/tasks -
| that's a problem to bridge the value prop back to the business
| side. Also most "Eng" think there's infinite resources, but don't
| account for costs $$$ to use cloud services.
|
| My advice: * learn the software construction process * DO NOT GO
| INTO IMPLEMENTATION - unless you're super passionate about it,
| there's no way to be proficient or good at it in 1.5 years -
| college grads will lap you. CS grads by default have done it for
| 4years and are still usually not that ready to switch from solo
| academia into a team, corporate standard.
|
| Hope that gives you a perspective to consider!
| johnwheeler wrote:
| If someone asked you the best way to become a good mechanical
| engineer, I bet you'd tell them to start building something.
|
| If they asked you what to build, you'd tell them to build
| something that's useful. Better yet, build something _you_ would
| use.
|
| If they asked what resources to use and learn from, you'd tell
| them whatever resources necessary for the task at hand. To focus
| on the practical more than the theoretical, while filling in gaps
| of time learning theory.
|
| If they asked you what to do when something fails, you'd tell
| them to build it again until they build it right.
|
| And when they ask you what to do when they're done, you'd say:
| "now go and build something else"
| zsmi wrote:
| > If someone asked you the best way to become a good mechanical
| engineer, I bet you'd tell them to start building something.
|
| Actually, I would ask them to be more specific.
|
| And the more specific they can describe the goal the more
| likely they are to achieve it. The field of mechanical
| engineering is huge and this is the same for programming.
|
| Is the op looking to make web pages, do FEM simulation (since
| they're an ME), embedded programming for robotics, etc. etc.
|
| Each one of those is going to have a different path.
| itronitron wrote:
| There is a lot of BS in tech and IT, even on a forum like HN, so
| consider that half of what you read on HN is written by people
| that are either delusional or just plain ignorant.
|
| Think about _why_ you want to learn programming. For me it 's
| because I like to make stuff and programming is a natural
| extension of that, but other people have different motivations.
|
| Not every programming job aligns with every person's interests in
| the field, so as you build your knowledge it is as important for
| you to understand what you enjoy as understanding various
| technologies.
| readonthegoapp wrote:
| i would sign up for a cloud guru or similar. you pay like $40/mo
| and they give you mostly good+ content, plus, importantly, fully-
| functional AWS (or other) cloud environments to actually type
| commands into without costing yourself a fortune.
|
| i would study for and pass the AWS Developer certification as
| quickly as you can/like. you still need supplementary materials
| to pass the cert tests the first time, fyi.
|
| at that point you're more than good enough to get hired and do
| real work.
|
| after that, continue to do more certifications, i'd probably go
| with the devops cert next.
|
| build a stupidly-small and simple app and put it on your github,
| and make sure you do all the things you're supposed to do and not
| do - like store your secrets in public. the mistake here is you
| will think, "_This_ is really truly stupidly simple." -- but it
| won't be, and you'll spend too long on it, etc. The point is to
| actually go thru the whole dev cycle, complete it, put a bow on
| it, and be able to talk about it to prospective employers.
|
| complete that stupidly-small and simple app with docs, etc., then
| move onto another.
|
| to me, 'learning to program' is a bit misleading, because
| learning a language is relatively simple - what gets complicated
| is learning all the other stuff -- like git, which is impossible.
| so you just gotta be comfortable with git, and an IDE, and
| writing code, testing it, deploying it, the 'full development
| lifecycle' (FDLC).
|
| i would pick one language to focus on - and i'd argue that can be
| whatever tech or type of business problem really interests you.
|
| so if you want to help build the website for some cool high tech
| company like flexport, then learn javascript/react.
|
| if you want to do data science, then learn
| python/pandas/anaconda/etc.
|
| if you wanna do iOS apps, then learn Swift or Kotlin for Android,
| with the corresponding adjacent/required tools/technologies.
|
| being a generalist is worse than useless -- i would not advise
| it.
|
| 'devops' is a good place to start, imo, b/c it's literally half
| dev and half infra, so you don't have to be really good at either
| -- just dangerous.
|
| same goes for tech support -- you can look for 'technical support
| engineer' or 'support engineer' jobs and be employed within a
| month (like, 4 weeks from today, even without more knowledge than
| you already have) and start learning on the job while you do your
| coding/learning in your spare time. this is a slower route to a
| coding career, but it also provides you an easier way to slide
| into dev - you'll know developers, you'll know the product,
| you'll have relationships, you'll know every bug/feature/etc.,
| you know how the entire support process works, etc.
|
| good luck!
|
| ...ps, this never happens, but i'd love to hear how it works out
| for you - would prob have to be on a new thread b/c i think they
| auto-close after a while.
| gigatexal wrote:
| First of all welcome!
|
| I hope the comments here are helpful. We would love to have you
| -- if I could speak for the world of software engineers at large
| -- make the transition, your fellow engineers are here to help!
|
| The Changelog did a podcast about Sean who learned in public. By
| being humble and open to learning he bootstrapped his way into a
| career. He mentions FreeCodeCamp and then did a paid one after
| but your results may vary. Check out the conversation here:
| https://changelog.com/news/P5Gg/visit (I've no affiliation with
| The Changelog other than being a fan).
|
| How do you like to learn? For me videos don't really work. I mean
| they work to get the basics but I have to build something to
| really get the knowledge in my skull and to keep it there.
|
| There are a number of free resources via Youtube and Github like
| this (https://github.com/ossu/computer-science) that just require
| the investment of time. Consider a blog to log your learning over
| time the feedback could be valuable.
|
| I hope that helps. Find me on twitter @gigatexal and via email
| alex at alexandarnarayan dot com
| streetcat1 wrote:
| I started programming at the age of 8, I am now 50.
|
| The first thing to ask yourself is weather you can sit down and
| consternate for 10-12 hours without talking to anyone.
|
| Second you should practice (not unlike practicing for a marathon)
| . Start easy and go up.
|
| Third, try to become apprentice to some professional programmer,
| and learn from him (even for free), try to help him with some
| tasks.
| eigenhombre wrote:
| Programming for 40 years, professionally for more than half
| that. I don't, as a rule, "concentrate for 10-12 hours without
| talking to anyone." Nor do I see the best coding from people
| who do that.
|
| Most programming as I have experienced it is a mix of solitary
| and social skills, and there is room in the profession for a
| fairly wide range of weightings of the two of those.
|
| The apprentice idea is interesting. I don't know anyone who has
| done that formally with just a single teaching individual, but
| the companies I've worked at definitely value senior developers
| who can mentor and teach, so maybe the apprenticeship model is
| actually there already, hiding in plain sight.
| nvmletsdoit wrote:
| I had a great colleague who started programming at ~35. And the
| thing I noticed with him, which I strongly agree, is that you
| should pick something you like and start a little project.
| Nowdays is kinda impossible get stuck, StackOverflow + Youtube
| pratically solves every problem you can go into while learning.
|
| Basically if you really do have passion and conclude any little
| project you started ( it counts lot of points in cv, sometimes
| more than references...) I think you can get easily hired in low
| time as a Junior programmer.
| codegeek wrote:
| Before the how, can you give us some thoughts on the Why ? Why
| are you interested in doing this at age of 44 ? Money is probably
| a factor but I am curious. You can of course do anything at any
| age and 44 is really not that old to start a new career. But the
| why is critical because you have spent all these years in a trade
| and now willing to reboot so you have to be willing to give up a
| lot and start from the bottom which may still be better than
| where you are currently but we don't know.
| pezzana wrote:
| What in IT interests you? Examples might include "system
| administration"; "penetration testing"; "backend software
| development"; "machine learning" and so on.
|
| If it's hard to answer that question, you might try going through
| your HN history to re-read the stories you upvoted. What stands
| out as a common thread?
|
| I'd do this before trying to learn anything specific. Without a
| clear goal, you can send yourself on a 1.5 year rabbit hole with
| nothing to show for it in the end.
| dt3ft wrote:
| The field is huge, and if you take a wrong turn, you could waste
| months.
|
| What is your goal? Earn more? If so, then look for jobs in your
| area and see what is "hot". The role you call "programmer" is
| nowadays called "software engineer". Do a search for that, make a
| note of requirements from every job you can find (top 50 jobs).
| Google every common keyword and see if you can figure out which
| programming language is "hot". You will also need to decide what
| you want to do with that language: desktop, web (backend) or web
| frontend (I'd recommend to stay clear from fullstack and low
| level).
|
| The road ahead is rough, but I'm sure you can achieve what you
| want, if you ask the right questions before mindlessly diving in.
| xupybd wrote:
| Read Ultra learning by Scott Young.
|
| It will help you plan out how to learn this in such a short time.
| It will also help you learn on your own terms,
| ronanyeah wrote:
| Look into web3/blockchain/NFT technology, most of it has been
| around less than 2 years so experience is less of a hard
| requirement than in other fields of software engineering.
| caymanjim wrote:
| Gonna hard disagree on this one. Blockchain is a flash in the
| pan niche tool. There are some legitimate uses for it, but most
| of it is all style and no substance. It's way too narrow a
| focus, with far more people playing around than there are jobs.
| You'd pick up general software skills along the way, but there
| are better ways to do that with a focus on more useful and
| practical technologies.
| flower1528 wrote:
| Sure but who would hire a non-minority non-woman 40 year old
| with no previous experience in the field?
| ronanyeah wrote:
| Web3 is like knowing HTML in 1995. Act accordingly.
| faeyanpiraat wrote:
| I don't see how is that a valid analogy. Html was useful in
| itself, all this new crypto stuff just convolutes existing
| solutions.
| ronanyeah wrote:
| There were plenty of people in 1995 who did not
| understand the utility of HTML. That is the nature of
| revolutionary technology.
| faeyanpiraat wrote:
| You mean some people understood html to be revolutionary
| even back then.
|
| If you are someone who knows crypto to be revolutionary,
| would you be able to help me understand why is it so?
| ronanyeah wrote:
| I like this perspective:
| https://twitter.com/cdixon/status/1440026949838069763
|
| For example, predicting Airbnb or Patreon in the early
| days of HTML/CSS/JS would have taken a lot of foresight
| and vision.
| [deleted]
| flower1528 wrote:
| Could I get more clues? How might someoone hire a 40 year old
| for NFT/blockchain?
| tpae wrote:
| Solidity (language for Ethereum Smart Contracts) is
| relatively easy to learn. There's also tons of free resources
| in learning them (https://cryptozombies.io/). I would say
| this would be one of the hottest languages of 2022.
| flower1528 wrote:
| Yes. This feels like 2007-level of hotness. Thank you.
| ronanyeah wrote:
| Yeah Solidity has many resources and is worth learning.
| Solana is another smart contract platform which uses Rust,
| and Rust is a fantastic language, though it is tough.
|
| Both ecosystems use Node.js for scripting/tests/frontend so
| that is going to be advantage to learn.
|
| A good progression might be: - Modern JS /
| Node.js - Solidity / Ethers (https://docs.ethers.io/)
| - Rust - Solana / Anchor (https://project-
| serum.github.io/anchor/getting-started/introduction.html)
| squiffsquiff wrote:
| I did this early 40's
|
| Don't focus to much on certifications or qualifications. Do focus
| on a portfolio. Find things that scratch your own itch to work on
| and learn
| flower1528 wrote:
| Are you employed as an SWE? Web dev?
| squiffsquiff wrote:
| Platform engineering lead
| brudgers wrote:
| Who do you know?
|
| Being outside the traditional pipeline makes it less likely the
| traditional hiring processes will result in a job. Moreover, the
| further your education is from the traditional pipelines, the
| further the odds against the traditional hiring pipelines
| resulting in a job.
|
| If you are going to spend time preparing, social preparation is
| probably at least as important as technical.
|
| Perhaps more. Because the ceiling on benefits over a limited time
| is much higher and your starting point in your forties has twenty
| years adult experience over a fresh grad. While even if you're
| technically 10x the average entry level programmer, you will
| still be just another entry level programmer.
|
| Or to put it another way, if you want a job, look for a job. Good
| luck.
| dorianmariefr wrote:
| maybe try to automate what you find repetitive?
| max002 wrote:
| I will recommend: - safaribooksonline, - learn from
| latest/greatest books and vids, - watch out on youtube tutorials
| and free tutorials in general (as long as you see ads), there are
| ppl who want just clicks and show a lot of bad practices. Use
| reputable sources where you can. Its as well a bit different for
| coding and for hacking/cracking.
|
| I think 3 best books on development ive read are: - the pragmatic
| programmer, - clean code - working with legacy code
|
| My favourite on hacking and re is: - hacking the art of
| exploitation
|
| Ive been developing various software for last 20 years and now im
| getting more into security as dev is simply not complicated and
| exciting enough/any more. i did crack cd checks and shareware and
| other stuff when i was a bit younger (im sure there are fans of
| softice in here :D) and i still know how to disassemble software
| and modify it.
|
| So being a developer for so long helped me to take the hacking
| and re stuff easier today, because in the end if i know how to
| write software (even if its quick, im not telling you to learn
| design patterns) then it lets me find entry points, break and
| abuse it easier.
|
| Get practical if you want hacking :)
|
| 1. Hackthebox.com 2. Vulnhub 3. Search for crackme's if you want
| to get more into reverse engineering
|
| Im very strong introvert and self-learner so it took me some time
| to understand importance of mentorship or just being in group of
| ppl with similar learning targets. A smart advice and some tips
| can speed up your learning process and save you months. Find a
| group, join discord and ask a lot of questions.
|
| Im teaching my 57 years old mom to code so no stress, its a
| matter of decission and effort, im sure you can do it if you want
| and especially if you have such background :)
|
| Learn intensive cause then you'll get to your target faster!
|
| Its nice to read that youre 'fascinated', me too. I must admit
| that getting my first reverse shell and rooting 1st box gave me
| amazing excitment and fulfillment :) now... hurry up, get yours
| as well!
| jmfldn wrote:
| I got started in mid 30s from an arts background. 6 years on and
| I'm a senior engineer at a major tech company mentoring others,
| designing systems and helping lead a team. Best decision I ever
| made to scratch the programming itch, not because of career
| progress per se, but I just love programming. For me it's mainly
| the intrinsic joy of it.
|
| My advice is to get your hands dirty with some tutorials and a
| project to confirm that you definitely have that intrinsic love
| of programming and writing software. It's a hard career without
| it but a great one with it.
|
| Your experience and maturity should also be seen as a great
| asset. What you might lack at the start in technical knowledge,
| can be partially compensated for by this. Even as a junior I
| found I was good at working on a project, knowing what the team
| should focus on, talking to 'the business' and acting as a
| bridge, taking ownership, showing initiative and being a self-
| starter. These are things you're more likely to have with age and
| they are definitely valued by good companies.
| dave333 wrote:
| With your technical background you are really no worse off than
| most software people who have to learn the latest new
| framework/language/stack since these change every 2-5 years. Some
| tools last a long time such as Unix shell commands but I think I
| have used 5 different change control packages over the years
| (although git does seem to be the leader for a while).
| [deleted]
| nabilhat wrote:
| > _trained as a mechanical engineer in my career and spent the
| last 20 years in business (finance, strategy and operations)_
|
| If you haven't developed an allergy to this background, and
| you're interested in the business process side of IT, I'd
| recommend building off of what you already know. Domain
| experience is invaluable and far too rare in technical roles.
|
| This has been my own path. I knew just enough about computers to
| know that tools existed to eliminate tedium from my workday, so
| that's where I started. I didn't have to step away from my career
| at all, so it was very low risk if it didn't work out or I
| discovered I hated it. It did work out and I discovered I enjoyed
| the process. Importantly, I discovered that the grind of writing
| actual software or doing standard IT work doesn't agree with me,
| rather it's the problem identification and solving process. So,
| now I'm straddling the fence between the IT person who does lots
| of automation work, and the process improvement person who tries
| to make the business run smoother and everyone's workdays better.
| It's a rewarding and appreciated role, and one where age (also in
| my 40's) is a real benefit.
| Grustaf wrote:
| Consider iOS development, if for no other reason than the amazing
| and freely available CS193p from Stanford. I took that route from
| 0 to FAANG in my 30s.
|
| As others have said, focus on a portfolio. Start with a course
| like C193p and then build a few good quality products.
| Jugurtha wrote:
| Short path:
|
| - "Learn Python the Hard Way" by Zed Shaw. 52 exercises to teach
| you just enough Python to be able to continue.
|
| - Next, an _excellent_ course by Reddit 's co-founder, Steve
| Huffman, CS253. It was discontinued from Udacity, but is
| available on YouTube:
| https://www.youtube.com/playlist?list=PLAwxTw4SYaPlLXUhUNt1w...
|
| It will take you through the basics of the internet, HTTP,
| browsers, requests, cookies, databases, caching, hasing,
| passwords, by having you build a web application. Granted, it's
| on Google App Engine, but still, most of the router syntax out
| there is similar (webapp2 from web.py, similar to Flask, Tornado,
| and others).
|
| You will learn a lot, and you'll see the result right in your
| browser by having a live web application. You can then take that
| knowledge and develop tools for yourself and others and put them
| online for all to access and use.
|
| If you want to do it better and "leap-frog", read Brett Slatkin's
| "Effective Python: 90 Specific Ways to Write Better Python". This
| book will make you write code as if you had been coding for
| years... But, that's only doing it "right", you need something to
| do right in the first place: you've been in business, strategy,
| and operations, and you've been trained in mechanical
| engineering: I think you are in no shortage of ideas and things
| to code, so have a it.
|
| You're in an excellent position of having been at the
| intersection of a bunch of cross pollinated fields, and you'll
| have a new skill to bring them together and do wonders. All the
| best!
| ai_ia wrote:
| I would like to plug my free interactive courses [1] on
| fundamentals of computing and Python. It is designed for
| beginners.
|
| You can check them out without signing up and they are also
| available as free online books. [2]
|
| [1]:https://app.primerlabs.io
|
| [2]: https://primerlabs.io/books
| arisAlexis wrote:
| But why Python? There are many more jobs for JS
| lrvick wrote:
| Python teaches you how to code. Modern JS teaches you how to
| "npm install"
|
| But really though Python syntax is simple and readable and I
| find people that learn it first adapt to other languages very
| easily.
| scrose wrote:
| Python is typically taught in 101 classes because it enforces
| some good practices, is fairly quick to pick up, and if you
| have a math/finance background, can more easily lead to some
| quick and fun projects that can be bootstrapped in a simple
| GUI in a couple days.
|
| Disclaimer: I prefer Ruby and JS over Python, but the amount
| of projects and roles I've seen lately that recommend or
| require Python experience seems to be growing. Not sure if
| that's just related to the field I've pivoted into which has
| a stronger focus on data analysis/algorithms
| cgh wrote:
| JavaScript more or less limits you to front-end web
| programming (I know there are exceptions but realistically
| this is what most JS positions are after). Not great if this
| person's internet is eg embedded, machine learning or, in
| keeping with their experience, large enterprise systems.
| Alex3917 wrote:
| Good advice, but anyone doing this now should be using: "Learn
| Python 3 the Hard Way." For whatever reason he renamed the
| book.
|
| edit: The Steve Huffman course is also how I learned. It's
| absolutely fantastic.
| Jugurtha wrote:
| Yes. I was going to correct it, but I wanted to avoid the
| conversation or the thread going into that direction.
| farmin wrote:
| I heard about udacity on the radio and by chance picked Intro
| to python and then CS253. I still have a little Twitter app
| running on GEE. Mind was blown. Great courses, shame CS253 has
| not been kept and updated.
|
| I particularly remember the story in the course of him having a
| list of all his users usernames and passwords unhased on his
| laptop and it was stolen. He said he was embarrassed and
| emailed them all to let them know. Lesson was to hash
| passwords. Cant remember if that was for reddit all some other
| project he did.
| Jugurtha wrote:
| There was someone commenting on how it was sadly discontinued
| here https://news.ycombinator.com/item?id=18568798 and I
| commented on the proper link of what became a hard to find
| course.
|
| I still have access to it on Udacity when logged in:
| https://classroom.udacity.com/courses/cs253
|
| But it's hard to find.
| rg111 wrote:
| I personally found "Python Crash Course" by Eric Matthes to be
| a much better and effective book.
| pixelmonkey wrote:
| That Steve Huffman course looks very nice for beginners to web
| development. Also looks like a nice pairing with my blog post,
| "Build a web app fast: Python, HTML & JavaScript resources".
|
| https://amontalenti.com/2012/06/14/web-app
|
| This is still my #1 blog post by readership, even years later.
| (200,000+ readers.) It was originally published in 2012, but I
| did several updates over the years, including a 2018 update for
| Python 3 and "Modern" JavaScript (SPAs).
| Alex3917 wrote:
| I wrote a pretty similar blog post in 2013, based on my
| experiences learning to code in 2012. It's shocking how
| little has changed since then. Like probably there isn't a
| lot of reason to learn Jinja2 at this point, but even jQuery
| and Bootstrap are just as relevant as ever.
|
| And Angular is actually good again, so my recommendations for
| 2022 would likely be closer to my recommendations for 2012
| than to my recommendations for 2017.
| bbarn wrote:
| I think as a mechanical engineer, your prospects are good. Many
| places will look at any kind of engineering background as "good
| enough" and then want to start talking about code or process or
| whatever their interview is all about.
|
| In my opinion as a 20 year software veteran, the skillset many
| software engineers lack is having a bigger world-view of company
| operations and why they are doing what they are doing. Some of
| that is obviously on the company structures they've been exposed
| to, but decent engineers with really good business sense go far,
| fast.
|
| As johnwheeler said in this comment section, just start building
| something. I bet it comes to you pretty fast, and if you have an
| engineering brain, you'll start seeing the pieces move in your
| head just like any other system. I really don't think you need
| "retraining" per se, just start applying your business sense and
| engineering skillset to software. Consider even looking for
| companies where both are required, like places that build
| mechanical things controlled by software, and look for roles that
| offer the potential for some cross training.
| dan_quixote wrote:
| > In my opinion as a 20 year software veteran, the skillset
| many software engineers lack is having a bigger world-view of
| company operations and why they are doing what they are doing.
| Some of that is obviously on the company structures they've
| been exposed to, but decent engineers with really good business
| sense go far, fast.
|
| As a former mechanical engineer, I came to say exactly this.
| Engineers in the traditional realms (mechanical, electrical,
| chemical, etc.) operate in the business domain all the time,
| even the junior engineers. Conversely, software engineers are
| usually isolated from the business domain until they reach the
| most senior positions. This creates a serious skills gap when
| the time comes for software engineers to make business
| decisions.
| sushsjsuauahab wrote:
| String manipulation is the gateway drug to programming, as it
| requires no dependencies and the sky is the limit for arbitrary
| logical games.
|
| Biggest challenge will be choosing a language and executing the
| program!
| dimgl wrote:
| You want to start a career in IT or in software development?
| Those are two very different tracks (and I can only give you
| advice on the latter).
| ianai wrote:
| Seems going into IT may be more financially rewarding for
| someone later in career. OP could probably more easily pivot to
| being an application SME for something fintech or maybe mech-E
| related than a SWE.
|
| But I am curious myself too. I'm hitting 40 in a few years and
| will have 10 solid years of IT at that point. Programmings
| always been something I've dabbled in on the side. But I know
| that market has ageism probably stronger than in IT.
| joelbluminator wrote:
| doesn't IT include SWE? like IT is everything tech related?
| codingdave wrote:
| IT doesn't have as much dev as it used to - the amount of
| business functions that can be handled with affordable SaaS
| products takes care of a ton of software needs for many
| businesses. There certainly still are developers in larger
| IT shops, but anymore you get more "Business Analysts", who
| configure and maintain SaaS platforms, maybe with some
| light scripting and coding, instead of a team of devs
| writing code from scratch.
| janstice wrote:
| 'Functional Analyst' is the usual term if you're looking
| for jobs in this space - heaps of jobs in
| Salesforce/Dynamics/SAP/etc - surprisingly good pay in
| this area, but not really the start-up life.
| zippergz wrote:
| Not in common usage within the US tech industry (by this I
| mean technology-first companies, not just companies who
| happen to have some developers). In those companies at
| least, if you say you want to get into "IT" people are
| going to think you mean tech support, system administration
| (generally for internal systems), etc. I don't know any
| professional software developer in one of these companies
| who would say they are "in IT." (Yes, it's a huge industry
| and I'm sure you can point out exceptions.)
| flower1528 wrote:
| What is an "application SME"?
| oblak wrote:
| I did it in my 30s. Totally doable for a determined person in
| their 40s, engineer at that.
|
| It pains me to see many friends and peers wasting their lives
| with low pay dead end corporate jobs they clearly don't like. I
| am glad you've chosen to reinvent yourself. Being an older person
| among so many smart 20 something guys and girls sure keeps things
| refreshing
|
| Try web stuff, python, databases, 3d graphics, and the things
| _you_ like.
|
| Even though it wasn't my first language, I'd think python would
| be a great way to play with something simple and powerful. If
| you're smart, may as well skip those and go straight to low level
| like Rust or something.
| joelbluminator wrote:
| If I were you I'd try to combine programming with what you're
| already doing (finance/business). Like learn Python and how to
| extract data or something, thats easily added to your current
| knowledge. Then later you can learn some basic web development
| and build nice dashboards. There are some jobs out there for
| finance people who can program - That's what I'd go for if I were
| you. It's a shame to let all your experience go to waste by
| learning something like systems programming or android
| development, don't do that I think. The "How" is really easy,
| simply google/udemy/coursera/etc etc. But spend some time on
| figuring out What first.
| aurelianito wrote:
| +1.
|
| Your experience is synergic with programming. Use it to your
| advantage. Learn a bit of python and begin solving little
| problems for you. Do it for a while and you will know how to
| program.
| dcanelhas wrote:
| Indeed. I started as a mechanical engineer, writing scripts
| to solve recurring mechanical stress and thermal
| calculations. Then i moved on to robotics, then autonomous
| driving, now I'm making video games. Linear algebra, calculus
| and code is a nice combo.
| fakeacct211107 wrote:
| Sound advice, but where do you find these hybrid jobs?
| Especially when it comes to programming, companies seem to
| evaluate you in one specific language/skill, and seem to have
| zero interest in the rest of your background and experience.
| joelbluminator wrote:
| That's not always true. In a job board try playing with
| keyword combinations like Python + Financial
| Analyst/investment/trader etc etc. You'll see them. I was
| once thinking of doing the transition the other way around
| (from software development to market/financial analysis) so I
| know the jobs are there. Also - use your network and talk to
| your colleagues - someone must know someone who works in
| finance but does some/a lot of programming.
|
| Here are some examples from a quick glance: https://www.linke
| din.com/jobs/view/2762895590/?alternateChan...
|
| https://www.linkedin.com/jobs/view/2786689624/?eBP=JOB_SEARC.
| ..
| thwllms wrote:
| Based on personal experience, I can't recommend this enough. My
| original background is in civil and environmental engineering;
| I discovered my love of programming after I'd been working as a
| civil engineer for a little while, automating GIS tasks. After
| that I fell deep down the rabbit hole and found a job as a
| full-time software developer at age 30. Now I'm back in the
| civil / environmental industry, but with several years of real
| world software engineering experience. It's paying off in a big
| way. I'm not the best programmer, and I'm not the best civil
| engineer, but I have more experience in _both_ of those things
| than anyone else I know. Gives me a big leg up in a pretty
| niche area.
| ch33zer wrote:
| I don't have any specific advice, but just want to say good luck.
| My mom just became a board certified psychiatrist at 60 after
| going through all of med school and residency. Before that she
| was a priest in the episcopal church. Making career changes late
| in life is hard but doable. You can do it!
| austincheney wrote:
| See my quickest path to 6 figures:
| https://news.ycombinator.com/item?id=29025003
| faeyanpiraat wrote:
| Not sure if that is a joke post or not.
| austincheney wrote:
| It doesn't matter as it applies the same either way.
| lordnacho wrote:
| My spouse is doing a CS Master's degree from a UK redbrick. Full
| time it would take a year, and you can do it remote thanks to the
| virus.
|
| If you're already an engineer you'll probably be able to do it
| somewhat easily.
|
| As for getting a job, the market is hot right now, we'll see if
| it still is in a year's time.
| [deleted]
| markvdb wrote:
| A master's degree in one year? Did I misunderstand something?
| david_allison wrote:
| UK Masters courses are typically a year.
|
| Fun fact: If you graduate from certain universities, you can
| get one without further study. https://en.wikipedia.org/wiki/
| Master_of_Arts_(Oxford,_Cambri...
| lordnacho wrote:
| No, it's normal in the UK. She already did one last year, so
| this is verified. UK unis are also pretty desperate for
| students lately. Go check it out.
| softwaredoug wrote:
| One shock of programming at job vs class-based learning is the
| art of working in an existing codebase with many other coders and
| stakeholders. You might like programming for fun, but might not
| find it as fun to do it as a job.
|
| This means things like
|
| - reading and understanding an existing, complex codebase
|
| - solving your problem in a way that doesn't harm existing
| functionality
|
| - refactoring old code to solve new problems or to be more
| reliable
|
| - common workflows using version control
|
| - writing testable code that can evolve over the years
|
| - negotiating technical scope with stakeholders
|
| - navigating technical risk and technical debt
|
| I think this stuff is teachable, but it's hard to give someone a
| project where the existing code base must keep working (or else
| the company goes under) but also here's 4 features to implement
| in a given aggressive timeframe. Much of having a job coding is
| about these kinds of decisions.
|
| I say all this so you can decide whether this is what you want or
| if you just like coding as a hobby.
| spuz wrote:
| For what it's worth, I love coding as a hobby, and I hate all
| those aspects of coding as a job that you specified. However I
| still love coding as a job because it lets me do all the fun
| parts as well. Even if 75% of the time you are fighting with an
| unstable test suite or trying to budget for time on a dozen
| competing priorities that still leaves 25% of the time where
| you are solving interesting problems and doing something
| actually creative.
|
| Don't let all these scary sounding challenges put you off. If
| you are smart enough to learn how to code then you are smart
| enough to learn how to do all the other boring things. And a
| job where 25% of the time (hopefully it's more than that for
| most programmers) you are being paid to do something you love
| is a great job.
| zz865 wrote:
| Nowadays the IT world is so huge you have to narrow it down a
| bit. People working in FANG in the Bay Area do very different
| things to the helpdesk of your local school district. You should
| narrow down what exactly you mean. Things like the former will be
| very difficult to achieve, things like the latter should be easy.
| pdx6 wrote:
| I think as other people said, you'll want to decide what "IT" is.
| If you want to fix end user PCs and run ethernet cables, that
| stuff doesn't pay well and you should stick to ME.
|
| If you want to do SRE or SWE, the easiest way is to sign up for a
| bootcamp. All walks of life pivot in these programs and already
| being an engineer will make it a cake walk. The community college
| might have some programs too, but the boot camps tend to teach
| more modern skills and do job placement since that's often part
| of the program price.
|
| I think most importantly is to decide what industry you want to
| work in. If you want to stay in your previous industry, you'll
| have a leg up since you already know finance, and crypto is hot
| now so there's lots of new tech and money to be made.
|
| I think 3D printing is the next wave, and if you are already an
| ME, you can hit the ground running making robots that can print
| houses, car parts, rockets, etc.
| hackitup7 wrote:
| I'd consider a coding bootcamp, the good ones give you a very
| minimal brand, but given your business and engineering experience
| my guess is that it's all you'd need to make the switch fairly
| seamlessly. You may take a compensation hit.
|
| There are an enormous number of opportunities for software
| engineers right now, the market is hotter than I've ever seen it.
| We desperately need people to be retrained, cross-trained, any
| version of trained.
| RNCTX wrote:
| > You may take a compensation hit.
|
| Does not align with...
|
| > the market is hotter than I've ever seen it. We desperately
| need people
|
| Pick one.
|
| If the software / web businesses aren't going to compete with
| other engineering businesses, they're not going to compete. At
| the end of the day it's pulling recent grads from the same
| pools (math/eng).
| sokoloff wrote:
| Mid 40s Mech E switching to entry-level SWE may very take a
| comp hit, even if the SWE field is indeed the hottest I've
| ever seen it (including 1999).
| flower1528 wrote:
| Which verticals are not saturated yet? Web dev is almost
| impossible to get in.
| joelbluminator wrote:
| I think all verticals are really hard for juniors; it's not
| like everyone is looking for junior C devs...
| himanshuy wrote:
| Data engineering is full of opportunities.
| gregjor wrote:
| A friend and customer (I freelance doing programming and system
| admin) already in his early 50s, with a career history in law and
| business, asked me to mentor him so he could learn programming
| and contribute to his own project. 18 months on he adds value to
| the project and is programming above beginner/junior level. With
| another year of practice he might have the skills to make a
| career in programming, though that isn't his goal.
|
| We started with relational databases and SQL, since that's core
| to the application we're working on. He originally asked to get
| involved to run _ad hoc_ reports. Then we moved on to web
| development, front- and back-end. He struggled trying to piece
| together all of the parts that go into making web sites, but I
| focused on fundamentals so eventually it would all make sense.
|
| I think this worked for my friend because he was able to jump in
| to a working system that is still under heavy development, for a
| business domain he understood, and the rest of the team agreed to
| help him learn. That was pretty much how I got started in
| programming 40 years ago.
|
| It seems that very few companies are willing to train and develop
| junior programmers, preferring the tech interview performance and
| the illusion of hiring the top 5%. It wasn't always like this. If
| you can find a project you can jump in to with patient
| programmers who will help you learn that's a great path, but such
| opportunities seem few and far between.
| togaen wrote:
| Before learning any specific language or framework, spend a bit
| of time on theory of computation and programming language theory.
| Doesn't have to be a lot, but it will make everything else much
| clearer. All languages ultimately do the same thing, so it's
| really helpful to understand what that "thing" actually is.
| ensiferum wrote:
| Do you have a training/learning curriculum ready?
|
| You'll need to study the following.
|
| * Computer science basics. The fundamental building blocks for
| computation. The bread and butter of algorithms and data
| structures. There's no way around this.
|
| * You'll need to learn at least one or two programming languages
| in order to create actual computer programs and their related
| tooling.
|
| * You'll need to learn at least one computational platform and
| its APIs and tools and generally how to build software for it.
| For example one of Windows, Linux, Android, Mac or web. Choose
| one.
|
| * You'll need learn how to apply software to solving problems in
| any particular domain.
|
| * You'll need to learn a ton a about the tools and practices of
| the trade. Distributed computing, databases, embedded, debugging,
| tools chains, design patterns, frameworks, APIs, libraries etc.
| Not all are applicable. What you should focus on depends on what
| what you want to work with and in which domain.
| tmitchel2 wrote:
| Good luck! Your mechanical engineering background will definitely
| give you good foundation to work from. If you are if the
| entrepreneurial ilk then definitely advise you to think about
| problems you had over the past 20 years and to use those
| connections too.
___________________________________________________________________
(page generated 2021-11-07 23:01 UTC)