I think backend freelancing is harder than front end which needs some graphics design skills and HTML/css/javascript implementation. Most of the in-house systems are outsourced to contract/consultant companies instead of using freelancing due to the amount of work and time constraint.
With two years of experience, I guess it's too early unless you have intensive experience with many backend systems. Different companies may require different tool set and server stack. So it's hard to cover everything.
I've got a list of questions asked in my Kickstarter project: "How to build a website like an engineer", which may partially qualify you as a competent engineer in the job market. If you think you are over qualified to cover all the topics I provided, maybe it's a good to go. http://kck.st/SY4CXv
Good. You are very capable, so don't worry about the next job.
One thing I'd like to mention is: as a software engineer, we are looking for more than programming. Online courses may teach you a lot of knowledge with examples, but they cannot provide real industrial experience. The same for internships, you may be part of the team and partially exposed to the software product or system.
So keep looking for good opportunities, you will be more competent.
If you have programming skills, you can look for another job since you are pretty new on the job market.
Otherwise, you may learn a lot from the code you are copying and pasting from other people. You need to have more experience before you can land a more decent job.
Check out our free summer camp: "How to build a website like an engineer", hosted online in the Kickstarter project: http://kck.st/SY4CXv. Let me know if I can help.
Currently, I'm running a free summer camp online to help college students to learn the professional skills as a software engineer according to the industrial standard.
There are various options you can pick and choose to be hands-on. The "main dishes" is to help you run through a process from installation, configuration and deploy a real world web application with the full server stack.
Check it out if you have time. It is described in a Kickstarter project: "How to build a website like an engineer" http://kck.st/SY4CXv.
What? DDG does not own Stack Overflow but it can run Stack Overflow's algorithm locally? Do you mean that Stack Overflow has it's search algorithm open sourced? I'm sorry, I don't quite get it.
Usually, the router search engine queries data from the second tier websites to get high quality results without having other websites' algorithms. Also there is another problem: how do you know which websites to go for given an arbitrary keywords? For example, when user searches for "cookie" on your search engine, where do you send the query to? How do you know if they are looking for food cookie or browser cookie?
Good idea. I think it's better than infinite scroll, but cache one page before and one page after to improve the page loading more smoothly using AJAX, just don't push me to the next page until I hit the "next" button.
I'm also concerned about the footer menu, may it be sticky or keep it on the bottom not shown. Looks like most of the sites have the latter. Maybe the footer is not that important, just to embed more links.
I guess not, although the page number is shown for you to see which page you are on, but you may forget where you were after you visit a particular link. It's improved to resolve the memory issue, I think. So when you browsed to page 10 and want to get back to page 3, it will reload for you seamlessly, rather than let the browser to keep all the pages in memory.
I agree the parent post, I'd like to keep where I was when I open each link in a new tab. Then the infinite scroll just helps to eliminate the click of the next page.
Yes, I agree with you on using a 2-tier search which will increase the relevancy to optimize the quality of search. And Google's search quality is not unbeatable.
I also agree with you by using distributed sites to optimize the results locally. Actually what I proposed is to make the distributed search from both geographic location and vertical market point of view, as opposed of dedicated sites from you. But they are complementary. The dedicated sites definitely will provide better and more relevant results than a global search engine if Google search was not limited to a particular site.
However, the only thing I don't agree with you is when you said it does not have to be distributed though, the search router can integrate the algorithms from the dedicated sites. Then I think it's not quite feasible since it's not possible for Stack Overflow or Wikipedia to share their algorithms with DDG.
Let me know if I misunderstood you. If you'd like to take if offline, I'll be happy to discuss with you via email. See my profile.
Upvoted you. We need more insights like this than the document itself. The concept of state machine, PIM (processing in memory) and parallelization is the core, looks like Micro has some implementation now. That's why they call it an Automata Processor (AP).
Because to my understanding, 2-tiered search means that the routing search engine scrapes data from the second level search engines and return it to the users. The second level search engines, e.g., Stack Overflow, are usually running by separate entities from the routing search engine, say DDG. If DDG does not own all the second level search engines, how can they get the local indexes and ranking algorithms from them? And even if DDG does get it, it's no longer decentralized any more. So what's the difference from Google?
I'm not sure how powerful it is which cannot tell from the looking. If it's the same powerful as the existing PC, I found All-in-one PC now is less than $500. So why do we need to have this nice-looking but still heavy machine? If it's super powerful, then a lot of engineering issues need to be taken care before how it looks like.
EDIT: I'm sorry, it's fully expandable. But sometimes the OS may not support the hardware expansion that much or become very low performance.
But anyway, I agree that we should make PC more customizable and more pluggable if it's doable.
Thank you for your explanation. Now I understand better. But a distributed system is usually defined in the second meaning of what you said inside the search engine, instead of across different websites.
I'm very interested in this topic because I've proposed my solution for how to improve search engines, not from algorithm point of view, but from systematic point of view. And making it fully distributed is the key.
While you mentioned about the 2-level search and "receiving their algorithms and data ...", I don't think it's very feasible. Do you agree? So vertical distributed architecture across various industries is not a feasible solution. But we can do a horizontal distributed architecture which will collect data from geographic locations. In each location, there will be many different verticals. It's matter of time if Google cannot find a better solution, search engine will be improved in certain way.
It's interesting that you are talking about "two-tiered search would decentralize efforts to improve algorithms". But you mentioned that "this solution does not need to be distributed: sites can share their local indexes and ranking algorithms with the routing search engine."
Can you elaborate a little bit about why it's not a distributed solution if sites share their local indexes with the routing search engine?
Yes, budgeting for days instead of budgeting for months. When we well manage the task list, usually a feature implementation takes 1-3 days, a project may take 3-4 weeks to reach a milestone. So no feature can take more than a week to finish. Priority is the key.
With two years of experience, I guess it's too early unless you have intensive experience with many backend systems. Different companies may require different tool set and server stack. So it's hard to cover everything.
I've got a list of questions asked in my Kickstarter project: "How to build a website like an engineer", which may partially qualify you as a competent engineer in the job market. If you think you are over qualified to cover all the topics I provided, maybe it's a good to go. http://kck.st/SY4CXv