They're uncommon but invaluable when you find one. My caretaker is a young man currently in school for computer science. He comes by once a day to check on me and gives me brief programming lessons while heating up my soup, helping me up the stairs or doing jigsaw puzzles with me.
I think the point is no age is too old to start something new if you still have control of your faculties.
I'm definitely not the fastest learner and am absolutely stunted in some areas (computer science) but through persistence and critical thinking I've been able to excel in any position I've found myself in.
I've also been able to act as a mentor of sorts for several other developers (all but a couple my senior in age) success always comes through their own drive to learn. While my guidance just fills in gaps and helps them through difficult concepts that I personally wasted tons of time struggling through since I didn't have someone point out the clear path for me.
There is something in the human heart that falls for people who are young enough to be their children. That same awe-shucks people get when they see a baby is the same feeling one gets when they feel the desire to mentor someone.
In an industry where there isn't many people older than 30, it's going to be much harder to find someone who looks at you as the child they never had.
OP, in a university setting it is easier to find mentors. Look for professors, grad students and in-class TAs if possible.
I was working and took one class a week, at nights and/or on weekends. This was not all that bad because even if it went slowly, I really learned each subject well and got high marks.
At one point I got laid off, and went full-time on my severance, unemployment and savings. When unemployment ran out I got a low paying, part time consulting gig (and cut my classes from 5 a semester to 4 and then 3).
After class or office hours with your CS professors helps. They often know a lot.
Also, there are projects out there like this - https://github.com/danielgindi/Charts . It is in iOS, an OS you know. There are plenty of open issues, and there are plenty of pull requests that have been accepted. It is a pretty popular library, so the devs with commit access probably (although not necessarily) know what they're doing. I'm sure they'd appreciate you jumping in and looking through the issues and seeing if you can solve one of the problems. Then you send it in and see what they say. As you become familiar with the project, you can watch how they handle issues and write code, and will learn more.
That's just one project that might be up your alley, there are many more.
I’ve also paid professionals for mentorship for both programming and business.
For the most part people want to help those that do. Be a doer. Ask good questions. Respect people’s time. Get involved.
Look for someone who is doing what you want to be doing, who's friendly and open to starting that kind of relationship. It doesn't have to be someone near you geographically, though that helps if you want to have frequent face-to-face meetings over coffee or a meal. I would encourage you to look for someone who's not only doing the things you want to be doing, but who has also faced similar challenges getting to where they want to be. For example, because you're currently freelancing, it might be helpful to find someone who has experienced life as a freelancer or a consultant in the same kind of commercial environment. I don't know but I'm guessing that being in Turkey is going to work differently than being based in the US, for business reasons if nothing else (a fair bit of the advice I give out to young consultants revolves around our own somewhat Byzantine tax system.)
Finding someone you feel comfortable asking to be a mentor may be tricky if you're not well-established, but go to a lot of meetups in your area, and don't be shy about talking to the speakers afterwards. Often a small group of individuals will end up chatting, and if you keep seeing the same small groups doing so you can bet that one of them will have some good advice for you. And don't let your age become the issue here—you're not at all too old to be getting into this field, and its really irrelevant to what you need at this stage of your career.
Depending on what type of back end development you want to do pick up a book and start learning back end languages. Java, Go, Javascript (Typescript) etc. Also, start learning databases like MySQL or Redis etc.
Just make a simple web based notes app or something that will allow you to hit all these back end technologies.
Just start!
This article sums up how to get a mentor:
https://pindancing.blogspot.com/2010/12/answer-to-will-you-m...
one thing u have to know though... real mentorship isn't just about how to use screwdriver X or technology Y.. it is also about how to live being someone knowing all about screwdrivers and technology. Esp. in programming where multidimensional schizophrenia is your everyday state of mind :). Without that, it's teaching/lectoring/RTFM, not mentoring.. btw Best way is to find a job where you would be mentored into close-to-desired direction, even if somewhat underpaid for beginning. But there are other ways too.
It's mainly about finding the right relation. Nobody wants to mentor someone they don't see something good in. Most will mentor someone who "gives back" through aptitude, attitude, or gratitude.
Also, try to find an online community or forum. Answer questions from those newer than you, abd ask questions of those more experienced. If you put in the effort to help out, you will likely be helped out in turn. Unevenly and sporadically, but on average, it's true.
1. Camaraderie with other developers IRL
2. Technical assistance when you're stuck with a technical problem
3. What else?
Then try to address these needs individually.
Sure, you can find someone to geek out over general technical stuff (1), but maybe you don't geek out over the same technical stuff (iOS vs. back-end web), so he/she doesn't know as much about back-end stuff to help you debug (2). Or vice versa.
For #2, there's so much help online though. For #1, look for a developer group (maybe a HN monthly meetup). If there isn't one, start one, and you'll start meeting like minded people near you. A few years back I started a HN monthly meetup in San Diego, and it was a fun crowd.
As another commenter says, stop worrying about age: both yours and theirs. Focus on being willing to leave your comfort zone.
A) have low expectations, so it's easier to define early success and build motiviation, B) be willing to do work for free, as long as it is mutually beneficial, so likely research with no clear financial incentive C) go to where the mentors are: local universities and corporations and research institutes with open campuses. D) at said campus, find some old person sitting alone at lunch. Ask permission to join them. Strike up a conversation. Rinse and repeat daily until you make some connections, find some mutual interests, and pursue them. This has, in my case, led to actual projects, where they formally sponsor me, I get campus badges (I'd like to think I have a fairly enviable collection of ID badges), and and go as I please. This was especially helpful in residency when I needed a place to study on the weekends, but the thought of returning to the hospital campus on the weekends made me nauseous.
Especially as an iOS freelancer, you need nothing more than a laptop, right? So just work there until lunch. Or after lunch, whatever. I'll bet you can find an accessible power outlet and wi-fi in the same spot if you walk around for awhile.
As the mentee, it's about finding somebody who knows something you don't know and is willing to talk to you and answer your questions. As a software engineer, I find it valuable to meet with and talk to people who know more about various aspect of engineering -- the tech side of things (coding + architecture) and the business side of things (growing in leadership skills and knowledge of how to function within a business).
Even at a large company, depending on location, it can be difficult to find somebody to meet with. I mentor others both local and remote who work at the same company because sometimes they're not able to find anybody else with a similar role in their location. I'd recommend being willing to meet with remote mentors.
First of all, if you feel you want to stick with programming, set yourself larger goals. Any server-side language can be effective.
Second, if I were you right now I would leverage your iOS skills by learning React Native to get competent at producing triple-platform (web/Android/iOS) frontend apps in Javascript, then learn Node JS to get competent at server-side.
By doing this you are offering a huge value business solution (overall app and web and potentially backend solution and ongoing hosting/maintenance) instead of a single project (iOS app frontend only). You can charge a lot more.
After you choose a target for the type of job you would like to shoot for, it's generally: 1) learn the tech, 2) learn the context/industry, 3) come up with a project you can develop on your own, and 4) develop it to a reasonable level, to prove you know 1 and 2, and 5) start knocking on doors.
A friend of mine followed the path of doing mobile development, and finding a job in Amsterdam with a known travel/booking site. I was wondering if you could do similar path - he recently started working at Google Zurich. I believe coming to US on a visa without a CS background might be hard, but you might use your IOS skills in a EU based company.
Don't be too fixated on backend, I like it more than i do mobile, but eventually, most skills are transferable to different platforms. I'd first try to utilize what I have, and find stepping stones that are more-easily achieved.
You wouldn’t have to just ask for a mentor which is a pretty broad request, but could start by asking a couple of focused questions.
This would require a little careful thought about what are the biggest or next obstacles you’re up against.
Is it about the fastest way to get up to speed on a tech? Are you already good at backend work but trying to figure out the resume chicken and egg problem?
The point is just that, who here could give you some good advice might depend on the question, and it might be a useful excercise anyway to refine your focus on how you want to proceed.
Constructively: have a look at coursera courses. Pick up one free that will interest you and be active on forums. There is lecture every week, some homework and forums to discuss at. A bunch of people starts at the same time and it has social aspect, so it might simulate mentor you are looking for. It is also structured and overall more effective way of learning then bouncing around forums.
Since you are interested in backend, find databases oriented courses(a bit of theory and how to write queries), something about microservices and how application servers work. Have a look at jobs in your country and pick up languages/frameworks to learn based on that. I would advise to care more about practicality then about what is cool/hip, at least in the beginning. Never stop learning, that is most important, even after you find that backend job you wish for. Keep track of finished courses and certificates, so that you may show them when looking for courses.
Also, how did they get good enough to leave? Do that.
I got my 2 year degree in programming at 30 and started at a $21k/year job (bottom of the barrel). I'm now making, 7 years later, many times that as a back-end developer.
I'm "stunted" in my career because I'm unable to move (fiance takes care of mom) and in the sticks - my job is a 90 mile commute from "civilization" and that's how far I have to go to get "good" money.
If you can "work for peanuts" at a job that does what you want... you can leverage your previous experience. It's not like I had more with a 2 year degree and no "experience". You can also prioritize "experience" over "pay".
If you can take a lower paycheck, move to the job you want and are willing to do it... I did it at 30. There are more jobs available now and companies that need experienced developer - and even if you are moving specialties you are still experienced.
Difference from a bootcamp: you don't pay them, typically they pay you and provide benefits but it varies. Typically leads to a job offer if everything works out well. Discuss expectations going in and timeline.
I missed you were in Turkey -- a quick Google search with "turkey software craftsmanship" reveals some options there that may or may not be active.
One, look for a full-time job where you can learn from people. When freelancing, nobody has an incentive to invest in you. Go in house with the right people and they will.
Two, start mentoring. Learning to mentor well forces you to really master your technology, and it also teaches you a bunch of new things about people.
I suspect one of them would love to be a mentor in exchange for some guidance on local shopping, food, customs, etc.
The online community is also quite good in providing help and assistance, if you find the right community.
Good luck!
if you want to learn something, learn it. the resources at your disposal already are extremely broad and deep.
Having worked on open source projects for almost 10 years, I've come to the conclusion that hype is never a good thing. Hype just gives users a false sense of confidence, gives you a false sense of accomplishment/optimism and hinders real progress.
So in reality, I think that you don't really need a mentor. 'Mentors' are only really useful for PR/promotion when you're already skilled and have already done the hard work.
I'm kind of a 'mentor' myself right now so I'm not saying this out of spite. I just don't have any illusions about my true purpose. There are plenty of severely undervalued developers out there who don't really need any mentoring; they just need someone to help their projects get the traction it deserves.