Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: I achieved my dream of being a self-taught dev. I hate it. Now what?
58 points by Idk__Throwaway 9 months ago | hide | past | favorite | 58 comments
Hey HN. I'm in a little pickle regarding my career and life choices and I'm not too sure what to do. I'd like to get some advice or perspective from others here. During my teenage years I worked fast-food/retail, with a bit of odd manual labor mixed in here and there. Then I joined the military and worked a physically demanding job while active duty. I did that for 4 years, all the while teaching myself to code with the primary motivation of being able to attain a lucrative job and build a respectable career for myself down the road. Upon separating from the military, I attained said job.

At first, I was thrilled. I do enjoy coding to an extent, and thought that this was my "big break". But after doing it for 8 hours a day, 5 days a week, I've come to realize that I don't enjoy it all that much after all. It was an escape after a hard days work. It was a way for me to relax. But sitting down, alone, in front of a computer screen all day every day is slowly driving me mad. My mental health is slowly getting worse and I've come to realize that I need some amount of human interaction and, more importantly, some amount of movement and physical activity. I don't believe it's my company, coworkers, or manager that makes me dislike my work. The problems I solve are interesting, my manager is truly incredible, and my coworker are all kind, encouraging, and helpful. It's simply the nature of the job, I'm certain I'd feel similar with almost any desk job where I toil in front of a screen day in and day out. I just didn't realize it as I'd never really had a truly white collar job prior. I also should note that I don't try to derive meaning or fulfillment solely from my employment. I go to the gym, I train MMA, I even dabble in stand-up comedy (though public speaking certainly is not my forte). All that to say, I don't expect to be 100% fulfilled from any job, but I just can't handle the 40+ hours a week of complete inactivity and nearly complete isolation.

I have the GI Bill, which grants me 4 free years of tuition at any public university in the country. I'm strongly considering quitting and using it. The only thing holding me back is that I have no idea whatsoever what I could do that I actually would enjoy and would meet my physical and social needs without overloading them. Too much socialization or physical activity for me is almost as bad as none whatsoever. I've come to terms with the fact that I'll almost certainly have to take a pay cut, and that's okay. I'm willing to earn less in exchange for my mental health, but only to a point. The ratio of income lost to happiness gained should be at least roughly equal.

I'm blessed to have the opportunity, time, and means to drastically alter my career path in my early-mid 20's but at the same time I'm overwhelmed with options. And I fear choosing the wrong one as I don't want to be in this same position 4 years from now.

I've tried introspecting and narrowing down my options based on my interests, but I can't think of a single career I'd like to actually make out of my interests. Working out and MMA isn't something I would want to make a career out of as it's just a way to blow off steam, and I don't have the desire to do stand-up comedy professionally. The only other interest I've had over the past ~5 years has been programming. Which I do enjoy, just not enough. Aptitude isn't a concern. At the risk of sounding arrogant, I'm certain that I could perform well doing whatever I decide, so long as the interest is there. I'm hoping that just maybe there's some perfect career path out there that I just haven't heard of or thought about yet.

After that novella, I open the floor to you. What are some good options for me to consider? What would you do if you were in my situation? Is there anything else I haven't thought of?

Thanks if you've taken the time to read this, doubly so if you then take the time to write a response. I look forward to hearing from all of you.

> But sitting down, alone, in front of a computer screen all day every day is slowly driving me mad.

Without changing the industry completely, I know of two ways to make the experience more social:

- work from a coworking space (a smaller one where you actually get to know people and hang out) (edit, i assumed working from home, but that's probably not the case)

- Try sales engineer (or similar) positions - you still get to use the IT engineering skillset, but you become the interface to customers. A technical account manager is similar, but from support side.

> - work from a coworking space (a smaller one where you actually get to know people and hang out) (edit, i assumed working from home, but that's probably not the case)

Serious question/devil's advocate here: if a corporation/company/business/startup/whatever is paying you for 8 hours of work a day (8am -> 5pm with a 1 hour lunch in between), when are you supposed to talk to people in a co-working space?

Are you saying like, in between meetings, and when you aren't "heads down" tracking down bugs/looking at logs/writing documentation/writing code/writing tests, you just... shoot the shit throughout the day vocally across from one desk to another? Walk to a watercooler and hope somebody else is also randomly hanging out there throughout the day? How many times can you do that a day? Multiple 15 minute watercooler breaks a day? Go to a group lunch?

I feel like that would hurt the average person's productivity. Sounds like a lot of distractions.

Obviously humans aren't binary objects that are just "work non stop" or not with no feelings.

I just feel like you'd be replacing "I hate coding/being alone/no social aspect" with "I'm socialized but now I'm behind on my work/distracted/can't get any peace"

Realistically I'm not even close to being 100% occupied with work during the work day. Maybe some people can do it, but none of the ones I know. But it's just an idea - not everyone behaves the same. If you hate distractions, I wouldn't recommend it to you.

But yeah, for me that's just organic chat about anything when people are not deep into some task, group lunch, some tech chat about a "new thing", etc.

Average person paid to work 8 hours probably spends half of that time on browsing internet, so there's little loss.

Various groups of engineers from my team and adjacent teams eat lunch together pretty much every day.

Even ignoring lunch, we all still take plenty of breaks throughout the day to decompress, stretch, walk, grab snacks, make coffee, and so on - during each of which we have ample opportunity to chat with the folks around the office. We chat about our weekends and common interests, as well as misc tech topics that may or may not be relevant to the job. Once a week we actually have a scheduled coffee chat for the whole team.

I couldn’t work at a place that didn’t accept these sorts of interactions as a normal part of work life. No one does eight hours of heads-down work every day, unless they’re actually at work 10+ hour days every day.

Since you already have coding experience and your foot in the door at a tech company, my suggestion is to look for a lateral move(either internal or external). Something that allows you to leverage your current skill set. I would suggest looking into roles such as: customer success, account management, technical consulting (sales), or support.

As for college, I can only speak to my personal experience. I went to college at 26 and regret it. I often refer to it as my ‘lost years’

I never wanted a desk job, but health and economics said otherwise. I did ease into it over several years and have gotten more used to it. It took a few years to get used to less "people time". Going from working on two to five man crews to sitting in an office by myself did weird (and not good weird) things to my head. It didn't help that I tried sales for the first year or so and that was emphatically not a good fit. That's a long ramble, just saying I've been there. Since you have the GI bill it might be worth trying something else. Or perhaps you are like me and want something else once you master the challenge in front of you.

Check out land surveying. Haven't done it but it looks interesting from the outside, good mix of inside research and outside work.

Another reply mentioned engineering. I met a man who had been a site engineer, responsible to make sure construction projects were accomplished according to plan.

When you find the answer we'd love to hear.

Surveying has become increasingly computerized, so your software experience could be very useful. You would need to take a university course to become a registered surveyor. The earnings are good as well.

From second hand experience, software experience is very helpful for automating parts of land surveying. The licensing is a pain though.

The university is part of the reason I have not done more than look in from the outside. With no credits at this point and a life and family to support it isn't a great time for a change.

> which grants me 4 free years of tuition at any public university in the country

I would consider using it. That would put you around a lot of people on a regular basis that are younger than you that can learn from your experience. More connections is a good thing. You don't really know your co-workers. That is why they are great but they ARENT KEEPING YOU HAPPY.

If you have enough resources to survive, I suggest going back to university.

I agree here that school seems great. You might find out you hate it more and be able to come back to your job (or a similar one) with no real loss due to the GI bill. More likely, you will spark some passions and learn more about what you want to do.

Either way, I think gaining the perspective you have gained is great. There's probably far more jobs you don't want to do than jobs you do want to do, so finding out you don't like a job is not just normal/healthy but also very likely. Don't feel like you don't have any prospects, being critical is good and you just need to try more things (which school will help you do).

There’s nothing wrong with you.

It’s hard for me to sit in front of a computer for 8 hours straight. I feel restless. I’m most alive when running, outside, or generally out and about. Work from home is particularly hard, never leaving the house. I really want to be with people, working with them, side by side.

I’m not saying it doesn’t have things I like. And I do get engaged with fun technical work. I’ve coded since I was a kid. Sometimes I go on a coding tear on a fun problem. But I miss the “computer lab” from high school - friends sitting side by side working on hard problems, one-upping each other.

I don’t have a silver bullet but some things that help me

* I have a local network of friends and make a point to get together

* I try and travel for work to connect with colleagues

* I pair-program a lot with coworkers, which recreates a lot of the “bonding” of being side by side working through a problem together.

* consider whether your problem is more to do with team culture and not the profession per-se. Companies range wildly in how they operate.

* what drove you forward when learning to code? Can you find what motivated you and find work close to that drive?

But I really am empathetic to your situation. And don’t hesitate to ping me (my website in my profile has contact info) if you're interested in a chat.

I think your appraisal is totally reasonable. I used to work as a software engineer. I really enjoy programming, but needed more variation in my day-to-day. I ended up deciding to get a PhD in computer science and am now doing a postdoc where I'm on the faculty of a math department, where I teach one course per semester. My time is split evenly between doing research (which is a mix of programming and working problems out with people on the board or on paper), teaching (which involves class prep, lecturing, grading, hosting office hours, etc.), and mentoring (advising undergrads and master's students on projects). I love that my day is more balanced now. I have way more energy for programming when I can choose to do it from between 0 and 8 hours a day.

This isn't to say that you would enjoy the same career, only that moving from programming to something "programming adjacent" was absolutely the right move for me. I make much less money, but my philosophy has always been that it's better to find a job that I'll be happy with in the long run instead of feeling the constant need to FIRE or something else.

One thing you should keep in mind is that as you advance in the industry, you shouldn't need to spend every day programming. You can move into management. But the job remains pretty sedentary.

I always thought becoming a nurse or a physician's assistant (PA) seemed interesting. (Or a doctor if you can handle the long-term commitment.) Depending on the type of unit you find yourself in, the work can be physically demanding. People who do this kind of work appreciate people who are timely, reliable, and orderly. They also especially appreciate people who are physically strong. The work can be demanding and interesting and pays well. There is a decent amount of socializing, but it doesn't have to be all the time.

You don't mention what skills you acquired during your active service. So I'm taking a wild shot.

Most areas of engineering also depend upon control systems and software. Have you looked at project / site engineering as an option? Depending upon your interests you could train in chemical, mechanical, environmental or electrical engineering area. Then look for field work. In my experience working on large projects gives you the added satisfaction of being able to say you contributed to the creation of specific projects.

Whenever I drive past a power station, sub-station, microwave tower that I worked on, I feel a sense of accomplishment.

I can't tell you what will work for you, but your question resonated with me. I can tell you where I am at. In my case I knew already in high school that CS came easy to me and would pay well. So naturally, I majored in... Civil Engineering. My immature little brain got something right and made me try something different (more concrete, if you will).

It was a detour that I am glad I took. Along the way I encountered so many cool areas of applied maths: control theory, fluid dynamics, thermodynamics, finite element analysis, dispersion modelling, oceanography, the list goes on.

Ironically, these days, I'm still spending most days programming. But I am careful about what I work on.

First, the software is always a tool. People may use it to limit the impact of a flood, to warn each other about fires, or just to plan a fishing trip. I write software with real applications for the physical world, not just some self-serving engagement metric.

Second, I write software with an applied maths component. This is obviously a personal bias, but I like these sorts of problems. There are lots of smart people out there that are worth learning from. I am much happier at the end of the day if I have mastered some new concept in control theory than if I learn some new frontend framework. To each their own.

To summarise, I still write code, but I figured out what applications make me happy and motivated.

Based on your post I would suggest tech sales (sometimes called presales engineering or consulting).

You might be able to apply directly or you could try one of the bootcamp type programs they have around[0]. Try not to spend too much money on one (preferably zero).

Fortunately tech sales pays about the same as dev work, in some cases even more.

Whatever you choose good luck!

[0] https://bravado.co/lp/learn/techsalesu/

Have you considered working at any of the national labs (LLNL, LANL, ORNL, etc.)? When I worked there I knew a lot of former armed forces members who had learned interesting scientific or technical specialties. It’s just an idea, in case it piques your interest. Most of the labs would be happy to have a motivated employee who is also interested in concurrently getting a college degree. PM me if you’re interested and I can try to provide more detail.

Possible options if you want something more physical:

- A trade/construction job

- Engineer

- Vehicle Mechanic

- Pilot

- Diver

- Coastguard

- Firefighter

- Outdoor activities instructor

- Physical therapist

- Driving/motorcycle instructor

Also, if you don’t want to be a stand up or a PT have you thought about becoming a comedy club owner or gym owner?

Have you heard of coworking spaces? N people from N different companies (typically their own startups) come together in a cheap space to share cheaper fixed costs, and in the process, network. You don’t have to be from a startup. I’ve worked with everybody from governmental aides to journalists to video game devs. The spaces tend to be open with work done at long conference tables in modern open floor plans. Look: cubicles are for cattle. If your job will let you, skip that shit. If it doesn’t, chances are you haven’t found the right employer.

You could also become a digital nomad. The easy way is to just fuck off and leave the States (I assume bc GI bill ref). You can tramp around EU for 90 days without getting deported, no questions asked. If after 90 days you’re still unsatisfied, you could move onto Asia. The cost of living in EU is far cheaper than it is here, so if you can manage to just stash your stuff in a Pod for awhile, you’ll basically be on the level cost wise.

Why do this? You can keep the lucrative job (assuming you can find a good place to take meetings). You can force yourself to meet new people, you can absorb culture, and you can probably find a coworking/coffee shop in most cities.

Kinesiology: This field involves the study of human movement and physical activity, and could lead to careers such as personal trainer, fitness instructor, or physical therapist.

Social work: If you are interested in helping others and making a positive impact in your community, you might consider studying social work. This field involves working with individuals, families, and communities to promote social justice and help people overcome challenges.

Education: If you enjoy working with others and helping them learn and grow, you might consider studying education. This field involves teaching and working with students at various levels, from early childhood to higher education.

Healthcare: If you enjoy interacting with people and have strong organizational skills, you might consider studying a field in healthcare, such as nursing or medical assisting. These fields involve working with patients and providing support to healthcare professionals.

(I had a discussion with ChatGPT about your questions, and this was what we ended up with for study suggestions)

If I wanted to read answers by bots I'd go to Reddit. Stop with the stupidity of GPT bullshit here.

Here are a few ideas.

If sitting down is bad, and I agree that it is, what about a stand-up desk or a treadmill desk or just getting up every 30 to 60 minutes to walk around?

If being alone is the problem, then what about switching into a role like professional services, customer support, sales engineering, etc. where you're technical but you're working with customers?

What do you like about coding? Building the whole project or the key parts?

You can move towards management if you get the big picture and only code things you like.

One of my managers in the past would attend meetings all day and strategize. If he found a project he liked, he'd delegate someone to attend his meetings.

He figured out a way to keep himself sane.

> You can move towards management if you get the big picture and only code things you like.

This is terrible advice.

you hate X but somehow you can be successful in leading, motivating, mentoring, and developing people who do X all day.

This is the cancer that infected big tech. A class of professional managers who provide little to no value but don’t want to leave because the grift is so easy.

In my career, the big cancer has been decent engineers thinking they're good managers and end up making everyone up and down the chain miserable because all they know is a command-and-control style managing, or passive-aggressive style managing where the reports don't necessarily know they're being left on the line to dry.

It has been super rare for me to see managers who are just filling a position and grifting. Perhaps the only time was at a large defense contractor where I interned in college.

Dudes a coder who doesn't want to sit at a box all day. I didn't go into programming because it just feels boring doing what he said.

Management allows you to control what you want to work on. OP wants enjoyment. Control provides it.

In fact OP would be the total opposite of normal management.

I'd say your mentality is toxic. People who can't code can ideate. You don't need to know X to be able to lead X. Many programmers actually suck at thinking outside the box and I'd sit on calls where nobody could figure it out. A business manager articulats the problem and it's solved in an hour.

> Management allows you to control what you want to work on. OP wants enjoyment. Control provides it.

Not true. You can set direction and vision only to the extent they align with your company and leaderships goals. If you fundamentally can’t stand what your subordinates do, I doubt you can successfully influence other leaders let alone be one yourself.

Thinking that being a manager will give you “control” couldnt be further from truth. Going into the role seeking control will have disastrous consequences, if not for you, then the people who you “control”. You have far less control and you need to motivate people to properly deliver on the thing which in this case you seem to despise.

> I'd say your mentality is toxic.

Attacking me personally doesn’t validate your argument and does opposite. Leave emotions out and stick with merits of your perspective. Thanks.

You can replace that to say that mentality is toxic. Not an attack on you, just a way of conversation. Dialects and attitudes across the world differ. When I say you, in that context, I'm critiquing your claim, as I don't know you personally.

Your definition of control is different and conformist.

Management control their own destiny. Coder's don't in a business.

If your manager calls you have to answer. If you call them they can ignore it.

Your response is in the sense of the business growth. I'm speaking to your and your coworkers sanity.

I'm referring to having a job where you enjoy what you do. Your response suggests goals of fulfilling someone else's dreams which OP didn't suggest. He was referring to his own QOL.

> Management control their own destiny. Coder's don't in a business.

Execs control destiny. Mid level managers can influence direction and provide a strategic and tactical vision on how to get there, but they have little control.

> If your manager calls you have to answer. If you call them they can ignore it.

”I’m not good at X so better to control people who do X because that somehow lets me have a better quality of life and people will have to bow to me.”

Hallmarks of an incompetent manager who is way in over their head. I question if I want this person as an IC, unless I can fit them into a role where they sit in a corner and can provide value while leaving everyone else alone. That attitude has potential to bring down an entire team.

> You don't need to know X to be able to lead X

I think the point is that you do.

> I'd sit on calls where nobody could figure it out. A business manager articulats the problem and it's solved in an hour

You'd have to define "thinking outside the box" - if you are suggesting that most programmers aren't creative I'd say you have no clue about most programmers. If its a call about a technical problem - no chance. But a random BA still isn't a tech manager.

Toxic. Rethink this. I had this mentality and it hindered me significantly. Now I listen too the worst idea and I've grown personally and professionally more than ever.

> Toxic. Rethink this.

This is the second time someone disagrees with your view, provides a well written response, and you respond back with a personal attack.

I can try to steel man the other side of the argument, even though I disagree with it. nothing in your comment is a coherent, reasonable response to the op.

I’m not a gate keeper of this community but please share nuanced ideas to defend your view point. For the second time now, stop the personal attacks.

> I've grown personally and professionally more than ever

according to who? yourself?

Maybe you haven't grown, maybe your self assessment skill is just poor?

Dude learning to work in teams is the only way to grow.

You can only be so good on your own.

Im relating it to my pay and happiness. Realizing your team is amazing is liberating.

that response has nothing to do with the thread. What has has "learning to work in teams" got to do with it?

OC literally said a manager who can't code is evil.

By OC, you’re probably referring to me. I never wrote this anywhere.

So in addition to personal attacks, you’re using straw man defense.

This is the cancer that infected big tech. A class of professional managers who provide little to no value but don’t want to leave because the grift is so easy.


Also green accounts are triggered.

Tough one, I feel you.

Maybe pivot into IT work that involves more physical activities and social factors? Network engineering possibly? I imagine they move around more. Or ethical hacking. It sometimes includes physical pentests and social engineering. Maybe even IT management? Use that study voucher for it and return as the boss of geeks.

Being able to code is quite valuable so I would look into leveraging that.

If you're earning well right now maybe take some of that money and pay someone to help. People who know what kind of jobs are out there. Get a full assessment of your personality and skills. Are there agencies for this? Just spitballing here.

Lastly, try and see whether you already know deep down what you _really_ want but are too afraid to admit to yourself. That happens a lot.

I don't work in tech btw, so I have no idea what I'm talking about. Just a brainstorming session.

Solutions engineer Sales Engineer Support engineer Technical account manager Consultant Etc

Things that are not 'just dev'.

Entrepreneurship is difficult but doable esp if you have the right personality type.

Ultimately you will have to figure out something you can do and either like doing or can tolerate doing.

I never have, usually get bored, etc.

Agree with others here that you should check out Sales, Sales Eng, or Product roles. You can make quite a bit more money than a lot of engineers if you do well with sales, particularly as someone who deeply understands tech that they're selling.

Military experience could actually be somewhat relevant for sales, and the courageous kind of attitude ("I'll perform well and make it work regardless") is pretty much the main requirement.

Starting in Sales Eng could be a good way to get to know a particular Sales team and get them to know you, quickly see what its really like to be a seller, and then potentially work your way into a Sales role. Constantly being in the room to see how lots of different sellers work is like getting paid to do sales training, if it turns out to be interesting to you.

When it comes to school, even if the tuition is free, you're still investing a lot of time and effort. For someone who already knows how to program and has meaningful real-life people/leadership experience, my suggestion would just be to be realistic about what you want to do, what you really want to get out of school, and whether or not it's really necessary. Don't know about you, but I know people who seem to fall into the trap of making that kind of decision as a punt on making any real decisions.

Being able to show a bachelor's degree is unfortunately still a big deal for a lot of hiring managers, but "going to school" is also not really a binary decision; there are ways to very quickly test out of a ton of classes and get a bachelor's degree from a lesser known school, if the key rationale would be to just stamp your card. Also keep in mind that typically, Sales and Software Eng are two of the best examples of roles where being self-educated/naturally talented makes it very easy for everyone to overlook the lack of a degree... if you turn out to be kind of a natural fit in sales, AND already know how to program... having a degree probably isn't make or break for you. Learning and giving yourself room to explore can be very satisfying in its own way, but that could also just be stuff you get paid to do in a new role.

Thanks for taking the time to lay out your situation so clearly.

Based on what you've said, three immediate questions spring up to me:

1. Do you have any non-career goals you would like to pursue? If so, it might be a great opportunity to drop down to part-time and explore those.

2. Are you curious about other roles within the software world? Developing software is only one part of the supply chain and every link is interesting in its own right. Exploring is a career-enriching move that gives you exposure to other styles of work.

3. Have you considered consulting work of some kind? Consulting is far more people-oriented, but you still get plenty of chances to do deep work. It could be an interesting career pivot if you're that way inclined.

We've all been there. By all means, take advantage of the GI bill, at least for a couple of years, while you are figuring this out. But I'm afraid you'll find that no matter what career you choose, you'll eventually end up feeling this way at some point.

The coding jobs I've had which I enjoyed the most was where I had a good team which was in competition with another good team, either at the same company or at different companies. Think how boring football would be without the element of competition. If they payed you to just carry a football up and down the field for 8 hours a day, how boring would that be?

Get some frenemies :-)

