|
You might check out platforms like OutSystems.com or SalesForce.com.
They are more solution oriented, but you might find them interesting. They have two different approaches.
|
|
|
|
|
I'd look to the industry/industries in your procession of other jobs - and try to find ways to leverage any domain expertise you've picked up through that time.
Who are the vendors with products that specialise in those domains and how can apply your domain knowledge.
Maybe it leads a little more to a non-programming but still software related role:
- testing/validation
- design/workflow/user experience/business process analysis
- implementation or project management
- documentation/training
Of course, you didn't say what area you soul crushing jobs were - may well be one of the above...
|
|
|
|
|
Based on my recent experience job hunting, it seems JavaScript is the big one. C# with SQL (and Azure) has demand. I've found that in general, companies are shunning senior and fresh junior developers; they'd rather underpay mid-range developers with 5-10 years experience (who also won't make waves.)
One challenge you'll run into are hiring managers worried that you're after their job.
|
|
|
|
|
First the bad news: ageism is definitely a 'thing' in IT. Even those of us with many, many, years of experience can struggle to get work. You are right to fear that many hiring managers will put your CV in the 'No pile' after a 30 second scan.
On the up side, if you listen to the 'industry experts', (and that's not always wise!), there's a big skills shortage in the IT sector.
I agree with other posters: finding a small company that needs help with IT, may give you a way in - but, be careful that it's not a way in to something that is not going to give you the opportunities you are looking for.
I would definitely look at (free) on-line courses as a starter. This is not a recommendation, but I used Codecademy, (back in 2012), to learn PHP and found it very easy. But that may be because PHP is quite similar to my 'normal' programming language.
Good luck.
|
|
|
|
|
Look at local job listings -- what skills are requested? Let that drive what you decide to learn.
You have a year? Take some programming courses at a local community college (or the equivalent). I suggest JavaScript, SQL, and one of C# or Java. Additionally, get books likes SAMS Learn XXX in 21 Days. The books are not all the same quality, but contain organized lessons which get you into the the basics of a language.
Why actual courses? Night courses are often available so you may not have to disrupt your normal life. Also, the time span of a semester provides the time to think about what you're doing, not cram a language into your head and hope you can actually use the syntax.
This is where bootcamps fail -- they address the least important part of learning to program -- the language itself. Your ability to think and use the tools properly is important, not the syntax.
Write a real program. I've written and re-written an address book program in every language I've learned. I know the requirements really well, know what it needs to do, and it covers UI, DB, and everything in between.
You have ~30 years of doing something else? Leverage that if you can -- you are a domain expert in some field(s), so look for IT jobs related to those field(s). Being able to talk to the customer intelligibly using words they understand is a very marketable skill.
Consulting/contracting. Ageism, IME, is a lot less prevalent in contracting. But it's different from having a steady paycheck, so ya gotta prepare -- both mentally and financially for the differences.
These days remote work is more common -- a friend was laid off from a manufacturing firm after nearly 30 years (place was sold and cut up). He found a remote position AND he's on retainer with the owner of his old employer to help with systems the new owners do not understand.
|
|
|
|
|
Hey Kevin,
I'll echo a few of the previous comments. Ageism is rampant in IT. Most large companies are looking for younger talent. But all is not lost, I think you need to change your focus. I started with with the programs you learned, working on mainframes, then transitioning many times to different platforms. I am currently working on a C#/Blazor application. I think you will find breaking into "modern" application development will be difficult, but, there is another sector that pays very well, and is desperate for new talent.... Cobol. Banks and large organizations are trying to break free, but Cobol programmers are literally dying off. Younger people aren't interested, but it might be perfect for you.
Mark
|
|
|
|
|
You certainly wouldn't have a lot of young competition with COBOL, and the language has been updated and you'd be using modern editors, so it wouldn't be as annoying as it was in the 80's.
Learning to read COBOL code and figure out what it's doing would be a very useful skill- especially paired with SQL. They may be desperate enough to let you work remotely, too.
|
|
|
|
|
2. These languages are quite fine
Regarding 1. I'm sure there may be some bias depending on where are you located but I believe you'll be able to overcome it! Good luck with that!
|
|
|
|
|
Like they say in real estate: location, location, location.
I had to reinvent myself.
In the first case, I started as a customer service rep in a big box store, which allowed me to apply for an IT job in "head office".
In the second, all my work was remote; leveraging mickey mouse freelance web site jobs into good contracts that lasted several years.
You sort of make your own luck.
It was only in wine that he laid down no limit for himself, but he did not allow himself to be confused by it.
― Confucian Analects: Rules of Confucius about his food
|
|
|
|
|
I had a similar path with a couple of years (late '80s) of CS classes learning most of the same languages you mentioned. Like you, money got tight and I dropped out and got a 'real job' doing manual labor on a factory floor. (fiberboard shipping containers actually) After 10 years of back breaking work with constant overtime, I received a golden opportunity that allowed me to go back to school full-time and finish my degree. I could go on and on about how amazing it was that in the span of 10 years, the whole computing landscape had changed...I could now write and compile programs in the comfort of my own home, anytime I wanted! Programming had changed from procedural to object/event driven. It was revolutionary! It was good to be back.
Now back to your dilemma. My opinion is that if you had the aptitude to learn programming 30 years ago, that you still have it. If fact, given the advancements in IDEs and the vast knowledge base available these days, you will likely find modern programming to be easier and will pick it up quickly.
As for getting hired as a 50+ year old, you may have to settle for a small or startup company. That is what I did 20+ years ago. It's not an easy path, but it can be extremely rewarding if you can stick it out for the long haul. If it doesn't work out, at least you've gained some real world experience.
You are on the right track with C# as it's the most widely used language for cross-platform or windows development. Since so much new development these days is web-based, JavaScript is also a must, combined with straight up html and CSS. Throw in some SQL and you can call yourself a full-stack developer!
Now, how to actually learn how to do this new stuff. It all depends on how you learn. Start with MS Visual Studio 2019 Community (free), work through some beginner tutorials, then pick a personal project. You've gotta start somewhere. Since you've already found CodeProject, you know that this is a great place for tutorials, articles, advice, and to ask questions if you get stuck.
Good luck and welcome!
"Go forth into the source" - Neal Morse
"Hope is contagious"
|
|
|
|
|
I'm fortunate in that if people don't know my age, they take me for 35 - 40ish. It depends on whether or not I'm clean shaven at the moment. I'm not greying up top yet.
My retirement time frame is, at the moment, no less than 18 years. I intend to draw max SS, which means not filing for it til 69 1/2. Not that I mind - I'm sure ill enjoy a few months of doing nothing, then will go quietly to pieces unless I find something to do.
Thanks all for your comments and encouragement!
|
|
|
|
|
Like others have said, leverage your domain expertise as much as you can.
You may find it difficult to find a job with only a junior programmer skillset in your arsenal. But programming skills combined with an (extensive?) domain knowledge and other skills you've already acquired may tip the scales in your favor.
In any case, learning a programming language is not the hardest thing you'll face. Especially since you have at least some background in programming. IMO the real issue is to learn to solve problems, implement your design (solution to the problem) with the language / toolset you're using, and learning to write clear, maintainable code (i.e. to organize your code).
One approach you may consider:
- write a useful program related to the domain you know a lot about (and your potential employers know at least something about)
- start with it as soon as possible.
- publish it at the GitHub.
This approach has its pros and cons. Here's just a few:
+ it is easier to ask help if others can see your code
+ you can ask more experienced people to evaluate your code (and give you advice on how to proceed.)
+ when you apply jobs, you have something real to show for
+ it enforces you to pay attention to practical issues
+ you'll learn your tools in process
- you'll better not show a crappy code to your potential employers, so
- this is very demanding and the learning curve is steep
- it is hard to pick a problem to solve (not too simple, not too big/complex)
Also, the time you have given to yourself (a year), is a stretch, even if you make learning this stuff your 'day job'. I guess its not entirely impossible, but man, you better not count the hours.
I am experienced programmer (20+ years), but I still learn a lot by reading (good and bad) code other people wrote. You can find good open source projects from the GitHub for this purpose. Maybe even a one that is somehow related to the problem you'll decide to work on.
Finally, in your position I would familiarize myself with TDD (test driven development) at least to some degree. Not because you'd need to learn about testing as such (you'll need to, at some point), and not because every employer expects that (they don't), but because it is a good way (IMO) to learn practical problem solving and drive home some important aspects of software design in general. (Even nobody expects a junior programmer to be able to design even a modest scale production quality software system, you'll inevitably do small scale design every time you write code).
Hope this gives you something to think about, even if you'll end up doing something entirely different.
modified 11-Aug-21 6:28am.
|
|
|
|
|
Learn something like Python or Java and go teach a high school class. You only have to work 9 month out of the year and you will have your summers off. You don't have to be an expert -- after all you are only teaching high school kids. Have fun with it. "Da doo ron-ron-ron, Da doo ron-ron" (From the movie Stripes)
~d~
|
|
|
|
|
etkid84 wrote: You don't have to be an expert -- after all you are only teaching high school kids. As there were no high school kids that could beat the hell out of many of the users here...
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
Yeah, except I have neither a university degree or teaching credential - both of which are required to teach in high school. And you don't get to teach, like, just one course.
I love the thinking, bit its just not practical.
|
|
|
|
|
|
This answer is going to be different than most you would find here.
You mentioned that you learnt RPG IV in school.
That is a language in use on IBM AS/400 (now, iSeries) computers.
Billions of lines of code exist in that language.
The iSeries computer systems are treasured by companies that use it but they cannot find replacement programmers, just like you can’t find COBOL programmers anymore.
Check out the local computing scene. See if you find any companies using the iSeries computers. If you find one, talk to them about an opportunity to prove yourself as a competent RPG IV programmer. Look for AS/400 users groups and such fora to find out who these companies might be.
They may be desperate enough to give you a chance.
If they do, you will be set for life and will not have to fear competition from young whippersnappers with resumes sporting Python, C++, Java, Clojure, Go, Rust, etc.
Best of luck in your endeavors.
|
|
|
|
|
How quickly do you want to make this change, and how much effort are you willing to do?
It might be an idea to get yourself involved in some medium to high profile open source projects first before attempting to turn it into a job.
Being knowledgeable in an open source product is likely to open more doors than simply saying "I've done a C# boot camp". To be honest, the code itself is easy enough to learn (if you've got the right mindset), the difficulty is never explaining what 'var i = 1;' done. The difficulty comes from trying to get a person into a coding mindset which works well with others (rarely are projects done in total isolation).
As for choice of language, look at the job boards and determine what people are hiring. Talk to those in the industry in your area. Just because C# / Java / "insert cool language here" is popular on a world wide scale, doesn't mean that "insert legacy language here" isn't the language of choice in your city.
Finally, are you really sure you want to be a programmer? The IT industry has our fair share of boring soul crushing jobs just ready to put a warm body into for 6 months. You might not find the grass as green over here as you first hoped. Whilst my first job was interesting (and I was lucky to fall into that job) it took me a good 4 years to move into something that was both interesting and paid a half decent amount. Whilst I don't know your age (extrapolating from what you've said, I'd guess early 50's at the youngest) you may find that you don't hit any of the really interesting jobs before it's time to retire. As others have said, ageism is rife in the industry and you may find that doors are closed even after you've put in the work to get into the industry.
|
|
|
|
|
Sounds like you could have gone to the same 'technical college' as I did
As a hiring manager myself, I wouldn't be averse to taking on somebody in your position, but would need to see some evidence of your commitment. The easiest way to demonstrate that is by developing a working application that you can show off. For example, a browser-based application that does something vaguely useful, and demonstrates that you can create a UI that does stuff with a database.
I wish you all the very best in your career change, and hope you find your way to something that elevates your soul instead of crushing it!
|
|
|
|
|
I will suggest to focus on a stack, more than languages.
As example backend with C# and Asp.Net Core Web APIs + frontend with React and Typescript (and css/html with Bootstrap or Material).
For Frontend Angular + Typescript is also a good option, but more enterprise and take more time to learn, and less "sellable" for you.
You can find many good blogs or videos on these topics on Microsoft websites and pluralsight, for example. Don't waste time with thousand of blogs teaching one specific thing, but focus on full-courses, as it will be easier to you to catch up all this complex stuff (today you need a huge stack for a basic "Hello world").
Then build a hobby-project to learn the real coding, as reading a book or watching videos or doing small exercises are not useful to get a job or succeed in an interview. Publish it on github. Start to contact HR and companies: now you can show them what are you able to do.
I hope this helps
|
|
|
|
|
Hi
I took a 25 year break from work while raising my kids. I had been on the leading edge of programming when I left, and I kept my hand in a bit by web design for trades (dance classes and the like), and I have a BS in Mechanical Engineering, so I was hopeful when I began my search. I set up my LinkedIn account, brushed up my social media accounts, freshened up my resume, and started applying. It took a good 4 months, but I was employed as a web developer on a great team. It doesn't pay great yet, and I know that my BSME helped me get in the door, but I love the work and I do get paid, and bonus: I get to work remotely.
My advice: keep working on it - you might even get a lucrative position curing legacy code with your experience.
|
|
|
|
|
Perhap your current employer has a software/computing department that you could transition to, assuming that you could leverage your knowledge of the business into substantive value for developing solutions?
Time is the differentiation of eternity devised by man to measure the passage of human events.
- Manly P. Hall
Mark
Just another cog in the wheel
|
|
|
|
|
In general, Java and C# are parallel tracks. I would pick the one you enjoy working with (probably C#) and learn the support languages that go with it. Definitely pick up a database language (SQL Server can be downloaded for free) and if you want to do web development, pick up MVC, JavaScript and JQuery.
Plan on projects that you want to do at home to build skills. The easiest way to get ahead is to spend time outside of work doing what you enjoy doing with skills that will help you at work. Coming from soul-crushing jobs, you will want to find a job that is a good fit for your temperament and happiness. Programming can be soul-crushing as well, so this is absolutely vital. It may not be in the skills you have chosen, but you will have to choose which is more important to start. You can always market those home projects for changing jobs to get into the area you want to work in once you have some experience.
|
|
|
|
|
A lot has changed since the 80s. That is when I started college also.
Some things are easier and some are more difficult. And not all programming positions are equal.
Many get by by learning the syntax of HTML5, Javascript, Typescript, CSS, and SASS and then a popular framework like ReactJS or Angular and find happy lives grinding out web applications. Much of this type of developers time gets sunk in learning the latest framework, as the frameworks don't tend to last very long, and then rewriting/updating their code as frameworks and dependencies change in uncontrollable manners. While I tend not to trust developers who are self taught or come from a boot camp, it is primarily because most I have worked with tend to learn their trade skin deep, don't know what they don't know, and don't learn better ways to do something unless they become aware that they way there were doing it will not be supported any longer or is not trendy. That being said, this distrust is primarily because of what self taught & boot camp programmers tend to focus their learning effort on. At some point all of us are self taught since these technologies are constantly evolving. How you teach yourself if what is important. If you want to fully learn this technology stack (for the front end), might I suggest starting with:
Learn web development | MDN[^]
and once you have exhausted what mozilla has to offer on these sets of technologies, you should move onto RFCs to hopefully be one of the self taught people who know the technologies from the bottom up and not only by being able to replicate what they have seen in a tutorial or in a google search. If you go this path, you should make sure you use Typescript.
An alternative path that also costs you nothing, outside of the cost of a book in some cases, that will allow you to see if you still have what it takes to get into more serious computer science topics is to take advantage of OCW at:
Electrical Engineering and Computer Science | MIT OpenCourseWare | Free Online Course Materials[^]
Here you can "take" the same classes that bright young students accepted to MIT take to enter this field. Based on the amount of technology that has changed since 1980, this might be an eye opener. This path is definitely not one that yields a skin deep understanding of a technology that fools one into believing they are competent in a technology where all they are really doing is mimicing tutorials to produce an output and struggling to find another example to follow for the next thing they have not added to their recipe book.
You can start to see a pattern where there are two types of programmers. Chefs and cooks. And most cooks don't realize they are not chefs.
Without a recent degree and/or experience, I would expect to see some solid examples of what you have produced on your own and you would have to pass a competency test in order to work at an organization like mine.
|
|
|
|
|
Lots of good advice given already.
After 12 years at the same company, which went out of business, I worked for another company as a programmer/tester, and there was a downturn, they laid off everyone who was over 50. It was not age discrimination, of course.
Due to the widespread economic downturn, it took me 2.5 years to find a job, even with 18 years of programming experience. Companies preferred young folks right out of college rather than 50-somethings. They even paid the younguns more that older applicants. I developed some websites and did other stuff to pay bills.
I eventually found a job at a place where they value life experience and more than half of the employees were over 50, some in their 70s. I am in a small (2 people) division of a company that does mostly industrial controls, and our programming division does Winforms desktop supervisory systems mostly, aside from some mobile phone dev.
I personally like C#, and taught myself C# after 15 years doing C programming, mostly knowing Assembly, C, C++, and Basic and having an engineering degree with a concentration in control systems.
As for Practical stuff, I would say C#. Easy to learn, and you can do desktop programming, ASP web programming, and also mobile dev using Xamarin. Some people put down Xamarin, but I really like it.
I like the Murach books because I like the approach and style and example practice programs.
I enjoyed Murach's C# 2015. It has been updated by newer versions, but the 2015 is cheaper and it does cover all the basics well, and, although C# has added a lot of functionality and .NET has expanded, the basics to start learning have not changed.
For web dev I enjoyed Murach's ASP.NET 4.6 with C# 2015. Again, an older book, but nicely organized and practical and worthwhile for learning the basics of ASP and web dev. CSS is good to learn, and javascript. Javascript syntax is close enough to C to be able to learn easily.
Develop some fun, practical applications to get the hang of the programming.
After this, if you like C# like I do, get some good books on Xamarin.Forms to start in the cross-platform development if you want to get into mobile dev. I have 7 of them. Most of them show pretty much all of their UI using XAML, but I do almost everything with code since my app UIs are all adaptable per individual user. Even if you do not end up in mobile dev, it is good exposure.
Xamarin.Forms Projects by Karlsson and Hindrikes is pretty good, with its UI based in XAML.
Cross-Platform UI Development with Xamarin.Forms by Johnson and Xamarin Mobile Application Development by Hermes are good for C#-based development. Also, there are tons of online resources.
There is still a good market for Winforms desktop application developers, which is a good start.
Good luck, and all the best to you.
|
|
|
|
|