What is The Correct Learning Path in SE or Full Stack Web Developing

Hello,

Before I write this down, I tried searching the forum but to no avail especially I want a tailored answer to my case.

I want to be a Software Engineer or a Full Stack Web Developer that is qualified to work in a Tech Giant. What is the fastest route?

My solutions:

  1. I am taking OSSU path and there is absolutely nothing wrong with it but it will take a lot of time that i cannot afford even if i study 16 h/day, 7D/week; I will still take about year and quarter and i need to work within 8 months.
  2. I was studying FCC before and I stopped because this will not qualify me to work in a tech giant.

My Experience:

  1. I made chess that could be played in multiplayer mode via local connection in java 8. (It has no bugs because i played a lot of games till the end but it does not follow any programming rules). Throughout making this program, i learned DS, OOP (afterwards), Inheritance, Polymorphism, casting, Threads, Abstraction, Interface, JavaFX, Maven, JPA, SQL (but not for chess).
  2. I learned Python, JavaScript, C, C++(pointer, list, linked list, array, arraylist…), SML, Git and I am extremly familiar with Linux Terminal as it is my primarily OS.
  3. I know FP programming from java and SML and Racket but never made an actual program before although I made a lot of Home Works about them that trained me well in FP (Recursion, Mutual Recursion, Abstraction, Tailed Recursion, currying, thunk, partial application, lexical scoping, polymorphism and hole whole lot more).

And my Questions can be rounded up to the following:

  1. Do you know any faster route that can qualify me in a FAANG (Tech Giant)?
  2. Does anyone have any advice on how to study smarter, faster or more efficiently? ( I previously mentioned that i study 16 hours a day, 7 days a week with 0 procrastination).
  3. Is OSSU the fastest & best way to go? (or for example i should pursue an actual certificate? etc.,)
  4. Is there any advice that you have that could help me?

This is an unrealistic expectation. I know that you can find some extraordinary cases of people who learn how to program so quickly and effectively that they get a dream job in under a year. These are by far the exception rather than the rule, and often rely on external factors that you can’t control.

I don’t really know anything about OSSU, but there isn’t an “actual certificate” when it comes to software development - unless you include a university degree.

2 Likes

There is no single fastest route.

But, you seem to have conflicting constraints here. Getting your first developer job is hard. You need to show that you have skills equivalent to a person with a 4 yr degree. That takes time and effort.

Some thoughts on what you have said:

Learning to code takes time. Getting a job takes time. 8 months is an unrealistic goal.

If your code is not tested, it has bugs. If your code is tested, it still has bugs, but fewer of them. If you don’t have a university degree, you need some way of demonstrating that you can write the sort of code that employers want. Employers don’t want someone who writes code that ‘does not follow any programming rules’. Employers want someone who can write code that other developers on their team can read and modify. I would consider remaking this app with the knowledge you currently have and use it to demonstrate skills that employers want, like clean, maintainable code with tests.

I would be careful saying you’ve ‘learned’ any language you haven’t used extensively. I have been writing C for 5 years. My job is writing C. I still consider myself an intermediate C developer.

If you haven’t used the idea, you don’t know the idea. See above about bugs. If you want to say you know FP, you need to use FP to build something.

Learning to code takes time. There is no cheat code to make learning to code not take time.

You probably don’t actually get 112 hours of meaningful study in every week. Probably not even 80. Take breaks. Give your mind rest. Have weekends. And build more projects.

3 Likes

Hi @Omar_Shawky !

Why does it have to be a FAANG job?

Is it the money?
Is is the prestige?
Both?

Why not work towards landing your first tech job at a non FAANG company?

Then you can work your way from there

Just curious :grinning:

3 Likes

There is options like FCC, TOP, FreeCodeCamp, Udacity, but i am afraid of consequences of taking them without having the science; many advice against such action.

Unfortunately, I understand you but this is not a goal, this is a external circumstances that i am put through.

Via projects only?

To be extremly precise, i take literally half the timestamp that OSSU provides, so for example, if the course requires 8 weeks, i literally take it in 4 weeks, ± 2 days max. I am planning to do even better, quite better, but i do not know what to do currently to enhance my learning speed.

I never considered myself a programmer at all or expert in anything, barely know the languages even java. I just wrote them so that i precisely describe my current situation but extremly thankful for you clearing the “expert” definition to me :innocent: .

I hope that i find out, at least one that can make things much simpler, faster and is much updated. of course there is something that an expert might know and can tell me that will enhance my learning somehow (just hoping).

Very sorry, I did not mean that this is a goal (as in “I want to do it deliberately”), it is a forced circumstances that i cannot circumvent. Only way out is via working ASAP.

Your goal is not reasonable and is essentially impossible. Coding is not a ‘get a job quick’ endeavor. There are no shortcuts to change this fact. The only way to get your first programming job in 8 months that I have seen work is with previous STEM experience and some sort of technical degree.

2 Likes

Indeed I am not putting you here in XY Problem, neither of all of this, money is part of the problem but FAANG is not mandatory for the materialistic purposes.

  1. I want to work in a company that has real seniors that i can learn from. I want to make a startup of my own and i need to be a 10x dev (unfortunately).
  2. I want a company that pays good salaries so that i can support a family (Not me alone).

I have a BSc. in Electrical and Communication Degree. I am extremly good at math. (I tutored even when i was a student other University students and i was very good (DO NOT MEAN TO PRAISE MYSELF AT ALL :slight_smile: ) but unfortunately, this does not serve my programming purpose.

The BSc helps. Learning at 112 hours a week with zero time off for 8 months is still wildly unrealistic, but good luck. I don’t really have much more advice since you are unwilling or unable to adjust your timeline.

1 Like

One doesn’t just become a 10x developer. IMO 10x developers don’t even exist. The concept 1 person can do more than 10 other people means those 10 other people really aren’t very productive in the first place. Any company worth their salt would see incredible lack of productivity from those 10 people and should focus on improving them, rather than trying to find a mythical being capable of building and shipping code at the productivity level of 10 other people.

Furthermore being a 10x developer doesn’t mean your startup succeeds. You could be the greatest developer the world has ever seen, and still end up in a dead-end startup losing to competition that has better resources, time, and money. You could also shoot yourself in the foot by not being the best marketer, businessperson, networker, or manager. You could also just be plain unlucky, as hard work is just a single factor in success.

9 in 10 startups crash and burn, unless you like the idea of massive risk in the face of terrible odds, I would not focus on a startup anytime soon.

I usually recommend “going backwards” from the jobs you find in your area that pay what you need. Looking at their job requirements are usually the best metric you can have. If they are asking for X, Y and Z, and you’ve used them extensively for projects A, B and C, you have a chance. However due to the timescales there simply isn’t any ways to prove yourself unless you show off hard work that shows work ready-ness by the end of your timeline, preferable including most or all the technologies asked for in the job post.

You wont have the usual required experience, so you must show you have promise by showing off projects beyond your experience level. This means production level projects hosted, deployed, and running with end users using whatever you built. This would be way beyond what the average person would have after 8~ months of learning, but its the sort of thing that would show promise. However, the reason few do this is because its usually too much to learn in that period of time, thus no one does this because no one can.

I usually say you only need 3 things, time, grit and an internet connection to learn programming. You might have the last 2, but without time, you might not have enough time to get where you want to go in that span. You could get lucky, you could also be some inherent genius, or you have some mix of the two, but you can’t rush the clock.

There are infinite things to learn, but only finite time to learn it. You can strategize and optimize all you want, but it wont replace the work put in over time. Companies know this. Hiring someone who just spend 8 months grinding 16 hours a day to build all their stuff shows promise and drive, but they will still lack experience. There is no way around that, and that assumes you get things you can show off in that time.

Ultimately, your goals might be a bridge too far. You might not be able to change your circumstance, or deadlines, but you can determine how far of a bridge you actually need, rather than trying to get there ASAP. The last thing you want is to find yourself well short of your goal with time running out. The stress you have is inherently less compared to what it will be months from now. So make use of the time you have now to understand the risk your taking, and setting your goals accordingly.

Good luck, keep learning, keep building :+1:

6 Likes

Thank you for your extreme & kind advice. Yes, i agree with you by heart, i want to be a 10x as in “i can do what requires to be done if we couldn’t find another person to do it”. No doubt that startups do not succeed because of a 10x, but startups require a very powerful inertia; I am not planning to make it fail because we did not have the skill set that we really needed it. Many Thanks again.

I see your point, I have alternatives, I can join university and that might lead to an internship; furthermore, there is GSoC even for post graduates; that is why i was asking for a simple solution because i really believe in what you are saying, 8 months is, no doubt, not enough.

That isn’t the thing i can calculate, i just use the estimated numbers and i compare them to my progress (which turned out to be similar).

Thank you for all your effort and your time Mr. Brad.

Thank you for your kind advice.

  1. Time constraint is due to an unfair (without going into details) 3-years conscription :frowning: . I cannot work or do anything in my homeland.
  2. There is no bootcamps in my country, they are very mediocre and you will really be shocked by the experience level of the tutors (mostly they are people who just graduated and did not find work yet).
  3. I am planning for an immigration (and i can) but it needs me to be able to financially provide for me and my family.
  4. FCC is simple, as i said, it was the best learning experience that i had (due to the immediate feedback mechanism in learning).
  5. Other platforms like FCC such as AppAcademy gives the promise of working after 24 weeks with salary not less than $50k but they ask for too much IMO, I do not need their resources or tutors as almost everything is free here and in OSSU and they cover lot more than they do; but they only provide the work opportunity, unlike FCC and OSSU.

My dude…all i can say is dont rush things. I dont know why you need to learn so fast but if its the money, you doing it wrong. I would focus on my skills and my understanding of topics rather than just rush to things that would trip you when you expect them least.
Learn, build and enjoy while you are doing it. Results will come, i guarentee you.

1 Like

I don’t know how AppAcademy could guarantee that, but OK. There are a lot of crazy promises out there, in this field.

Look, don’t get into coding because you think you’re going to get rich. This is going to become your life so you need to enjoy it. Yes, there are a lot of great jobs out there, but they aren’t worth it if you are miserable.

Becoming a professional dev is a long and difficult process. This is going to take years. I too had a math/engineering background with a little programming experience, and it still took me a few years. #ymmv

Don’t worry about being a 10x (if that exists - I think bosses just made that up to push coders). Don’t worry about FAANG. Just learn to code and see if you enjoy it. The best developers I know are the ones that love to code. Even if they won the lottery, they would still code on the side for fun. I’ve never met a great dev that didn’t enjoy coding.

Just learn. Just keep learning. Then build things. Learn new things then try to put them into new things that you are building. Then build things with new features as an excuse to learn new things. Having a structured program (like FCC or whatever) in the beginning is great too. That is a great start, but it’s going to be what you do after that that matters.

Stop worrying about finding the perfect path (it doesn’t exist). Stop worrying about finding the fastest path (it doesn’t exist). Just learn and build things.

4 Likes

First of all, words can never express how thankful I am to your kind words but all I can do is Thank you :).

Second, I have stated literally what are the forced circumstances out there in the comments that made me think in this way. (3.5 years of conscription + very low wages in my country + startups dreamland is US)

To be honest, I am too much of a pragmatic, I love mathematics (to the extent that I can be compared to my Prof or even surpass some of them), I mean by love that I tend reason about everything; Yet, I will never continue in that field for realistic purposes (as I do not see what being a mathematician can help me in my life). (This is not a praise to myself, I am just saying that I do not stick with what I love or what I hate)

My history with coding goes back to Sept, 2019, not a very good history because of the exerted effort that never outweighed the benefits. The reason was extremely quite simple, I was a caveman and I never knew how to reach a mentor; tried in my college to reach professors to guide me but you will be shocked by their mediocre knowledge.

Until this day, I do not have a mentor and things are already tough and will get even harder by time as I climb up the stairs.

Guess what feelings you will get from programming after all of this scenario? exactly, hatred! to be honest, I hate programming but I am still continuing to do so for pragmatic reasons as I stated. It does not matter how I feel towards it because the circumstances will worsen your suffering.

Wanting to be a 10x is just a prophylactical measure. I want to be the replacement of anyone just in case anything goes wrong or at least, I understand what they are doing.

Finally, If circumstances would’ve been different, I wouldn’t done anything different than what you stated. I really understand how wise your advice is and I would’ve advised the same.

Thank you again Mr. Kevin :slight_smile: .

in this case the resources would probably be networking, which is something you are going to miss as a self-study dev.
It may be a good choice for you as they say it’s free until you get hired (you may need to research a bit to be 100% sure)

This part of their curriculum in practice
image

1 Like

I did, particularly, I researched on LinkedIn and I found that it is popular (but almost like FCC). However, I couldn’t apply to the ISA because it requires a Green Card holder. Instead of the ISA, they want me to pay ~$20k which is too much at the moment.

I am working alternatively on this issue by self studying an entire CE BSc. (OSSU) then I will pick multiple resources to learn my Full Stack (I have Udacity content, TOP, FCC, free AppAcademy, and whole lot more).

The issue is that I lack mentor-ship, not all questions are googlable, and StackOverFlow blocks a lot of questions that “they” find opinion-biased and they only answer particular/targeted questions (and I agree with them); But sometimes there are questions that are correct but requires whole lot of effort to be answered, thus, it is left or even closed (because it is very broad although it is not).

I tried to understand where do people find mentors and the only answers that I found was either from work (via seniors) or from internships. Otherwise, I need to pay someone to mentor me and to pick him i need to be more qualified than him in order to choose or i will fall in the “never pay the lawyer by the hour” mistake.

I don’t know why so many coding learners think they need a mentor. I don’t know from where this idea comes. Is there someone out there convincing people they need a mentor? Maybe we are disagreeing about what a mentor is.

Just learn and build things. If you find someone willing to take you under their wing, great. If not, don’t worry about it.

You can also just reach out to people. Go to meetups in your area. We’re in a pandemic so maybe look for online meetups. If you find someone on linkedin from where you live with a career you admire, friend them and ask for pointers. Instead of thinking about finding one person to guide you, “crowdsource” it - get a bunch of little advice. Read blogs, watch videos, follow people you like on twitter, etc.

Just learn and build things. That should be your focus.

2 Likes
  1. Indeed, Most of the time, your solution would work, but not always. In the very basics (I mean learning tech), you will in 99.99% find the answer to your question, but as things go deeper, the percentage decreases.
  2. The mentor saves time, experience in general does, leaning on a person (in some cases) saves time, quite a lot actually, and I personally, have suffered the lack of mentor (caveman that i described before).
  3. I never though of attending any meetups neither in my nation or online because i never knew what purpose do they serve, In general, do you recommend an online meetup that I can attend?

As usual, thanks for the impeccable help :innocent: