u/webvv

14 post karma · 29 comment karma · joined Mar 2023

webvv

Don’t get discouraged! I don’t know about the code base you’re working on, but working on a bad code base is slow and painful! It took me 2 job in the beginning of career to build courage and understand that I’m working on a messy codebase or my skills is the reason for not understanding!

webvv

As I go forward I use less and less cloud base password managers! Every year I’m hearing one of them is hacked or something! I suggest use local ones like KeePass and have backup policy for yourself.

webvv

I don’t remember when I got my first freelance job but even from the beginning I got most of my work from referrals! Focus on your skills and customer satisfaction and I would say you will get a lot of requests that you may need to turn down some of them time to time.

webvv

Try to code your idea! You will see why “jumping” to a value is not possible. Check out hash tables if you haven’t already

webvv

Most of the time if you have capability of having a phase of compiling i would say React with all of its ecosystem is much simpler. You scaffold you project with a simple command and everything is ready to start on maintainable setup.

webvv

Yes it can be challenging to understand. You need to see a lot of examples. Try cracking the coding interview book. It has a lot of examples.

Simply big O says what is the worst thing can happen! Think about an input that cause the worst performance.

An example of the way I read O is like these:

If performance is dependent to one parameter, i consider it n and read like this:

WorstPerformance(n) = O(n**2) WorstPerformance(n) = O(n) …

If performance is dependent to 2 parameters, i consider first one n and second m. Then read like this:

WorstPerformance(n,m) = O(n+m) WorstPerformance(n,m) = O(nm) WorstPerformance(n,m) = O(n*m) …

webvv

I look enough to know what features are out there! You can always look for syntax.

webvv

Exactly the goal I’m trying to address in this youtube channel. The issue is Functional Programming is the perspective in designing solutions which is hard to teach without a language to talk and convey the concepts. In my ongoing course, although I’m using TypeScript, my goal is to teach FP and not the language. Check it out:

https://youtube.com/@webvv

webvv

I understand why you say this, but consider the world that there are no competitors to Chromium! That is when powerful groups and individuals start benefiting from this monopoly!! Probably Google is funding the hell out of Chromium so I think in order for Web technology to stay amazing as it is right now, it is necessary for Firefox and other competitors to stay in the field.

webvv

You can of course code without learning the fundamentals of computation and computers, but let me be a bit straight with you: if you want to be a really great software engineer you need to know the fundamentals which are being thought in computer science fields. Either you learn them through coursera, EDX or online universities or you can actually go for degrees.

webvv

You are not alone. Nobody I believe can remember even their own code completely after 3 4 months being away from it, and you don’t have to.

Learn about patterns, use good names, break your problem in simple but well-thought abstraction, use comments, and just right amount of documentation and you don’t need to remember details anymore, just the higher architecture of your code is enough. If needed you can always go back and quickly refresh on details.

webvv

Front: UI that most of the times is the interaction point of users with the system

Backend: backbone of your system that business logic happens

webvv

It’s a tool for certain problems! And it’s a really interesting one. It’s a public append only database which no power, authority or person can take a whole control of it! Is it a hype right now? I would say maybe! But it’s a new powerful tool in our toolbox which we didn’t have before.

webvv

Create a log of what user is doing. Like array of actions (right structure is Stack which arrays can be used as stacks in JS). You need to define actions like “DELETE_ROW”, “EDIT_CELL”, …

Along with each action store the data being affected.

Each action needs to be reversible.

Code for each action and don’t let user do anything outside of your actions on the table.

Then undo only means grab the latest action from logs, reverse that action and remove that one from top of your list.

webvv

After couple of years working, you will learn your limitations. Most software companies care about the delivery of the product, then quality. If you’re not delivering on time or not attending meetings, you will be frowned upon and may be asked to leave after couple incidents, but other than that you are correct, most of the time companies don’t care when you’re working.

webvv

Start browsing and window shopping in Github. You will find so many cool libraries and projects

webvv

I’m coding professionally for 15 years now and what you’re feeling is pretty normal. Starting projects can be tiring to think of, the trick for me is I create an environment that I’ll be absolutely comfortable to work in, and I mean physical environment first. For example I make myself a really good coffee, play my relaxing music and clean up my desk. Then I start from somewhere in the code and treat it like just a draft. And from there you blink and project is going forward

webvv

JavaScript is a really good starting point. If your plan is to learn how to build websites, start by learning HTML then CSS and then start learning JavaScript.

webvv

2 different tools, but can both be used in many scenarios. Learn both and understand their differences in practice.

webvv

JavaScript is single-threaded, when your data is statically available (like yours here), if using Promise doesn’t make your code slower (because of all overheads) it definitely doesn’t make it faster, and just creates a mess in your code base.

webvv

If I understand this correctly, this gives you an array of selected attributes.

const myAttrs = myArray.map(x => x[input])

So now you can do:

myAttrs[0]

webvv

Whenever you call your function inside the same function you are creating some form of loop, and its called recursion. Recursions are generally more aligned to math and the way we (humans) think. Loops are closer to how computers work. Unfortunately the way we are being thought is the way computers think and we are not being thought the way human mind works. That’s why loops feel simpler to you. If you take a look at Functional Programming paradigm, it doesn’t have loops.

webvv

Maybe start playing with a small personal project! Create a portfolio website and write up your resume in there, do cool animations and don’t worry much about best practices. Just enjoy it.

webvv

Thank you

webvv

Enjoy the progress and take your time