😂😂😂 You sound like a software engineer.
Not meaning to laugh at you, but I cannot describe how not fucked you are. We do not program all day long. You sound like a completely normal software engineer.
3-4 hours, especially as a student, is fantastic. Your ability to stay productive may also increase over time.
Software engineers spend a lot of time in meetings, reading code, or doing repetitive coding tasks (like writing unit tests) that don't require a ton of mental effort.
Some days I program for 12 hours straight because I'm in "the flow", many days I struggle to stay focused for 2-3 hours. I plan my tasks depending on how my brain is going.
I'm pretty sure 3-4 hours of actual coding is normal for the average software engineer. As your skills increase you'll be surprised at how much you can do in that amount of time.
If you choose to take meds, they will definitely help you stay focused on code.
You sound like you're on your way to becoming a great software engineer!
I'd definitely recommend CodeSignal or HackerRank as fun ways to improve your skills and prepare for interviews. They gamify coding challenges and I've found them to be extremely fun and helpful.
Try to find jobs where you're interested in the tech stack and/or product, that's what will help the most if you have ADHD.
https://codesignal.com/resource/general-coding-assessment-framework/
They have some other research articles but that’s one of them. Our company started to use them too because their platform and pricing is much better than the competitors. They gave us like a 80% discount because we’re non profit.
Those are all common.
With the salary question, always turn it to be "Depends on the benefits, what range are you targeting?"
Also ask "What are you looking for in an ideal candidate?" You might not meet everything but it gives a lot of information.
Third, unless it's SUPER entry-level (like paying minimum wage entry-level), they're going to have technical questions. HackerRank and CodeSignal are two tools that can help prepare you.
When you say "no experience", do you mean no professional experience or no personal project experience? Also, do you have a degree beyond high school? A degree isn't strictly necessary, but it can help you even if it's not related.
You have many YouTube tutorials where you can get the basics down in 2-3 hrs.
After that, I would go over to sites like interviewbit.com or codesignal.com where you'll have a lot of coding tasks/puzzles along with some explanations. It's more fast tracked than codecademy.com but in my experience, these sites have better online IDE's and larger online communities for discussions. Keep in mind that a large part of the learning process is doing a lot of 'how to' searches online. for example: "How to remove white spaces in python?"
Best of luck
CodeSignal has an "arcade mode". You are given a task and a set of tests that your program should pass. After you finish the task, you can see other people's solutions (although the people often try to make as short solutions as possible so it is not always very readable).
Just throwing Code Fights in the mix. It lets you practice a ton of languages with interview-like questions and see others solutions. It's really fun and I would highly recommend.
Pro tip for CodeSignal: If you complete questions 1, 2, and 4, you are guaranteed to get above 800. To get a high score, complete questions 1, 2, and 4 in that order and then leave 3 for last.
Source: You can find score bounds in CodeSignal's whitepaper. The link is https://codesignal.com/resource/general-coding-assessment-framework/
You're NTA, but you really should educate yourself, for someone in comp sci you just listed four schools that aren't even in the top ten for computer science, according to CodeSignal's recent report and in fact there's four state schools on the list. Those schools are highly overrated in general, but particularly for computer science save MIT they're not well regarded. I saw in another comment you said you're Asian (which I suspected anyway), and this overemphasis on brand name schools is common in Asian American culture sadly.
Also, if you're paying off loans (even with the help of parents), you are definitely not better off than 95% of people our age, only about 13% of people have student loan debt. You are making a lot of money from working in FAANG, but that is because of the choices you made, plenty of people have the option to make good money early in their career if they accept some drawbacks (like working for such an amoral company).
Lastly I'd like to recommend you check out r/raisedbynarcissists, as someone who is LC with my parents and soon to be NC, I really think it's something you should look into. How your parents treated you isn't ok, that doesn't necessarily mean you should go NC but you should educate yourself and figure out what sort of relationship you might want, if you were to stay in contact with them. Setting boundaries is the first step to healing the broken trust, if it can even be healed.
> I got rejected from two sigma with an 849/850 so I'm guessing you need a perfect score.
It seems like 849 might be a perfect score based on CodeSignal's university ranking report (and since you can get 100/100 on all factors and get 849), I'm guessing it was the resume: https://codesignal.com/wp-content/uploads/2021/07/CodeSignal_2021_University_Ranking_Report.pdf
It is possible to get 850, but only 0.2% get it (see https://codesignal.com/university-ranking-report/).
Practically though, I would not consider a 850 and a 830 any different.
Ayy fellow Tigers.
Anyway, direct link so you don't have to type in your info (but tbh you can just smash your keyboard): https://codesignal.com/wp-content/uploads/2021/07/CodeSignal_2021_University_Ranking_Report.pdf.
eu programo há apenas 1 ano e meio mas tem algumas condições que facilitaram muito pra eu conseguir:
- estudei em universidade da inglaterra (NÃO na área de ciências da computação)
- abri empresa de software aqui no BR (mesmo sem saber programar. abri parar poder fazer um app e ganhar dinheiro em cima. obviamente o app deu errado mas o aprendizado e a pressão p programar (tive alguns clientes) foi o que mais me motivou pra continuar programando. usei esse app no meu portfolio e era o que eu mais falava nas entrevistas
- programei MUITO. começava o dia cedo e acabava tarde. isso ajudou muito para aprender. também fiz muitos side projects que botei no github e no CV.- fiquei mais de 6 meses fazendo entrevista.
​
a melhor dica que desencadeou tudo isso: ler cracking the tech career . foi ele que mudou meu modo de pensar. essa mulher tem tb um livro so sobre a entrevista de programacao, mas eu mais aprendi e me acostumei pra entrevistas no edabit e no codesignal
Having just finished sixth form learning primarily python I recommend taking a look at codesignal.
It gives you a ton of challenges to complete and when you complete them it allows you to view other people’s solutions which can give you ideas for more efficient ways to solve the problem. If I’m looking at someone else’s solution and I don’t understand some of the syntax, I simply google it - this helps me to build up a repertoire of commonly used elements in Python. I’ll also make a point of attempting to use newly learned methods in later challenges.
I use codesignal a lot when I’m not working on a specific project. It shouldn’t be used as a standalone way to learn - someone else suggested SoloLearn which I didn’t use for Python but I did use to learn some basic C++ stuff.
I started with Coding Bat and moved on to CodeFights which has pivoted to CodeSignal. Beyond that look for things that annoy you or things that you don't like to do. Then figure out how to automate them.
I think you guys may benefit from the regular competitions that take place on a variety of competitive programming websites.
I don't know of anything quite like that... But something you might find interesting is codesignal.com
It's mostly a site with a bunch of small coding challenges, which can be pretty interesting in their own right, but there is a slight social aspect where after you submit your own answer, you can view other people's answers, and vote on them.
https://codesignal.com/resource/general-coding-assessment-framework/
4 problems, each designed to test a different aspect of programming, each worth a certain number of points. Get all 4 and you’re guaranteed 825ish or more. It’s number of completed problems and number of/which test cases pass and a small amount is affected by speed
The score is not 300+300+300+300. They have a specific metric to calculate it based on a research paper.
Here Is a link to it.
Has a self-taught developer that works at a large tech company, the reason big tech companies don’t want generalists is because they have teams of people to handle CI, deployments, individual micro-services, etc. The DSA portion, just like anything else in computer science, it’s freely available on the internet. It really just takes practice, https://codesignal.com has a free program. The part about knowing when to use a specific algorithm, algorithms are tools and as you add more to the toolbox you start to learn what tool is best for the job. The companies that only want degrees, you don’t want to work for them anyways.
If you want to be a generalist, work for a startup. There you have to wear many hats anyways.
It's a little advanced, but I use https://codesignal.com/ I'm sure there's something like that for people still learning.
But the best practice is making stuff! Find something you do a lot and automate it. Work/School/Hobbies
I found links in your comment that were not hyperlinked:
I did the honors for you.
^delete ^| ^information ^| ^<3
codesignal.com (makes more sense after logging in)
I feel like I completely misunderstood.
You are never done with the basics unless you put them into great use and take the most advantage of them, these basics are the foundation afterall.
I would recommend you to take a look at CodeSignal. It is a great place to put the basics you learned into use and learn how to properly use them.
I would suggest you to learn by doing otherwise you will be stuck in tutorial hell where all you do is following tutorials. Start with simple programs such as a calculator, rock paper scissors, password generator, encryption system etc..
Anyone had experience taking Codesignal JavaScript Specialized Coding Assessment? I found this paper online, https://codesignal.com/wp-content/uploads/2019/05/javascript-core-assessment-framework.pdf , and the depth they go to seems a bit jarring. However, the examples seems pretty straight forward and only tests on how well you know JavaScript rather than making you solve tricky algorithm (it even mentions that the test shouldn't account for optimizations). How tricky do the questions get? Like when they are testing for if you understand promises do they only want you to just use async/promises correctly or should I expect to implement my own Promise.all()?
I used to love CodeFights, now called CodeSignal.
It's not going to help with everything, but I found it useful for getting comfortable with a language and figuring out solutions to common issues. The exercises start easy and get harder as you go.
If anyone is interested in more programming challenges like this check out CodeSignal (was CodeFights). In addition to regular code challenges they also have some directly from some tech companies as well.
hello-world
32% of professional programmers as of about 5 years ago were self-taught. If you must go the school route then Computer Science should be your major, however you should expand your knowledge base well beyond that. As a professional software developer and amateur game developer I can tell you that the competition will always be steep.
When you interview for a position expect one of the many interviews to be solely a code challenge to prove your worth. Sites like hackerrank.com and codesignal.com are two popular sites that people submit their actual interview algorithms they were tasked with to, so that others interviewing can practice ahead of time (sometimes even the same ones!).
The best thing I can tell you is make software, games or otherwise, big or small. Use your creations as a digital portfolio, per se. Degrees/Certs will get you the interview, but demonstrating your skills is what gets you the job. Most development teams avoid college grads, as they have no real-world experience. That's why you should make software on the side.
https://codesignal.com/ is a good to start, we recommended it to a few juniors were I work to practice basic programming problems (mostly related to simple algorithms). Haven't looked at the more complex ones thought.
Another great option is Codesignal, fomerly known as Codefights. They have a lot of exercises you can do right in the browser and your answer get evaluated using predefined unit tests. The most important aspects was for me that after solving an exercise you could see the solutions of everybody else and there are some really smart people. It helped my a lot when learning python.
Check out the arcade mode on CodeSignal.com. They give challenges that can be solved in many different languages including Python. The challenges are a great way to get practice with logic problem solving and I've found them very useful and also fun in a brain teaser kind of way.
Hey, I created a Gist on github for your code since reddit always messes up the formatting. I recommend it as a way to share code.
But man, I tell people all the time to send me their CS50 code. This is probably the best I've ever seen. If this is your first time programming, you'll make an amazing programmer.
There are just a few places to make things simpler or reword comments. For example, I think you meant right to left in this comment on line 98:
// the loop starts from left most digit to the right
But honestly, any "fix" you could make to your code would be a waste of time. Just keep coding! Even though coding seems more precise than most art forms, it really is an art. There are infinite metrics of perfection in code and the returns of pursuing that perfection diminish the more you spend on it.
I did CS50 about a year ago and have written thousands of lines of code since. Don't get caught up on forming bad habits. Partly because you don't appear to have many, but mainly because if you keep coding they will take care of themselves. If you keep challenging yourself, your mistakes will reveal themselves.
When I was starting I wish someone would have told me that programming is rewiring the computer, but learning programming is rewiring your brain. Don't focus on the code any more than you need to. Focus on your problem solving technique.
You should definitely check out https://codewars.com and https://codesignal.com/. And if you are looking for books, lectures, courses, project ideas, or have questions feel free to DM me again. I'd love to help accelerate someone with your potential.
Codefights used to be challenges that gave you a choice of languages. Range from beginner to I wanna die difficulties. Someone had recently bought that site out apparently. I'm not positive its the same but it may be worth checking out.
CodeSignal allows you to solve problems in Haskell, and test directly on functions instead of requiring to go through stdin/stdout like most other sites. Nothing Haskell-specific in there, but plenty of exercises at least.
Both sites have common algorithms often used in programming interviews. Pick your language(s) and start practicing.
There’s Code Signal there’s 50 challenges in the Arcade area and they are all pretty decent then you can go on from there. It’s pretty cool to compare your solutions to others and see where you could improve or what you did ‘better’.
I would recommend CodeSignal.com. The cool thing about it is that it lets you rank yourself against developers that have jobs at companies that you want to work at. It is great for beginner algorithms and gets you started early on them.
Truly though, as a beginner, I would just try learning some of the basic syntax and applying it to memory so larger concepts don't hurt so much. Anki works really well for doing this and allows you to do spaced repetition/practice on coding concepts (you take your own notes in it).
>List.from(a)..sort()
yes, that definitely looks more readable. I just tried it but unfortunately it didnt work. maybe its cause I am using dart 1.24.2 (exercises at codesignal.com). I will keep it in mind for the future though.
thank you!
Try this website https://codesignal.com. I believe you can choose python as a language. And build your own project that will require algorithms. Imo you will be more motivated practicing with your own project.