Це відео не доступне.
Перепрошуємо.
Biggest Self-Taught Programmer Mistakes [RANT]
Вставка
- Опубліковано 30 лип 2024
- In this video I explain why you're probably stuck and not going anywhere as a self-taught programmer.
** JOIN MY GROUP **
Looking for a high-quality group of software developers where you can discuss your ideas and not be bombarded by spam? Then come join my free Facebook group! You can access it by going to: andysterkowitz.com/group
Are you making any of these mistakes? Does this help clarify anything for you?
Didn't have a certain time
Thank you so much, i will never dabble again!
My long term goal is to become a Self Taught Android Developer, Based on my research my road map is:-
1. C
2. C++
3. My SQL
4. Data Structures & Algorithms with C++ & Competitive Programming (Last goal of 2019)
5. Java (First goal of 2020)
6. Android Studio
7.Flutter
8. Design Patterns
9. Applying for Jobs in the end of 2020.
In India if you want to get employed in Google,Microsoft,Amazon these American Companies, You need strong Data Structures & Algorithms knowledge.
I am currently at the end of C. How this road map looks to you Andy I need your advice also. It will be really appreciated and helpful for me.
@@RobinSingh-ms3zt best of luck, my path is somewhat similar
The last one opens my eyes rly. Helped a lot.. but i have a question, when you feel down or unmotivated sometimes and you don't have the energy to learn, how you deal with that ?
So I have a degree in computer science and 25+ years in the industry, and this would have been good advice for me too.
Andy, when it comes to the advice you're giving, I believe it's being given from the heart and from experience, thus it's not a rant, as usual, good points to pass along, good tactics to adopt, and always inspirational.
Hey Andy, I'm a self taught developer myself and I just wanted to add on to your points about how those struggling should go about their learning.
I started back when I was 14 and what drove me was mainly the idea of having fun, there is so much that can be done on software development that is quick, low cost and super fun and interesting. I don't think that learning through strict deadlines or plans applies to everyone and I just wanted to share that.
I hope that you could maybe explore more of the fun stuff of programming as well, such as that kid on UA-cam that made a robot scream everytime it hits something!
GLHF and keep doing what you're doing, it's great!
Thanks for sharing Christopher. I’m with you on programming being fun and it’s one of many reasons why I was drawn to the field.
Great advice. I get into rabbit holes sometimes and setting a deadline is a great way to go.
I'm 2 weeks into my journey and your videos fire me up man!
Thanks for the consistent insight and motivation :)
Glad to help you on your journey! Good luck 😊
T3mpy
I am 4 years into my personal journey and I still don't have a coding job :(
I just wanted to let you know and make sure you have your expectations low...
Coding takes years, if somebody tels you they did it in 3 months, they are lying!!!
This was great Andy. Helpful as usual.
Not at all what I was expecting from the title. I was hoping to hear about some general programming strategies that self-taught programmers are most prone to.
Instead, it's general advice about career-building as a programmer - 99% of which applies to any long-term goal in life.
The content is good; the title is just somewhat misleading.
Fred
I thought the same! I have a CS degree but consider myself largely self taught. I was curious to see what type of mistakes I've been making without knowing it. 😝
Same here. Title is misleading.
@@drakon32 Yeah. I wouldn't say it was wrong, but it is misleading.
And even then, I don't believe that was intentional. He really *is* talking about mistakes made by programmers - just not programming mistakes.
Fred
@@ffggddss : You read my mind!! I was expecting examples of major mistakes that self-taught people make when doing actual programming. I've had formal college courses in COBOL, Pascal, C (with a dash of C++ included), and then several brief "community education" courses in BASIC, and I still feel like I've barely scratched the surface of learning programming.
A video on self-taught anti-patterns would be good. A lot of bootcamp graduates also fall victim to this, the moment they move out of the tech stack they were taught in, they start to crumble.
Great lesson. I'm incredibly guilty of spending way too much time on the "passive" vs "active". Glad to have you point that out. It's pretty easy to fool yourself that you're being productive, when really you're not.
Yes! It's easy to confuse being busy with being productive. At a certain point you have to move from "learning" to "doing" and it's much easier to evaluate if you know exactly how much time you're spending doing either. Glad to hear it was helpful!
Just beautiful. So well put! Thanks man. I started experiencing some doubts for the first time just two days ago. I was really frightened by how my brain went "well maybe programming is not your thing after all". But hell no! I'm gonna get good and be balling someday soon. I promise that to myself! Thanks man
Glad to hear Dan!
Thank you for this excellent advice. It can be daunting when you see just how much there is you could/should be studying.
I LOVEEE this video!!! Im currently teaching myself to program - previously involved in personal training and behavior change. Thanks for sharing with people that there is SO much more to learning than JUST the aspects of learning (while those are important).
This video was very well put together and not too drawn out. I just saw the title during a mental break Im taking. Anyways, i rarely comment and just had to tell ya... great job!
Thanks Jennie! Totally agree. 😊
Thanks for your really helpful tips! Really appreciate it. I can relate myself with the situations you talked about. Gonna follow your suggestion. Thanks again.
Glad I could help Syful. Cheers!
Love this advice. I feel that I lack the discipline to commit to dates for personal projects, I feel that I do better in classroom settings. Going to go to grad school in the fall for CS but I'm already 26. Probably a complete waste of money but, to be self sufficient on my own is not easy. Act Small think big. Thanks Andy.
Listen, you are always already something (insert age) . it's never to late to pick up a new skill. best of luck!
Here's a tip: set up a trello board for each project with at least backlog, doing and done sections, you can add ready for test, testing and ready to be released too if you're ambitious
The deadline comment was a stake through my heart. Well-done.
Awesome! Yeah it can be a huge problem when you don’t have a concrete date set in mind.
Getting a mentor is the advice i needed. Thanks Andy.
yeah, i could use mentor too, but where do you find one?
Hello Andy..have been watching your videos.. it's really inspiring... I started learning how to program almost 3 years ago..started with the hardest c and c++, after OOP topic in c++ the remaining topics where abstract and frustrating so I picked up JavaScript then python then R. With no clear direction I just wandered and eventually gave up on coding. So i got a Job in the Telecoms industry as an Engineer. Everyday I woke up feeling like a looser because I spent so much energy, time and money in learning programming..Came across your videos recently and I understood my problem, I felt I should know every concept before I applied for a Job I was wrong. Following some of your advise, I have designed a timeline for myself picked up a c#, created several portfolio and set deadlines for learning basic concepts. just recently I applied for a Junior developer role in a start up firm and have been interviewed. Am so proud of my commitments and how far have gone in a little time...thanks Andy
Update after 1 year?
@@zephyr_ i hope he answeres you soon
I would consider this as the advices. Thank you for you effort to putting these mistakes out there.
Thanks for this video, this is so informative.
Thanks for the advices Andy. I'm currently self-teaching for 1 month and one of the struggles for me was going to blogs and getting distracted.
Great advice, straight to the point.
I've just subscribed and I'm digging your content.
Great work!
How you doing now
These are great points and tips! This could be applied to practically anything you are studying/working on!
Thanks for this, I am currently pursuing a data science path and this is exactly what I needed to hear.
Dude, I need sources to study ds pls!
Totally relatable ,
previously i didn't track my days ... which made it harder to notice my weaknesses and you keep repeating the same mistakes. Tracking sleep and mood helps
-- i will try the roadmap today cause that looks like a good advice
This is awesome, and important for most of us(self taught developers)
Solid advice. If you are that good at keeping track of your time you will succeed in whatever you set your mind to. And if you are not, well now you know it, go work it out!
Great Video. Some of those points you touched on happened to me. Set goals, set time and do it.
Thanks Lance!
Really great advice man. Keep up the awesome content.
Have to say, you really have the viewpoint of someone who's been there, done that. Literally on point with the pointers you have noticed in learners. I'm not gonna be the guy saying programming is for smart people or anything like that but it's clear as a bright sky that you're smart and you have solid logic in your rants and advice. Truly a great mentor and inspiration and best of all, your ideas and advice can be applied to almost anything, not just programming.
Well spoken... This is enough to really help people out there
Thanks for the advice! I really appreciate it.
Great to hear!
thanks,this advice changed my mindset. i have many goals in life(i write them down) but i forgot on programming goals..
we can apply this tricks in real world.
thanks again.
Hey man thanks for the advice on creating a road map. You really make it seem manageable for us who get super intimidated by the road ahead.
Another great video, thanks Andy.
I wish yall understood how much thought he puts into his program. I'm in his program and the amount of knowledge I have learned from the start until now has insane.
I'm so glad I found your videos. I was seriously considering doing a coding boot camp, but plunking down the $3,000 deposit plus taking 4 or more months off from work is just really unrealistic for me right now. I wasn't even sure if I could actually get a job if I was self taught, but you've given me the insight and inspiration to know that it's totally possible. Thank you!
This is so true andy....
thanks for your tips though
Thanks for the great tips , exactly what I'm going through right now .
Thank you Andy this really helps a lot.
You’re welcome...glad to help
Thank you. I needed to hear this. Thank you for sharing
Glad to help!
As a self taught programmer who's trying to launch himself and psychology graduate, I have to say your tips are RIGHT on point, man! I subbed!
The best thing that has helped me while teaching myself is working on something I need/want. By knowing what I want it to do I find resources geared to that goal and discover even more on the way. The one thing I could add is, "the resources are there" anyone that says otherwise is using dialup and they can't be trusted.
Now I'm developing a control/monitoring platform for container farms and the amount of things I have learned along the way is mind blowing compared to things I learned in a professor led course. Sometime it's a lot and other times I want more.
This is exactly how I learned. Sure I took a programming 101 class in 2008, but then it was basically all gone because I didn't write a single line of code until 2011.
I also browse / quickwatch (1.5-2x speed) courses on pluralsight and udemy. This strategy ensures that I will know where to quickly find the answer when I run into problem(s).
Great advice. For the most part, these tips could be applied to literally any large task or job in life, definitely not just coding. Set goals, form a plan, follow the plan, track progress, repeat. Excellent video!
Setting a hard date is a really good point. For a long time I knew I wanted to be a game programmer. So I heard C was the language to learn (it was the PS1 times) so I bought a big book to learn C and on my summer break after my highschool, I decided that by the end of the first month of the summer I would have finished the book. So after I done a couple exercises, I got a good idea of how long it would take me so I done some Math and it meant I had to spend every morning of monday to friday on this (I was living at my parents house on a summer break, so I had time on my hands).
So I did that and not only did it start me on my path as programmer (I've been a game programmer for 14 years now) but it was also very motivating and self rewarding to know that, I can do this. Not long after, I've been told things were switching to C++ so I found a website to learn C++ with gaming examples and my experience with the book really helped me set another goal for those tutorials too.
Also at first I saw programming as a tool to make game, but now I also like programming in general, made my own budget program that I've been using for years, also do some AI contests. Programming is a blast.
@@BikiniGyat Hi ! I initially learned from a book and a site that is long gone around 18 years ago, so my references are a bit outdated. I mentioned AI contests, the platform I'm talking about is codingame.com it also have some "puzzles" and visual challenges and "bot" programming, so it's a really fun way to pratice coding, but not a place to learn from scrach. One site I heard was good for beginners was codecademy.com, so you can learn the basics on there and pratice with fun puzzles on codingame. After that I'd say try out Unreal Engine, very popular game engine and the code is in C++. Since it's popular there are a s*** ton of tutorials on the internet. I'd suggest investing a couple of bucks on a Unreal Udemy course, they pretty much always go in sale for like 95% from time to time and they are pretty long and gives you a good start to then search for specific things you want to do.
Good luck !
Good point on 'thinking big and acting small'.
4 weeks into learning how to automate deployment but I really just want to work on development.
Easy to feel like I'm falling behind until I remember I've been building an important skill set - just not the one I'm excited about :/
Im "ALL-IN" 100%. Too me..its the most important task daily, sit down and practice coding. I watch your videos religiously and apply all of your suggestions without modification. Thank you for these videos! I purchased a dry-erasure board and have my "Plan of Success" written out at the top!
That first one is good. 20 years ago, I applied for a job before I had really learned to code. Got hired because I spelled “SQL” correctly. Still, to this day, trying to learn to code. 😄
thanks Andy for this great video!
This is so helpful! I just lost my scholarship to an immersive program so this motivates me. Thanks
You are absolutely right and I really find this helpful. Thanks for the video.
Nice one Andy!!
Thanks Mario 😊
i don't think self taught programmers are looking for a job. Most of them are hobbyist and would like to code for themselves. He's thinking in terms of a job. Just people that draw are mostly hobbyist. same goes for cartooning ect..
This is great stuff , thanks 🙂
Oh man, you hit the nail on the head, thanks a lot
My pleasure Said!
Thanks Andy, same I was stuck thinking too much rather than completing my mini projects.
I needed to hear that first tip. Thanks!
You’re welcome!
Thanks Andy. I'll start to track how many hours per week I'm studying new subjects.
Awesome. Good luck!
You sir, earned a new subscriber. Thank you!!
Love it thank you!
You are a good talker, it would be wonderful to watch tutorials from you
Great insight Andy. You motivated me to do a little app to track my improvement per language, were I will put a tracker time of study, a reminder of revisions that I need to take, specify what I've been studying, and what I've already learned. It will be able to record my tutorials, repositories, so when I needed, I will be able to find quickly all my projects, lessons, small wins and how my self-taught is working for me. I think that this app can do an automatic resume as I grow, so it will be easier by clicking a link and send it to job applications. It will be open source, of course, so maybe it will help others self-taughters. What you think?
I don't know if I made myself clear, because my English it's a little bit rusted. I'm from Brazil btw
can confirm.
I learned Web development in about 3 months, and back then I was told I am ready. but in this field you should always push yourself. Do things you never did before, look at new framework study different databases etc. just give yourself new cool things to try
Thanks to you
Everbody is clearly making those mistakes
Aren't All developers, really, self taught ... you read documentation, books, etc ... AND get up to date with the state of the "craft". I guess theoretical stuff must be studied in university but the actual skill involves creativity and reasoning that, yes it can be taught to some extent, but in the end it is personal
At the end of the day, you have to do the work yourself, that's true. Being selftaught just means that the workflow and the access to information/teachers/equipment may differ. And you may get paid less without a diploma.
If it can’t be taught then how can you self-teach it? I agree, much of what makes a great programmer is genetic. It can’t be taught. You can teach a lot of people to be programmers but not necessarily great.
Thanks. Focusing on the deliverables is the best thing.
This was very useful, Andy.
You said not to worry about creating the wrong road map or learning plan, but I have one question: would you be able to give some examples of road maps and the 4 to 10 projects they should include? It will help us, self-learners, a lot not because we'd copy them but because we'd get an idea of what's a realistic project (vs. a too easy one or too complex one) when we're first getting started.
Thank you for this video. It was well done, as usual. 😊
Sir, you gave me so much in these 10 minutes. Thanks. I realized my faults.
I started part time and eased my way into full time. That way I didn't have to just quit my other job and free fall for a while. Once I got to the point I was actually being sought out for work, and not just seeking / begging for jobs, I was ready to go all in.
Thank you Andy. Your advice is very useful. Love and respect.
Thank you, great content!
Glad to help!
Very sound and useful advice, thanks
You’re welcome. Glad to help!
great video, this basics really matter
Nice. I thought from the title you were going to talk about programming mistakes. You didn't, you were speaking about career development. I like that.
I have completed my professional career, and am now using the net to teach me modern things like React for recreational programming challenges (mysql database, flask middleware, react front-end) such as a database to manage my putting together a local association magazine.
During my 20-ish years of professional programming (1980-2000), the technology has changed hugely. The need to develop your career is just the same. On the latter, one thing that has changed is access to information. In my early days, the information came in manuals and training courses, such as the VAX-VMS manual set, that took 6' of shelf space in attractive orange binders, and things like Yourdon and Jackson methodologies.
During that time I also recruited (interviewed) hundreds of aspiring software engineers (I descry the term programmer, because that is just a small part of the job). The key skill I was looking for was the ability to abstract - i.e. to focus on the solution in various degrees of detail, and to forget about the detail of other parts while focusing on the detail of the part being worked on. That being what I was looking for, how would an aspiring software engineer recognize this in themselves? That is the rub. Somebody who doesn't understand abstraction can't tell when they are missing it.
Sorry for the waffle. Random thoughts are the perrogative of the retired. :0)
Good advice! Thanks mate.
Very welcome :-)
A guy speaks about a topic in a friendly and chill manner --- RANT! :D
Good advice btw, thank you!
Heh heh..Im not good at ranting. Glad it was helpful!
I was actually struggling with java, i was stuck in the tutorial and book loop, but now my road map is much clear because of you, i have already applied tips you have mentioned. Thank you
Great to hear Arshpreet! Keep up the good work.
Thanks sir. I realized my mistakes and got more information.
I found this video just when I decided to actually pay attention to a programming-related video. For 3 years, I've been watching tutorials, reading, trying out those interactive learning websites, but still, I feel like a beginner cause I made/making the mistakes you addressed in this video. I know HTML, CSS, Javascript and some javascript frameworks, still if someone invites me for an interview, I wouldn't be able to answer simple HTML questions. These 3 years, I never had a roadmap, no deadlines, I just coded when I felt like it, went thru courses, burned out, took 6-7 months break, came back, skipped the basic easy parts cause I felt like I already mastered them and felt depressed right after something complicated came. Well, hopefully I will be able to correct my mistakes.
I would recommend develping personal dev app as part of your portfolio :)
this really helps. Thanks a lot.
8:30 Gosh that was me. I focused and learned how to code HTML and CSS and even Javascript opting to learn how to code in pure JS instead of using libraries first. I started using Bootstrap and learning how to make mobile friendly sites, started to use jQuery. Then I wanted to expand into forms, databases and users and that's when I hit the blog posts with a thousand recommendations. I did write a form handler for an order form that saved customer contact info, allowed customers to select flavor size and quantity of various "treats" and calculated cost, tax and shipping before emailing it to an email address for the order to be processed. Not the best way to do it but something I'm still proud of. After that I was like okay I'll just do a little research, see what's wanted right now and learn that one thing first. The thing that really ended up frustrating me was just setting up a good development/testing environment. I was split in too many directions trying to get things running smoothly, though admittedly I learned a lot about tracking down errors and researching solutions. Now, after taking a year break, I'm going back through dusting off the cobwebs on the HTML, CSS, and JS before trying again with expanding my knowledge and skillset.
Thank you good sir. You've really helped me 🙂
If you love Jesus,
www.swordofthevaliant.com is a really good website to check out.
Actually, all of your comments are relevant to all kinds of self improvement efforts for competitive purposes.
Definitely - for a start, it applies to learning and using natural languages as well.
This is the first time I have liked a video on UA-cam. Just like me a few years ago. It is a pain going through this. It’s just like building an app without planning. 🥱 Very frustrating, you always find yourself where you started. Most beginners think everything about programming is code. This is the best and first advise you you need as a self taught programmer, HANDS DOWN.
This video is a huge deal. Everyone trying to do this self taught should watch this video.
You're awesome man
I love Andy advocating the importance of sleep, i think it applies to all art and profession
Best career advice. Thanks from Nigeria.
Hey Andy. Love your vids. I'm really wanting to get into the more mobile side of development. What would you recommend for that? I'm just getting into js, but want to make sure I'm on the right path b4 I get to involved in the wrong code.
thank you andy! wish you were here.
More than 30 years ago I was a hardware design engineer, self-taught, no degree. My boss needed a production test program for our product, fully automated. After 6 people hired, he had a program that tended to crash the PC randomly. He turned to me and said "I finally accept what you have been saying, if you want it done, do it yourself, so, fix that program. You have two weeks." The program was written in C, and I had never seen C before. I knew Basic and assembly programming, self taught. He gave me the systems, and a couple of books to help. After a day and a half, I asked him "I am done, can I take the rest of the two weeks off?" Of course, the answer was "no", and I was given more programming tasks. I determined that the code I was given was "spaghetti code", and I went to work fixing it. In the long run, I was responsible to a large degree for the reputation for a quality product that we had. And I have been creating automated test programs, for production and for verification (two very different thing) ever since. I am currently the backbone of the HW and FW verification team for yet another company.
The BIGGEST thing you need, if you want to be a non-degreed programmer, is completed projects under your belt. Always keep a copy of any code you develop, so you don't have to re-invent. But to get a job without a degree you need to be able to show that you can perform, that you can accomplish something. The best way to do that is to deliver a project, for a company or for yourself. What the project is actually is unimportant, as long as it highlights the skills you want to sell. I am a test engineer, and my ability to get the PC to communicate with hardware under test via RS232 or Telnet helps a lot. (Derivatives of RS232 like RS422 or RS485 or whatever are easy once you understand RS232.)
The downside to my being self-taught: I am a terrible ball hog.. My code is MY code. I do not share, except to give a co-worker a copy of my source and help him to understand it, and after that he is on his own. The upside is that I do my coding MY way, and I strive to make it effective. Engineers with degrees sometimes deride my programs, even deride me for having no degree, but I have also dethroned them, embarrassed them, highlighted serious bugs in the products they were so proud of. I once outperformed a Stanford PhD and his group of three engineers, and I was doing it as a side task while I developed production tests. It comes down to attitude. Do you want to kick butt or not? I have been hated by slackers, and loved by engineers who realized I was helping them produce a superior product by finding the bugs in what they had done.
But the key thing is to demonstrate your ability. A degree is a promise of ability that is sometimes not realized. Demonstrated ability wins over degrees without demonstrated ability. Choose a project, work it through, put it on your resume.
Fling Monkey This is so true. Thank you for sharing.
What kind of projects should a non-degreed newbie dev have on their portfolio?
@@liquerinfrnt That really depends on what kind of programming you want to do for a job. Learning to program is like learning to read, you get the basic skill and then apply it to what you are REALLY interested in. What do you want to read about? What do you want to program? Do you want to program web interfaces? So you want to hack in Linux? Do you want to do what I do and create automated test programs to break the things my company makes so that they can be improved? Do you want to make cool gadgets and toys? The world is wide open, where do you want to go? How do you see selling your programming skills? You should pick a project that highlights and develops those skills.
Windows is popular, there are several programming environments there. Mac is also popular. Smart phone apps can sell. Linux is for people who want to control the world, and it has several languages that come with it. Small processor boards like Arduino have a lot of potential.
Key thing to do: Don't just learn to program, develop multiple skills and combine them into a bigger project. Can you do circuit design? Build boards and program them. I play with Windows (LabWindows/CVI) and Arduino and some electronics and woodworking. You probably have skills you don't even know you have, what do you have to bring to the party?
Wait untill you have to work in a team together on a single product. You will probably fail hard. Because your a solo person. Your code is then probably full with bad practises because you never verified your code by other programmers who can also give you advice. I know these kind of people like you. They are great solo. But the company gets too dependent on you, and the code is mostly badly structured because it's all in your head and someone else can't understand shit of your code. You act like your way is good, yes maybe in a small little company where the projects are small and they company is naive with code base and future maintenance by other people. For example they risk this shit on one person... YOU. This is from a company perspective very bad.(What if you get sick, or die?) I always learn from the critics of my coworker or i teach them. Depends what kind of persons they are. People like you, it's really hard in a team. Then persons like you blame the team, because You yourself are not a teamplayer. You only excel alone, so you can't do large projects. In your comment you say downside is this.. and directly try to reverse the downside with something good. By the way, programming is not that hard... what is harder is to understand the product your making. Coding is just a screwdriver or a saw. A tool.
@@HermanWillems I agree that programming is not hard, and that it is just a tool. I also agree that I do not team well.
I worked at a company called Telebit, they did the first commercial dial up modems that went faster than 2400 bps. I was there over seven years. I created all of the production test programs for that company up until I left: Functional Test, Burn-in test, ORT test, you name it. After I left them I eventually ended up at Cisco Systems, still doing the "cowboy" thing. Cisco bought what was left of Telebit, and I met the guy that had inherited all my code. He was pleased to meet me, he had learned to code by maintaining my tests, and he found the code VERY easy to understand, even though it was C running under MSDOS.
At my current company I developed a communications tool for the system communications backbone before anyone knew what I was doing (my boss started two weeks after I did and took a couple of months to come up to speed.) My tool is now used in MANY test fixtures and by several engineers as a basis for their fixtures.
I am not worried about someday being forced to team with others on code, after over 30 years of doing this I am now 64 and will be retiring in the not too distant future. I think my boss is worried that it may be sooner rather than later.
Certainly my style of coding does not work for all projects, but for getting started on your own without college debt, it worked for me. :)
I fail my exam for programming. Im retaking the course again this summer. Thank you for this advice!
Really great advice I read regarding this is to stop thinking of yourself as somebody who is "dabbling in code" or "trying to break into a dev role". No. Starting from now, you are a developer. A very inexperienced developer, yes, but a developer nonetheless, and that means you're not half-assing anything. You're getting better at each aspect of your craft every day and with every project, whether it's writing good code, learning new concepts, languages, and frameworks, or becoming better at technologies that professionals use (git, Docker, etc). And since you are a developer and you need a job, that means you're getting out there and trying to find roles that fit your experience level.
I think there's something to be said for adopting the mindset needed to become better at something. It's like the old saying of "Dress for the job you want, not the one you have".
The biggest problem that I had working with people who were only self-taught is that they didn't understand the basics like the Complexity of Algorithms, Finite Automata, language grammers and parsers, cryptography etc. This makes it impossible to have a sensible discussion with them about why some idea or other is going to lead to trouble. They would listen to a professor at university but they sure as heck din't want to get lectured by an annoying know-it-all colleague at work (like me) so they refused to see the importance of e.g. not using an N^2 algorithm. My favorite example was the guy who claimed to have speeded up the MD5 checksum generator by 1000x. Management was delighted and there were pats on the back and it was impossible for me to say how unlikely that was to be possible until a week later when everyone noticed that the output of the function was the same no matter what you put in.
Any resources that you recommend in topics you mentioned , like Complexity of Algorithms, Finite Automata etc .
It would be really helpful
@@SukeerthM_1 There is so much on the internet. Complexity of Algorithms is perhaps the most generally useful concept and this overview looks ok: discrete.gr/complexity/. You also need to look into the complexity of inserting new items into various data structures like lists, hash tables, heaps, balanced trees etc.
this is a very positive rant
Thanks a lot for this video.
My pleasure!
Hey Andy! Thank you so much for this video. What programming la gauge did you focus on? In the beginning of quarantine I finished a 7 week program on coursera about just understanding the fundamentals of python.
Now I really want to get my hands into it but I don’t know where to start. Is there any recommendation you have ?
Thank you
I use trello to track and document my progress, also use milestones such as a certification or project that has some impact on the team.
Yeah totally right I feel very annoyed with myself
Usually when I work on a project I imagine it very simple not that many features but after I get the base down I start making it more complex and it helps because you are not backed up in a corner thinking "Man how am I going to make all of this complex stuff" instead of just focusing on getting the base of the project down.
Lol I know a friend who has the knowledge of almost all the places of online resources to learn, but he barely learned anything. He tries a bit of some and gives up, then repeat with other topics.
Told him that he gotta focus on one thing at a time and actually get it done.
Well what I see/hear often is something along the lines of "I want to learn programming. With what language/IDE should I start/is best?"
My answer to that is always NONE. Learn the concepts first, take a sheet of paper and write your pseudocode by hand, then 'execute' it in your head step by step to see if it works as intended (I used a similar approach to understand how A* works). If you know that learning the language becomes just learning the syntax (maybe with some quirks the language has). You first need to know how to use a hammer before you can decide which to use for what. The language is the hammer of software developers.