Not sure what to do

Not sure what to do
0

#1

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 (I never figured out how to do it nor do I want to).

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. I just wanted to design and make the front end of websites so I had something to show bigger companies on my portfolio…


#2

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

I don’t even know where to begin. The app is PHP/Laravel and 3d renderings of things with three.js. The main.js file is 1500 lines of code drawing and rendering things on the page with no comments explaining anything. This is literally my worst nightmare. I got into web development mostly because I enjoy designing UI and stuff. Anything math heavy or feeling like I have to decipher ancient hieroglyphs to understand it is hell.


#4

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.


#5

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.


#6

Well I am only allowed to work 15 hours a week so not sure how I am ever going to figure it out with that little time. This isn’t a restriction from the employer, rather the client because he doesn’t want to be billed something outrageous every week so I guess nothing will get done either.


#7

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?


#8

I wouldn’t be able to tell you how big the task is because I can’t even wrap my head around how three.js works. There’s a bunch of issues on the board so if I figured this one out I would be given another…and another. The site has a lot of interactive 3d models that you can move around in 3d space and add things to it and run a simulation. I have no idea how any of it works. Its like video game code with coordinates and all kinds of crazy stuff I have never seen before.


#9

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.


#10
  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:


#11

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!


#12

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.


#13

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.


#14

I appreciate everyones responses. I am going to trudge through tutorial after tutorial until some of it makes sense enough to me to open up the clients app without having a panic attack. We will see where it goes.


#15

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.