Skip to content

Instantly share code, notes, and snippets.

@kepop1
Last active August 25, 2023 09:27
Show Gist options
  • Save kepop1/fb365a6fd89196eb4e4eda7a3db8b902 to your computer and use it in GitHub Desktop.
Save kepop1/fb365a6fd89196eb4e4eda7a3db8b902 to your computer and use it in GitHub Desktop.
So you want to be a developer?

Ello πŸ‘‹

First it's absolutely fantastic that you're even considering getting into the world of development!

Secondly this is also not a path that can be taken lightly either and there's a lot of people who end up dropping out of the flow - but there's many many many more that succeed and change their careers 😁

In general the majority of developers will advise some form of the following for your journey.

Get a taster

Try some tiny courses on some resource online that tease software development.

  • Generally this is using HTML/CSS for website design and then JavaScript for programming.

    If you enjoyed HTML/CSS and not the JS then that doesn't mean you're not cut out for software development, it just means it's a hard concept that can't be covered thoroughly / comprehensively in a few online taste lessons.

    If you enjoyed all of it - then that probably means it's worth exploring it a little bit further. Some come from a background of wanting to learn software development because they want to solve a problem / develop a website from themselves. In which case the learning is a means to an end. That's also absolutely fine, just bear in mind on the job the types and kinds of problems will be limitless!

    If you enjoyed none of it - then have a think about what's motivating you to make a career change, and if software development is something you truly want. For what it's worth some people don't enjoy the journey but they love the end result. That's also fine!

Lets gooooo! πŸš€

Seeing as you enjoyed the above, now you can take on some kind of course more heavily. There's a few options here.

Note this is all collated from my own personal experiences and people that I've worked with.

1. University

Go to University. Spend 3+ years learning the basics through to the advanced theory of computer science. Some courses are more practical than others, some more mathsy that others. If you've not been to university this might something you want to do.

2. Bootcamps

Go through a Bootcamp. There's load of these and take multiple forms.

Full-time

  • Generally around 3 months and you pay a few thousand just to be there and they will train you, guide you and get you a job (hopefully) with a career services function. Generally these kind of bootcamps have a system where they know people in a company that will hire you and the bootcamp get a portion of your salary in return.

Part-time

  • Couldn't specifically say what the best part time one is as there's so many types, generally around 6 months. Some are one day a week, some are 3 evenings a week. What I will say is that generally these are more full on than you would expect. But you can still have a job, have money to feed yourself and change your career over the evenings.

Disclaimer I'm a TA at the one's I'm about to suggest but I think they're the best bang for buck.

It's around Β£7000, 13 hours a week in the evening, but it's affiliated with a university and fully remote. This means you come out not only as a developer but you have a university's credentials to pass the bullshit test with certain companies.

Bootcamps I think are probably the best route in terms of not committing to an entire life change and going to university while also making a significant investment in making a career change.

A Bootcamp makes you incredibly practical as a developer while not having all the theoretical knowledge of a unviersity student. Most companies now favour a bootcamp student over a university graduate in terms of ability to 'pick it up and start coding'.

3. Go it on your own πŸ’ͺ

This is definitely a viable choice and I've had multiple people I know go down this route. Some choose this then go down a bootcamp or others manage to go down this route and get their first junior job.

To do this you need to do a few things. You need self discipline and a drive to make the change. Bootcamps/Uni force you to deliver assignments, on your own the only one forcing you to deliver is you.

That said a rough guide I think, would be to go down the route of:

(alternative: KhanAcademy)

Specifically:

  • Responsive Web Design Certification
  • JavaScript Algorithms and Data Structures
  • Front End Development Libraries Certification

This should give you enough skills comparable to what you learn at a bootcamp (mad isn't it). Ideally a stretch goal is to do:

  • APIs and Microservices
  • Coding Interview Prep (just try a few)

This makes you the 'Full Stack Developer' from a 'certification' standpoint.

(alternative: PluralSight / Codecademy)

Same as the above but taking a full video format and potentially more interactive / hands on.


These two routes will make you a developer and should you succeed your next step is to do a few things:

  1. Have a portfolio website that you've created yourself. βœ…
  2. Have a Github profile with a few projects that you've undertaken - I'd have at least 3 relatively big 2-3 week projects (time wise). βœ…

Best case scenario you have the following:

Project 1

Using HTML / CSS / JS to create a website that communicates with at least 1 api of your choice.

Project 2

Using HTML / CSS / JS where you communicate with your own Node.JS API using your own Database like MongoDB or MySQL.

Project 3

Advanced project where you use React, HTML, CSS, JS to create a single web page application.

This should also talk to your own Node / MySQL or MongoDB backend.

Topic/Theme/Project idea wise these projects can be whatever, but just undertaking something of that size will show that you care and can actually commit to building something of a scale over a 2-3 week time period.

They also do not need to look good - if you're not a designer that's ok, just make sure everything is readable and laid out neatly.

Bonus marks:

  1. Use some kind of project tracking through Trello / Github Projects / Asana / Jira / Taiga
  2. Use some kind of design software for frontend prototype / backend architecture diagrams like Draw.io / LucidChart / Adobe XD
Stretch Goals (And absolutely not required):

Dabble with some smaller projects where you explore more niche frameworks / technologies. I say niche as they're specific - not because they're not popular and widely in use.

  1. Play about with getting one if your project hosted. Either on AWS / GCP / Azure / Heroku. This includes:

    • Setting up your own domain
    • Hosting your own API / Database
    • Hosting your own website / app
  2. React Native - take those react skills and learn a cross-platform framework that allows you to create an app in JavaScript that deploys to iOS and Android.

  3. TypeScript (TS) - have a play about with TS and get into the world of Types.

Recap β˜•

Not including the stretch goals for the following

You should be at a point where you can get in contact with recruiters / start applying for Junior Developer jobs.

Depending on your soft skills, you might be able to skip to a Junior - Mid level position if you complete all the stretch goals.


Bonus πŸš€

If you've read this far then you sure like reading πŸ‘€ ...

A few extra tidbits:

Software development isn't just about the skills you need to create great software. There's a lot to consider hollistically. Unless you're a solo freelancer, chances are you're going to be working in a team, that means other humans with complex emotions. Your soft skills are important and not something to disregard. Especially when going for a job.

Having a mentor in any role is important, but the difference a mentor can make in software development can't be understated. Even if it's a teacher. They're the people that make super annoying complex problems become reduced to 'oh it's just this thing' or 'you missed a ; here'.

Get involved in the developer community and you might find yourself a mentor in some capacity - even if it's just career advice over a pint.

If you really want your mind blowing and see how no developer ever stops learning and is never trully full stack (100% complete in either discipline) then take a look at these πŸ˜…

  1. Front End Developer Roadmap
  2. Back End Developer Roadmap

Questions or Feedback?

Leave a comment on this, and if there's anything you'd like me to update. The majority of this is collated based off personal experience and anecdotal evidence.

@hrishii07
Copy link

Hi I have read a lot from this blog thank you for sharing this information. We provide all the essential courses for professionals like Data Science Course In Jaipur , Full stack Developer, data structures courses, System design course , Python, AI and Machine Learning, Tableau, etc. for more information log in to our website https://skillslash.com/system-design-course

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment