First, I want to apologize if I'm posting this in the wrong site, but I hope this is the right one.

My question "how to find friends" might be very unclear at the beginning, but it's very common in many forums and most of the answers include things like involving in different communities in order to find people with the same interests, but I don't think that it works for me.

First, let me tell the background information. I am a 16-year-old (I'll be 17 in a few months) kid living in a poor Post-Soviet country (mentioning this so that you understand that many Western standards don't apply here). My hobby is computer programming, I've been learning programming since the age of 12. I'm currently studying computer programming at a vocational high school.

While being 16 years old, I look much younger. I am very weak and skinny, in fact, I don't do any sports at all (that might be one reason why nobody wants to be friends with me). I don't have any friends, I am not outgoing and I always feel alone. Also, I find myself being a busy person that doesn't have time to go out and meet with friends (although I don't have any).

I have very good grades at school, but it's not that I am studying a lot after school to get a high grade in tests. In fact, after school I don't dedicate any time for learning, I usually do my homeworks and I'm done. I'm good at remembering certain things, so I'm almost always ready for every test even without preparing. In my class, I am the only one who has a lot of experience in programming (see information about my experience below). Since I have very good grades and I know a lot about programming, nobody really wants to be friends with me at school. This is that kind of a situation when one only wants to be friends with the "cool guys" (people that have bad grades, do stuff like drinking, smoking, etc.). I am not that kind of person. I hate alcohol, smoking and all that kind of stuff. I have asked some people in my age about how they get friends, most of them answer that they go to parties, walk around the streets with their friends at night, smoke with friends (here being a smoker means being cool), etc.

While still being a high school student, I also have a job as a part-time programmer. I work remotely, so I spend 4-5 hours a day while working. I have school from 8:00 in the morning until 15:00 in the evening. I work from 16:00 until 22:00 (I also count having breaks, eating etc) and I go to bed at 23:00. That is how I usually spend my day. I work because I need money to buy things my mom can't buy me. In fact, my mom is the only one who supports me financially. She gets the minimal salary, so that's clearly not enough to fulfill my needs for me as a teenager and a tech person at the same time.

I'm not even trying to brag, but I'm a really good programmer. I know many programming languages, I code better than some people who've been programming for even longer time than me, I often get compliments from other programmers about my skills, I have even won a country-wide programming contest. And since there are no such programmers in my age, it's impossible for me to find programmer friends that would be interested in me (they often want programmer friends that are on the same level as they are). If I ever get a chance to make friends (regardless of whether they're programmers or not), they often distance from me because we don't really have anything to talk about. If they ask me "so, what are your hobbies", all I can answer is programming. Then, if I start explaining them what I do, they are not interested.

I am studying in a different city, so I go home every weekend. Rest of the week I spend at a dorm with my roommate, who also happens to be a "cool guy". At home, my mom is the only person that I can talk to, but we usually don't have anything to talk about either. Since my parents are divorced (my dad lives completely elsewhere and doesn't care about me), she lives with her boyfriend and mostly spends time with him rather than with me. I also have a sister, but she's 23, doesn't live with us, has a boyfriend, so she doesn't have time for me either. And even if we get to talk sometimes, again - we don't have anything to talk about. If she asks me how I am, what I'm doing and when I start telling about my programming stuff, she becomes uninterested and doesn't pay attention to me.

There's much more things I can tell about me, but I think that what I've told is enough to get an understating about how my life works. The reason why I want friends (or at least just one friend; I don't think I'd like having "a million friends") is that I need someone to talk to, tell them about my problems, about my life (and of course, hear about their lives, problems), someone that would be interested in hearing me out. I am so alone, that I often imagine there's another person in the room and talk to them loudly, tell them about my life and my problems, so that I can feel a bit less alone.

So, how to find friends?

  • Should I give up programming and do something else? Something, with what it'd be easier to find friends (like music, arts, etc)?
  • Should I give up my job (and respectively, the extra money I'm getting to fulfill my needs) to get more time after school to engage in social activities?
  • Should I start being interested in something else (but without giving up programming) so that there's something else I could talk to people about?

What should I do in this situation? I'm hoping that I'll find a solution to my problem.

  • 1
    Please don't answer in the comments, especially on closed questions.
    – sphennings
    Apr 5, 2018 at 19:58

9 Answers 9


I know you're in not in the same place as me, culturally - I'm American - but I still think that what I have to say can help. See, you remind me of myself two or three years ago: academically-oriented, not the most athletic type, somewhat socially inept, and passionate about a specific topic. For you, it's programming; for me, it's astronomy.

I want to you to realize one thing right off the bat: You're lucky. Maybe it doesn't seem like that, but you are. You have something that you like and you're good at, you've realized this early on, and you've clearly had the opportunities to make something of your skills. Not everybody gets that chance. But you've had the chance, taken it, and succeeded. You suggest giving up programming and trying something else - and my response there is a hard "no". Definitely don't give this up.

Try to ride it, in fact. I started competing in Science Olympiad when I was 14 - doing the Astronomy event, among other things. And it turned out I was really good at something for the first time in my life. I'm guessing you had some sort of similar realization when you first started enjoying programming. It felt good, right?

If you work at something long enough, you find people who are doing the same thing, who are on the same trajectory. I started competing in Science Olympiad - focusing on the Astronomy event, but doing some others - my first year of high school. One of my best friends over the next four years did the same, and we ended up taking all the same physics and math classes - and, of course, competing together in Astronomy, once in a while (and we made a good team!).

As you program - and compete, and study, and work - take time to look at the people around you. Look at your fellow classmates, your coworkers, your fellow competitors. Given where you work and study, there are clearly others who like the same thing you do: programming. Yeah, sure, they may not be up to your level. But if you want to start up a conversation, you'll absolutely have something to start talking about.

If I can condense the above a little, here's what I'd say:

  • There are so many people in your life who like what you do.
  • You're starting a journey, and some of those people are taking a similar journey. The road is long, but it's easier when it's walked with a friend.
  • Start by trying to be friends with the people who are also walking that road. Maybe start the relationship by just talking about programming, and go from there.

I see a lot of myself in you as I were younger, just as others had mentioned, you're not alone. But I lack of this beautiful skill you're given. If you're good at it, and you seem to be, this should give you an opportunity to get a well-paid job and live a better life. Don't throw that gift away.

I just wanted to add something to the previous answers, which are good but miss a specific point in your situation: your time. While your life is now divided in 3 time consuming, but essential parts - school, work, sleep - there is no time left to find and actively participate in another hobby. Of course you could spend the weekends. But it might be easier to find someone to befriend with in your every day life. Maybe there is another lonely student in the yard or alone at a table in your cafeteria at school? Or do you have contact to your coworkers? Maybe an online programming community would work fine. For me as a teenager, an online chat was everything I could get then - and it was enough. I even met my further husband while playing an MMO-Game. There might be someone to fulfill your social needs, too. Good Luck.


About the "cool guys syndrome": It might comfort you knowing, that there are people like you. It's just harder to find them, because as you said, you dont have lots of time to meet new people.

Personally, I've met people like you (also Programmers), but they are rare. They give the best friends tho. They will probably appear in university when your a bit more mature (and they are a bit more mature. Your classmates are not as into life as you are, youre working already. Thats a huge difference.).

Maybe go to programmer meetups, where people sit together, develop, and talk about programming. Are there such events in your country?

  • 2
    In addition to programmer meetups (which are pretty common) also consider Hackathons, which are also fairly common and involve a lot of interaction.
    – Erik
    Jan 4, 2018 at 10:11

Well, in terms of the conversation when you meet someone you might like to be friends with, or even in terms of connecting more with family, acquaintances, etc -- curiosity is key! Just asking questions about what someone is feeling, what they thought about a movie they saw or about anything at all, is a major part of connecting and making friends. Also, reflection and validation -- so if someone tells a story of a difficult experience, you can say "wow, that sounds so intense/painful/etc." Also, eye contact and a smile when you meet someone. Very simple, but very important. You could practice smiling at strangers from time to time.

In terms of where to meet potential friends, that's tricky since I don't know what is available in your area. Are there any study groups or meetups you could attend? Possibly for programmers? Any martial arts classes? Dances?


Firstly, never ever give up programming especially if you love it! It is a skill I believe that on a deeper level can make you a better person. Can also improve your problem solving skills in general :)

Now for a long answer first. People vary on opinion and some will say you need to find programmer friends, others will claim you need to change your job and others might suggest any number of infinite solutions. The only solution I claim is right is happiness. Programming is something you are good at and that is important to have maybe more so than friends, so that has to stay. Now everyone wants friends and we generally want to be around people that are similar because it is more comfortable but you need to understand that with comfort you aren't going to progress or become a better person. So my suggestion would be to actually meet different people from other areas (but still include programmers on that list). Remembering though that no matter what the person does for a job or a hobby as long as they are a good person and you feel like you can actually benefit from a friendship with them and have something to offer in return (which everyone does) then go for it.

Now how to actually find friends. Well it can be daunting and I still ain't perfect at it as I am a programmer as well. But I am getting better every single day and that is partially thanks to my wife who has maybe zero interest in programming. She reminds me from time to time not explicitly but through her own actions and friendships how important they are. The one thing I noticed from her actions is that people don't want your money or your things... they want your time. So if you find someone that is interesting, a good person based on your own judgement, is friendly and forward about something then do two things. One; listen and respond respectfully and helpfully. Two; offer your time or help if they actually require it. So being a programmer if someone is sincerely having problems with there PC and you might be able to help solve it then tell them you can come past tomorrow night and take a look. I think most people will be OK with that and even once there invite you to stay afterwards chat, have a drink and maybe even come the following night for just dinner and no work or other stuff.

You asked if you should find another interest, I think that can be helpful especially if you have mastered a discipline and feel like you can afford time to something else. But not entirely necessary. I instead try to master my craft and stick to what I enjoy, this means when I am in social situations I now have stuff I can teach them and they have stuff they can teach me. I generally am someone who really enjoys learning and I find that most people do too so I actually quite enjoy talking to people from other disciplines or with other hobbies.

Also about the loneliness you are experiencing, I would suggest using it. It is a gift, you have time to do things you like. So don't be sad about that. I have a wife who is entirely different and I love dearly that makes me a better person but I still find I miss my alone time which we happily give each other since we are both home people but can be equally sociable. So don't be worried but the next time you meet someone who is extra-friendly (even if they are a little drunk and you aren't going to take advantage sexually) then chat with them and really take interest in the conversation cause someday they might be your forever. That is how my life changed :D


Being a programmer myself, i even find it hard to make friends within my own course and company that i'm working in. That being said, i understand where you're coming from. (although i am also involved in a little bit of sports)

You have acknowledged that people (potential friends, your sister, etc etc) are turned off by you talking about programming, how it works and the like, as such, you should try to only touch on programming briefly and only continue if they show interest or ask more.

Best bet to find friends would be to look up programming communities or in any field which you find interest. Honestly, the way i made friends was mostly approaching people first and asking about them, i didn't really talk about myself until they have expressed interest in what i do. Also, make your conversations anecdotal, don't get too technical, even i wouldn't want to spend a whole hangout discussing objects and classes ;)

All in all, touch and go on things about yourself until the other party seems interested, if they never get interested, then i guess they just aren't fitting to be a friend. Win some, lose some.


I might understand your position since even though I have friends I too sometimes feel alone and would like to make new ones but I don't know where to go or what to do to accomplish that.

I have read multiple times in multiple sites that making friends takes time and effort on both parties, it takes time for an acquaintance to become an actual friend.

I would suggest that you use some of your free time to do a hobby that involves interacting with people, preferably something that gets your interest so you can find people that actually share at least that interest with you, it doesn't necessarily means meeting people in real life, you might like spending some time playing a videogame with a friend overseas, or playing virtual boardgames.

You said you used your weekend to rest at your mom's house, You may go out and do an activity that involves interacting with people when you are there. I'll give you an example, I'm a magic the gathering player and we are always happy when somebody comes to our local game store saying he wants to learn, this may not be your hobby so you need to find one that: 1) Gets your interest. 2) Involves interacting with people. New people.

Good luck my friend, don't give up on programming.


A tough answer is that friendships require time and effort. Youve mentioned that you spend a lot of time in your job which is obviously unavoidable. But it also seems like during the times when you do have time to interact with others, you arent really making the most of the opportunity:

If she asks me how I am, what I'm doing and when I start telling about my programming stuff, she becomes uninterested and doesn't pay attention to me.

If she doesn't find programming interesting try a different topic.

Should I start being interested in something else (but without giving up programming) so that there's something else I could talk to people about?

Yes. You might find statistics about sports to be interesting. The important thing is you have to make an effort.

I have asked some people in my age about how they get friends, most of them answer that they go to parties, walk around the streets with their friends at night, smoke with friends (here being a smoker means being cool), etc.

You are already talking to people. Do you feel you are making the most of this? You dont have to go to parties or places you feel uncomftorable to talk to people.


To program or not

Should I give up programming and do something else? Something, with what it'd be easier to find friends (like music, arts, etc)?

This seems like an extreme response to the problem. And it might not work. Yes, you will find many more outgoing people in music or the arts, but you won't necessarily interact with them more. Instead, they will do "cool" things with each other rather than you. Because almost certainly a big part of the issue is you. You don't sound like the kind of person who is outgoing.

This is not because of programming. It is more likely that the causality goes the other way. You like programming because you are not outgoing. You are an introvert. Me too. Probably true of many people on Stack Exchange, where the most popular site is about programming.

If you don't like programming, then that is different. But I wouldn't put social issues on programming. They are correlated, but it seems unlikely that the programming causes the social issues. It is more likely that introversion lead to both programming and social issues.


While still being a high school student, I also have a job as a part-time programmer. I work remotely, so I spend 4-5 hours a day while working.

I prefer remote work myself, but it sounds like you don't.

Consider talking to a teacher at school. Perhaps one of your teachers knows of a job where you could go in the evenings. I would try explaining the problem (difficulty finding friends). A teacher might be able to suggest places where you could work and spend time with other people. This could still be programming. But perhaps you could work on a program where you actually meet the users.

This also might be easier in college. At a university, you might find that they had researchers who would need help with programs to assist in their research. But I'd at least try with a teacher or three at school. They might have better suggestions than I could make. And maybe they know other students like you.

Going home too often?

You seem to have very limited free time. Essentially none for five days a week. Have you considered going to your mother's less frequently? Perhaps every other weekend. Then you could do things near school on the weekend. For example, you might get a second job or a hobby.

Alternatively, keep going home every weekend but get a job or hobby to do there. Preferably something social. If you attend religious services, you might talk to your priest (or whatever title) about this.

Consider being a cook or something on the weekend. A part time job where there are other people. If you like music or art, consider getting a job near music or art. A museum? Somewhere with live music? You will get a little bit of money and spend time around other people. Perhaps one of them might be a friend.

If you work at a job for a month or so without meeting a good candidate for a friend, consider finding a different job.

Your sister

If she asks me how I am, what I'm doing and when I start telling about my programming stuff, she becomes uninterested and doesn't pay attention to me.

So I take it that the reason why you are talking to your sister about programming stuff is that she asked what you are doing and that's what you are doing. That's probably an overly literal interpretation of the question.

Consider instead telling her that you are studying how people make friends. That's a natural segue to talking about how she makes or made friends. Perhaps she will have some useful advice.

Longer term, consider starting a journal. In your journal, try to think about one thing that happened during the day that your sister would find interesting. If nothing seems that great, just put in the best one. Leave extra room on the page, as you'll have more to write later.

When you know you're going to see your sister, go through the journal and pick out some topics for conversation. After talking to her, add comments to the pages that you discussed. Did she like that topic? Did she discuss it avidly? Or did it bore her like programming? Over time, when writing in your journal, try to focus more on the subjects where she responded well and less on subjects where she didn't.

To be clear, responded "well" does not necessarily mean positively. You are looking to start conversations. So if she says, "That's disgusting," but then starts a conversation about it, that's "well" for our purpose here. If she says, "That's great," but then abandons the conversation, that's not.

You don't have to limit this to your sister. But this seems well applicable to her, as you see her infrequently.

You could do the same thing with your roommate. Try to share one observation a day that you think will interest him. Try to get better and better at finding the ones that will interest him and the best times for discussion.

It helps if you can find topics that interest both of you. If your eyes glaze over and you drop out of the conversation, it is unlikely to last.

Open source

I've made some friends or at least convivial acquaintances on open source projects. You can also find programming work there that you can do remotely. And some projects lend themselves to meeting people face to face as well. For example, open source projects that need to be configured.

Or perhaps you could offer technical help for people trying to use things like GIMP (Graphical IMage Processor) or an open source music manager for DJs. Not quite programming but still tech-based.

Not the answer you're looking for? Browse other questions tagged or ask your own question.