My problem is, I'm slow to pick the technologies needed to start working on JIRA tickets. I'm working together with another junior developer (also self-taught, started same day with me) but I'm just stuck eating his dust. I decided to put egos aside and ask him for help and the only thing I got was generic advice, which I already do (read the docs, understand what you read, try building their tutorials/getting started section, read more code, trial and error).
Either I'm inherently slow and it's time to accept the natural limits of my brain or there's a better method that would work for me and I'm missing it.
After working with him for a year, I still didn't know and I still don't know. I offer this to you because, you will not always be better than the people around you.
That being said, its worth investigating the python debugger if you haven't already. import pdb; pdb.set_trace() - this will drop you into a debugger at the spot in execution that will allow you to examine variables and iterate through for loops. This has previously helped with my understanding of Python.
But, my big message to you is to not get taught up on comparing yourself to other devs. You will excel on some things and not be great on others. You will be slower than some and faster than some. Try first of all not to stress about your performance, but keep a learning mindset. From my perspective you seem to have your heart in the right place!!!
Just focus on breaking down problems into manageable chunks. I can't emphasize this enough. As for FastAPI specifically I'd check out the sample postgresql project tiangalo made, it's incredibly well put together.
[1] https://github.com/tiangolo/full-stack-fastapi-postgresql
You need to start practicing outside of work. I'm also self taught. But you need to never stop self teaching. I learn 90% of what I know outside of work, and I've been a software engineer for a good while
I'd try focusing 100% on getting the task at hand done while at work, but noting areas that are difficult for you and then doing some experimentation and side study on those areas after you get home. In order to make it at your first software job in a new industry, you'll possibly have to put 2 hours a night into self-directed learning.
I often thought that my inadequacy at a previous company had to do with lack of technical knowledge, and even though that was true I was not familiar at all with the project I was working with.
Use the debugger a lot, step through code until you have an idea of what is doing what and why is doing that. This knowledge would help you have better questions, i.e. instead of something like “how does the widget X works” have questions like “why when X happens are we making Y API call?”
At the end of the day, remember that you are paid for making money for your company, not for above-average technical skills! So, focus on the task at hand, throw console.log and debugger everywhere and understand your company’s app and how they are using whatever technology they are using.
I’m also self taught and I’ve been there, you got this!
1. Focus on specific task first. The most simple you can have.
2. Find someone more experienced in this area to mentor you to achieve the task.
3. Repeat with more complicated task.
Also follow people that lead given tech and competing/emerging solutions
> I decided to put egos aside and ask him for help and the only thing I got was generic advice, which I already do (read the docs, understand what you read, try building their tutorials/getting started section, read more code, trial and error).
Useless advice from a useless junior. Ask someone more senior to help. You'll have better results.
We have all been there before. Don’t sweat it too much but also don’t ignore it (you don’t seem like you are so that’s good).
Idk what you’ll be doing more of. Identify where you’ll do most of your work on focus on that. DO NOT try to learn everything at once. Maybe that means building a react app with no backend and using 3rd party services. Maybe it’s making a pure api backend and using paw/insomnia/postman to query it.
1. Go to seniors before you go to Jrs for advice. There’s a reason someone is labeled “senior”.
2. Read read and read. Go find a book on fastapi if it exists.
3. Document anything you find weird. Your coworkers will love you for it. Documenting is like teaching and you can’t do it without understanding that piece of code. Furthermore, when you make a PR with those new docs, your coworkers get a chance to say “hey you don’t fully understand this”.
4. What areas are you weak on in fundamental programming? I find most people that struggle with a framework really lack understanding in the fundamentals. If you do not, go read a book.
Python: https://www.amazon.com/dp/1449355730/ref=nodl_?tag=hackr-20&...
Js: (No book just read mdn) https://developer.mozilla.org/en-US/
- Do you actually know OOP?
- Can you articulate the difference between pass by value vs reference?
- Do you understand how the HTTP request cycle works? What about Tls, cors, http methods, etc?
- Synchronous vs asynchronous code?
- Scope & closures?
- The DOM?
- (This one bothers me now a days) Can you actually write vanilla js? Do you understand what react (or others) are doing under the hood?
None of these are attacks. Be honest with what you don’t know and go learn it!5. Create a project with the exact technology. Deploy it to the same services. Yes deploying is Ops but understanding the lifecycle of your code is important. Yes you will rip your hair out deploying on aws instead of heroku. Yes it will suck. But yes, you will be a better programmer.
This is going to be the most important one: 6. Stop comparing yourself to others. Time of programming means nothing. Unless you both read the exact same books and did the exact same projects and solved the same leet code problems, you’re comparing apples to oranges. For all you know, they could have a mentor. Maybe you were reading the worst guides ever and they read the best. Pondering how this happened won’t do you any good. Just keep moving forward!
Programming is not a job you get to walk away from after your 8hrs. You can but others will leave you in the dust.
You can do this! Do your best not to stress the day to day. Focus on growth. I promise you, if you focus on learning, 90 days from now you’ll question why you were even stressed out. You just have to be honest about what you don’t know and learn it.