Not sure what to do

Hello,

I am having a panic attack. So I found a remote web dev job back in July. It was supposed to be more of a front end junior “internship” for people who are new or in college but since it is remote I have gotten pretty much zero mentoring from my boss. I ran into struggles but managed to get things done in a reasonable amount of time. The issues being handed to me have gotten harder and harder, moving away from front end work (which is what I want to do) to mixing back end work into it, to actually editing stored procedures in the database.

Today I log in and see that he assigned me something for a website I haven’t worked on before, that uses Three.js, which until 30 minutes ago I didn’t even know what it was. Its a 3d rendering library or something way way beyond my skill level or anything I ever wanted to learn especially for this “internship”.

How do I tell him that this is not at all what I imagined or wanted out of this position? It is way beyond what I am capable of.

Update: work on the projects halted at the request of the client. I am mostly out of work now as the hours have dwindled down to nothing.

2 Likes

I’m not the person to give advice on telling him that you aren’t capable of it, but I will say there is a lot of this in the developer world.

That is, seeing something you have no idea how to do and then you’re expected to learn it. Why not jump in and start figuring it out? Best case scenario you come out the other side with a whole new technology under your belt.

3 Likes

I know the feeling. I felt incredibly overwhelmed and panicky trying to learn React when I started 3 days ago (and ~25 hours later).

I searched for documentation, walked through three tutorials (two on React website and one from an external source) then asked questions both here and on the DevCord discord to help fill in the blanks. Now I’m not an expert but am far more confident that I’m not as lost as I was.

Presuming you don’t think learning it is outside the scope of your job, I would tackle it just like anything else. Break it up into what you know and don’t, then break up the latter into what you need to learn and just start. The good news is if you come out if it knowing much more about any of those technologies all of it will look good on a resume and ultimately translate to more $ down the road.

2 Likes

If it were me, I would suggest to stick it out as long as your “internship” lasts.

To put things in perspective I was thrown into a role at my organization where I was expected to fix propriety applications that were 20+ years old and barely had any documentation to it. It wasn’t like I could do a search on Google or Bing and find my answer. I had to literally hunt down people who were devs on those applications decades ago or non-technical folks who would tell me to ask the support group… which happened to be my group.

Yet, I’m still here and I was able to figure out how those near impossible problems. The key really is to never, ever give up.

4 Likes

Just be upfront with them. Being remote does not excuse having no mentorship.

Suggest to them that you would be better able to tackle the project if you could pair program with one of the mid/seniors using something like VS code live sharing, or simple screen sharing.

Other than that you may just have to say, while three.js looks really interesting and you’re definitely going to explore it on your own time, you don’t think you’ll be able to ramp up on it and be productive with 15hrs per week unless they are willing to give you time (non-billable) to learn it.

How big is the three.js task?

2 Likes

First, I can’t blame you for finding Three.js complicated. Most people would. Using a 3D graphics library requires an understanding of: the XYZ coordinate space (which isn’t really covered in math classes until college), basic linear algebra, and how 3D graphics is represented on the computer (camera, scene, lighting, etc)—although that last part should be expected for anyone who’s at least played a 3D game. Heck, I definitely wouldn’t know how to use Three.js myself if I hadn’t taken a computer graphics course in college for my CS degree, where we used OpenGL.

That said, it’s not impossible stuff to learn, and I’d consider Three.js to be certifiably “front-end development” since there’s nothing back-end about it. Also, in the real world, it’s completely reasonable for a client that you work for, or company that you work at, to want to use 3D graphics somewhere. You won’t necessarily be working with simple 2D graphics all the time, and you’ll run into new challenges frequently.

Also, unless your goal is UI/UX/design, knowing how to use something like Three.js is a reasonable expectation for front-end development. “Front-end” covers a wide spectrum of sub-topics today and is no longer even just Angular/React/Vue. If your goal is to be a master of front-end, you should know at least a little bit of everything front-end, from Angular/React/Vue, to animation (via CSS, SVG, and 3D), and other related topics like UX and accessibility, performance, testing, etc.

I’d recommend taking the opportunity to learn how to do it, and not counting it as “work” time, but rather personal study time, especially if this is for a part-time job where you have more spare time than you would for a full-time job.

  1. Ask for help and or guidance if you need it.
  2. Take this as an opportunity to learn, if this really is an “internship” I’d consider it a blessing to be dumped loads of different kinds of work. You could easily be pushing excel cells, or making copies. Glad to hear you have hit struggles, but have been able to get things done still.
  3. If you REALLY REALLY can’t do it, tell your boss, but you should REALLY REALLY try to do it before giving up. Three.js is not a “simple” thing, so don’t expect it to be.

Don’t freak out if you don’t know something, or feel over your head. Take your time, walk around a bit, clear your mind and start tackling the problem. Regardless of what the problem is, as a developer you should be able to take a large problem and break it down, bit by bit, requirement by requirement, eventually down to function to function, line to line.

Goodluck and let us know how it all goes, and don’t forget not everyone gets the opportunity to dive into new and interesting problems haha. :slight_smile:

2 Likes

Hey Justin,

Unfortunately, I had the exact same experience at one of my first agency jobs. On my very first day I got thrown in deep and was told to fix an old site that was completely compromised by malware and who knows what sorts of viruses. I spent a good couple of days frantically trying to figure things out. Worst of all, the mentors who were supposed to be assigned to me just kept saying “hmm, that’s weird, I don’t really know what’s going on”… After a week or so, I thought I had it cleaned, so I handed it back to the client… and then just a few days later the virus came back again! :frowning:

Needless to say, that wasn’t the only case. I tried to explain many, many, MANY times that I was a front end developer (I had only just gotten my FCC cert) - but that didn’t stop my colleagues assigning backend work to me. It was seriously stressful and I basically had to learn AngularJS overnight, MYSQL, Node JS all over a weekend. I asked anyone and everyone for help, I asked a ton of n00b questions, I even looked on Upwork to find a mentor for a couple of weeks!

No matter what the task, you will have many moments in your working career where you simply need to bite the bullet and level up. Do whatever it takes. Invest in yourself, pay for help from mentors if you need to. I think there comes a time at all jobs where your manager pushes you to see where your strengths and weaknesses lie … I hope you can see that this test, while difficult to do and regardless if you fail, will definitely make you a better programmer in the long run.

My coworkers who were meant to be “mentors” completely hung me out to dry and unfortunately, the job didn’t last more than a few months. I just couldn’t keep up and felt completely overwhelmed - plus the support I was getting was frustrating because they would never give me more than a few minutes of their time.

Agency work is fast paced, that’s for sure! It’s a double edged sword because you do get exposed to a lot of cool stuff, but it definitely comes at a price. Spending late nights and weekends levelling up is exhausting.

Now the good news …

Yes I did learn a ton … and while I definitely did not retain everything I learned, simply cause I was under so much stress at the time, at least I could say that I had some experience on “commercial” full stack applications. I learned how to parse through thousands of lines of codes over hundreds of files, and debunk folder structures. I understood some basics with data management and environment variables. I learned AngularJS which was a gateway to Vue and React. I did templating with PHP and WordPress and built dynamic websites. After that job I freshened up my resume, and got back out there.

I hope you can find some good out of what you’re doing - the best thing to do is to journal your days so you can look back and explain what you did at your next job interview.

One year later and now I work for a software company and have a much more relaxed work environment where learning on the job is encouraged. Team mates look out for each other and we have bi-weekly standups as well as peer to peer code reviews which help so much.

I hope you can take away some good skills from your work, and I hope it doesn’t discourage you too much. If you burn out, then simply quit and move on. Don’t settle for learning some old tech or random programming language at company X if it’s not what makes you happy, and especially if you’re coworkers aren’t there to help - regardless of the salary! Be sure in interviews to ask hard questions about this :slight_smile:

Awesome question btw!

9 Likes

I just wanted to add to some really awesome answers out there that getting used to being confused is the most important way to become full fledged in this field. But more importantly getting a thicker skin.

Everyone sucks at one point, everyone needs to get past roadblocks at one point. But the worst thing you can do to yourself is NOT push yourself.

I am transitioning back into programming after a 20 year stint as an artist. I made a very courageous, in some aspects, foolish decision to leave my stable 55K job to pursue this field.

You can also say, and this is my point, that I’ve outgrown the position as I started using python on the job to recurse through a dynamic directory of images, resize, and rename. However, the company was not interested in forstering this ability. I left a few months after and my one year goal is to prove them, and at times myself, wrong.

So OP, The code is meaningless now, but that’s now. Learn and don’t be afraid to not know. Only be afraid if you already know and are comfortable staying there forever.

Let them know that you are inexperienced with this technology, and if they had a specific timeline to complete the project you would understand if it’s re-assigned. If you have an interest in learning it, let them know that you are willing to research and learn the technology, if they are willing to give you a little ramp up time. That’s my two cents. Be open and honest, show them you are willing to do the work if they’re willing to perhaps build in a little self-education time.

Don’t be afraid to be honest with the man. In today’s world people say “there’s no try, just do.” That’s just positive attitude garbage. Don’t get me wrong, you need a positive attitude to move forward, but in the adult working world you need something more – TRUST.

Be positive in telling him that you are sure that you can learn what’s needed to get the job done (this shows confidence in your abilities to learn something new.), but you can’t commit to a deadline at this point. Tell him the languages/libraries that you’ll need to learn, and that you would like to do this learning on the clock (I hope this is a paid internship) since it’s beyond the scope of what you thought you were hired for. (Intern jobs are meant to be learning experiences, so you need to take an attitude of not demanding anything. Also remember that whatever skills you take from this job will benefit you in the future). End on a positive – I appreciate the new challenge, and I can learn whatever I need to, but I don’t know enough to even give you a good timeline on this project.

You’ll gt a lot farther in your career if people can trust what you tell them up front, rather than making excuses on the back end for your failure. It’s called under-committing and over-delivering. People are never disappointed by what actually happens, they are disappointed when what they expect doesn’t happen.

1 Like

Sr. Dev here. So what you do is the best you can. Read the framework, look at a few simple examples and change what you have to to get it out the door. Agency work sucks for deadlines but it is decent steady $.

At the end of the day, very little matters, only it works well enough to pass QA and it is off your desk.

I’m running into this problem too. I had a short experience developing in React then suddenly i got a job as Angular developer in a growing startup. The man who hired me said that i’d have mentoring and they would teach me and i’d learn if i tried hard. I stay here more than 12 hours a day and learn nothing yet, just 3 weeks but i dont know what i am doing here. There is no mentoring at all, just a few minutes of conversation and no explaining for how to do what they expect to me to. The code is full of workarounds made by a specialist with more than 15 years of experience and i have to discover these hacks by myself. Think that am wasting my time here. Bad code, bad mentoring. I dont care for money right now, prefer to work for free and learn a little about Angular and Node. Firebase is full of workarounds too.