Have you considered joining a VFW or other vet centric org? I know a lot of vets who struggle with similar issues, some of them looking for physical work, some of them needing adrenaline, but finding out what they do might help you narrow it down. Nothing in civilian life will be the same as that so you need to be cognizant. Also, a lot of jobs involve sitting in front of a computer screen, alone. So whatever you do, you may want to bear that in mind, and accordingly choose your next path based on the physical aspect of the job. Hope you get it figured out, good luck.

> It's simply the nature of the job, I'm certain I'd feel similar with almost any desk job where I toil in front of a screen day in and day out.

This leads me to believe a lateral move to something coding-adjacent wouldn't bring you fulfillment. Perhaps carpentry OP? After all, every software engineer eventually turns to carpentry at some point, or so it would seem :P

i have gone through something similar. love programming but have trouble with the regular 9-5 office job.

things that made it better mainly was working in a team, pair programming, working for multiple customers at once (with regular visits to each customers office, so i'd switch focus and people to interact with frequently), do freelance, work from home, travel as a digital nomad.

also having a family helps, as that provides social interaction that i can't find on my own.

essentially i have been and still am searching for the ideal work/life balance. one key thing was to figure out what kind of activities allow me to relax and gain energy, and find a way to integrate those into my life.

I don't think it's the work, it's a lack of purpose or connection to people that you're lacking. Ever consider doing some volunteer activities?

Do not worry. You are self taught by others through their work.

Everything we use is made by someone else, you just trained yourself because you could not find a mentor, so you found many.

Good luck.

I suggest TIS-100 to learn coding again and to make it more fun. Coding is a lot of fun, and the language in that game is great.


Have you ever considered buying a farm to have physical sanity, and program as freelancer or just for fun for your intellectual sanity?

I love programming but it would have to be a special job for me to enjoy it.

I find modern corporate software development tends to take the fun out of it.

I once heavily considered becoming a Surveyor for similar reasons. Uses math + computer skills, but you get to spend time outdoors.

Have you thought about product management?

The coding experience cam help, and it provides more opportunities for being around people.

Sales Engineer or Solutions Architect.

therapist before any drastic changes, talk it through with someone you’re paying to be there and therefore will get real feedback from, find your blind spots

Consider looking into:

- product management

- developer relations

- sales engineering

Applications are open for YC Winter 2024

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact