How to transition to a front end role if you've already have experience in programming?

Hello there!

I have a question regarding transitioning to a new role. I have been a test automation engineer for more than 2+ years and I have extensive knowledge in using Python and the basics of C#. I built systems that automate the testing process of various application (GUI, Front End, DB and Back end) using Python.

I am reaching a point where I feel I am not more passionate anymore about working as a tester or in automation roles. Honestly, I am starting to find it really boring. I have been experimenting the past months learning different tools and I have a lot of joy in creating web applications and I am convinced I would like to transition to a more front end role and in the future maybe full stack.

My questions are:

  • How different is JavaScript compared to Python and C#? Does it take a long time to learn it? I know the basics of the JS but not the ES6 concepts.
  • What framework is more suitable to learn after learning JS? Both Vue and React are often asked in my city so I would like to focus on one of them.
  • Is the FCC curriculum sufficient enough to get a job and do the projects? Or do I also have to complement it with other sources?
  • What steps can I take now to increase my chances of getting a job as a front-end developer?
  • Should I drink a cappuccino or a latte macchiato when programming?

If needed, here is my current stack/tools I am using. :

  • HTML, CSS
  • Python, C#, Basic Vanilla JS
  • Docker, Jenkins, Azure DevOps
  • Git, Gitlab, Github
  • Cypress, Selenium
  • NoSQL
  • JIRA

Close to 1-to-1 mapping with much Python stuff at this point in time, many of the ES6 additions are things that already existed in Python.

Further to that, if you wanted to look at it, Typescript can emulate C# very closely (though you wouldn’t do that in practice most of the time), but has an (IMO) better type system – JS is not generally written in a classical OO style, so concepts don’t map directly, but you get interfaces, which are so vital to C#. Guy who created C# created Typescript, so you’ll find similarities all.over the place.

Much of a muchness. React you get less out of the box, but much more heavily used and closer to just JS (+ has a very small API) if you remember that JSX is just a way of writing JS function calls in an XML syntax that looks like HTML.

Definitely complement it with other sources. In particular, the React curriculum was written quite a while ago: it’s still applicable, but React has moved on a bit since then.

You’ve seem to have a pretty good foundation to build on from the tech you’ve listed. Can you approach one or more of the developers where you work to see what they advise focussing on?

Cappuccino seems a bit small, you’ll be done with it in a minute or so, need a mug full of caffeine. Also need equipment to make either when working from home, filter coffee just seems easier all round :man_shrugging:t3:

1 Like

Thanks for the reply.

Close to 1-to-1 mapping with much Python stuff at this point in time, many of the ES6 additions are things that already existed in Python.

If that’s the case then learning the new concepts shouldn’t be too difficult.

You’ve seem to have a pretty good foundation to build on from the tech you’ve listed. Can you approach one or more of the developers where you work to see what they advise focussing on?

Unfortunately, I can’t. I work for a small organization that is specialized in only test automation and dev-ops-related stuff. There is none who has experience in working in front-end.

Much of a muchness. React you get less out of the box, but much more heavily used and closer to just JS (+ has a very small API) if you remember that JSX is just a way of writing JS function calls in an XML syntax that looks like HTML.

Is Vue similar in this context or does it work in a different way?

You’ll pick it up fairly quickly. JavaScript has some quirks that you can really only learn from experience (like any other language). I’d say it is somewhere between Python and C# in terms of language characteristics. Since you have experience with C#, you might also really like TypeScript. ES6 is basic JS, so don’t think you can skip it as “extra stuff”.

I think you’ll find more learning material on React (and be able to get more help on freeCodeCamp), but it doesn’t really matter in terms of job hunting. If you show you’ve learned one quickly it shows that you can learn the other quickly.

You’ll definitely find yourself using other resources. The further you get into freeCodeCamp, the less the curriciulum will “hold you hand”. You’ll be expected to do more research, do some trial and error, and make your own decisions on how to solve problems.

Start building a project or two that will be larger and long-running. The type of things that you can build with tutorials, or as freeCodeCamp projects, are good ways to gain exposure and learn languages/frameworks. But think about a web application that you want to make: something that you’d be interested in maintaining and growing indefinitely because it’s something that you want to use.

Latte macchiato. Give yourself a break to enjoy something decadent.

2 Likes