Sort
Profile photo for David Mitchell

My first exposure to Erlang was when I had to develop a performance test harness for mainframe transactions that scaled essentially to infinity. I built a prototype in Python just to see that I understood what the problem was in the necessary detail, then I built what I thought was going to be the final version in C. Once I started to load it up and try it out, I realised that the C version would never scale as far as I would need it to, so I rewrote it in Erlang which worked like a dream.

My suggestion to you would be to not look for a job that fits your model, but to try to find a similar s

My first exposure to Erlang was when I had to develop a performance test harness for mainframe transactions that scaled essentially to infinity. I built a prototype in Python just to see that I understood what the problem was in the necessary detail, then I built what I thought was going to be the final version in C. Once I started to load it up and try it out, I realised that the C version would never scale as far as I would need it to, so I rewrote it in Erlang which worked like a dream.

My suggestion to you would be to not look for a job that fits your model, but to try to find a similar situation in your current job - somewhere that Python isn't going to work too well (extreme workload and/or extreme reliability would be the 2 scenarios I'd look for, as that's where Erlang shines and Python is relatively weak) - and then build a "temporary" solution in Erlang. If you do it well enough, your temporary solution will become the "real" solution and you'll have become "The Erlang Guy".

As far as learning Scala/Clojure/Erlang goes, I taught myself Clojure and Erlang purely from books and building small apps in my spare time. I wouldn't consider myself expert in either of them, but I could comfortably hold down a job in either and have been offered roles using both. The only reason I've been offered jobs that use those tools is because people have seen my other work, I've shown them my Erlang/Clojure code and they've been impressed enough in both the code and my work history to want to take me on. People want to hire inquisitive coders; the problem is that it's usually hard to track them down. Make sure you're inquisitive, and easy to track down when someone's looking for the skills you're interested in using!

Where do I start?

I’m a huge financial nerd, and have spent an embarrassing amount of time talking to people about their money habits.

Here are the biggest mistakes people are making and how to fix them:

Not having a separate high interest savings account

Having a separate account allows you to see the results of all your hard work and keep your money separate so you're less tempted to spend it.

Plus with rates above 5.00%, the interest you can earn compared to most banks really adds up.

Here is a list of the top savings accounts available today. Deposit $5 before moving on because this is one of th

Where do I start?

I’m a huge financial nerd, and have spent an embarrassing amount of time talking to people about their money habits.

Here are the biggest mistakes people are making and how to fix them:

Not having a separate high interest savings account

Having a separate account allows you to see the results of all your hard work and keep your money separate so you're less tempted to spend it.

Plus with rates above 5.00%, the interest you can earn compared to most banks really adds up.

Here is a list of the top savings accounts available today. Deposit $5 before moving on because this is one of the biggest mistakes and easiest ones to fix.

Overpaying on car insurance

You’ve heard it a million times before, but the average American family still overspends by $417/year on car insurance.

If you’ve been with the same insurer for years, chances are you are one of them.

Pull up Coverage.com, a free site that will compare prices for you, answer the questions on the page, and it will show you how much you could be saving.

That’s it. You’ll likely be saving a bunch of money. Here’s a link to give it a try.

Consistently being in debt

If you’ve got $10K+ in debt (credit cards…medical bills…anything really) you could use a debt relief program and potentially reduce by over 20%.

Here’s how to see if you qualify:

Head over to this Debt Relief comparison website here, then simply answer the questions to see if you qualify.

It’s as simple as that. You’ll likely end up paying less than you owed before and you could be debt free in as little as 2 years.

Missing out on free money to invest

It’s no secret that millionaires love investing, but for the rest of us, it can seem out of reach.

Times have changed. There are a number of investing platforms that will give you a bonus to open an account and get started. All you have to do is open the account and invest at least $25, and you could get up to $1000 in bonus.

Pretty sweet deal right? Here is a link to some of the best options.

Having bad credit

A low credit score can come back to bite you in so many ways in the future.

From that next rental application to getting approved for any type of loan or credit card, if you have a bad history with credit, the good news is you can fix it.

Head over to BankRate.com and answer a few questions to see if you qualify. It only takes a few minutes and could save you from a major upset down the line.

How to get started

Hope this helps! Here are the links to get started:

Have a separate savings account
Stop overpaying for car insurance
Finally get out of debt
Start investing with a free bonus
Fix your credit

Profile photo for Shawn Masters

I don't think you will find a job description that meets your request (although Basho might have one), but you can look for a position where you can fulfill the request yourself. In many smaller shops the good people get to try different things. If you have proven that you can clean up messes and make things work, you will probably get the freedom to try these new areas.

If the position you are in has hard and fast rules as to three languages, libraries and told that can be used, move on. That type of environment is stifling and will do you no good in the long run.

Profile photo for Paul Kolozsvari

Firstly, I’ll tell you what you shouldn’t do to become a good programmer. No matter what anybody tells you, if you spend too much time doing any of the following things it might improve your skills a little, but you will never be a good programmer:

  • You won’t become a good programmer by just reading books.
  • You won’t become a good programmer by memorising code and algorithms. Programming is about thinking not about remembering. You can have the best memory, but if you’re not thinking for yourself you’ll NEVER be a good programmer i.e. we have computers and the internet to remember things for us, s

Firstly, I’ll tell you what you shouldn’t do to become a good programmer. No matter what anybody tells you, if you spend too much time doing any of the following things it might improve your skills a little, but you will never be a good programmer:

  • You won’t become a good programmer by just reading books.
  • You won’t become a good programmer by memorising code and algorithms. Programming is about thinking not about remembering. You can have the best memory, but if you’re not thinking for yourself you’ll NEVER be a good programmer i.e. we have computers and the internet to remember things for us, so there’s no need for you to remember anything - you just need to know where and how to find the information you need.
  • You won’t become a good programmer by writing single functions and algorithms from the books you read i.e. writing stupid bubble sort functions and similar useless algorithms.
  • You won’t become a good programmer by testing other people’s code e.g. whether testing software by using it or writing unit tests etc.
  • You won’t become a good programmer by reading and debugging other people’s code. This might help in the short term, but only if the other person’s code is well written so you can pick up some good habits, but using bad code as examples will teach you bad habits that you will ultimately have to unlearn. In the long term spending too much time reading and debugging other people’s code will be detrimental to your growth.
  • You won’t become a good programmer by allowing others to micro manage you … because again programming is about thinking for yourself.

There’s only one way to become a good programmer: you have to take on a project and start it and finish it yourself from beginning to end. Don’t focus too much on reading books, syntax, algorithms and functions i.e. don’t focus on details at the beginning. Simply sit and think about an app/system you’d like to develop for yourself … something you’d really enjoy building and using for yourself. Ask your friends/family/lecturers for an idea if you need to, but you must start the project from scratch and finish it by yourself from beginning to end. Once you’ve gotten the idea, keep the idea in your head and be passionate about finishing it … from there everything will slowly start to come together. You will have features in your mind that you want to implement at which point you will start researching how to implement this or that. It’s only at this point that you should pick up a book or search the internet for answers about how to implement this cool feature you’ve thought of doing. As your app/system grows you will slowly by yourself start thinking about writing cleaner code to maintain it in the future to make your own life easier.

It is only through the process and struggle of bringing your own idea to life that you will learn how to become a good programmer. You should see yourself as an artist, not just as guy who writes code to get it to compile and run. If you’re only working on someone else’s code, or only reading books etc. you will lose your motivation very quickly and you will never find or utilize your talent.

Profile photo for Ashutosh Pawar

Step 1: Find out what skills are companies looking for.

Reverse engineer!

Firstly find out what skillset companies expect you to have.

The best way to find it out is by visiting popular job listing sites.

Here is one such listing I got upon searching for the keyword “Python”:

As you can see, Python alone isn’t the required skillset.

Companies expect you to know other technologies along with it as well.

For example, in the above listing you are also supposed to know Pandas, SQLalchemy and Django.

My recommendation is that you view other job listings as well and note down all the essential skills which

Step 1: Find out what skills are companies looking for.

Reverse engineer!

Firstly find out what skillset companies expect you to have.

The best way to find it out is by visiting popular job listing sites.

Here is one such listing I got upon searching for the keyword “Python”:

As you can see, Python alone isn’t the required skillset.

Companies expect you to know other technologies along with it as well.

For example, in the above listing you are also supposed to know Pandas, SQLalchemy and Django.

My recommendation is that you view other job listings as well and note down all the essential skills which the company demands.

Don’t worry if you do not possess or are not an expert in those skills, your job for this step is to just get an idea about what companies expect in a candidate.

If you open up a listing, there will be more details provided about the skills as well as the type of role.

Step 2: Classify the skills.

Once you list out the skills form the job listing site, it’s time to classify them depending upon your level of expertise in them.

Make 3 columns on a sheet of paper and classify them into these 4 categories:

  1. Completely unknown: This column would consist of all the skills which you have never learned. For example, if you have never learned Pandas, put it under this column. All the skills under this column must be learned from scratch. You could start learning them via YouTube videos or maybe a course.
  2. Little know: This would consist of those skills which you know the basics of but have never dived deeper. Your job is to make sure that you learn more advanced concepts from these technologies. To learn more advanced topics, I would highly recommend that you prefer learning from the documentation as there wont be many YouTube videos or courses on such advanced topics.
  3. Skilled: This should consist of skills that you are good enough with and have decent experience working with. Once you are skilled enough in any technology, the best way to test it would be to build a project using it. For example, if you are skilled enough with Django, just try making a complex web application with it. You may start with a basic version of the web app but eventually start adding more advanced and complex features.

Once you complete this step you should become aware of the skills you lack and the skills you possess.

Let’s now move on to the next step.

Step 3: Learning.

Once you know what to learn, you can start learning it.

However, the learning method would completely depend on your level with the skill.

Learning as a beginner:

If you are a complete beginner and want to learn from scratch, then I would highly recommend you to read this article which lists some useful resources to start learning Python.

As a beginner, YouTube videos and Udemy courses are your best bet to quickly get started with any technology.

Learning as an intermediate:

You should strictly skip YouTube and other courses and instead learn from the documentation as it is a much efficient way to learn.

Skip the basics and move towards more advanced topics in any given technology and make sure you learn it in depth.

You may refer to some website articles if stuck, however stick to the docs as far as possible.

Learning as an expert:

If you are an expert at something, you just need to show that off.

And what can be the best way to show off your skills other than building your own project.

Make sure to build a complex project around any simple things. You can pick simplest of the topic like a Todo app and design advanced features around it.

If you have a complex project idea in mind, just go ahead and pursue it.

Step 4: Set targets and a schedule.

Don’t just learn without setting a goal or a target, if you do so, you will be stuck learning a simple technology for months and would be nowhere.

Instead, set a goal/target to learn X technology in Y time.

This will ensure that you wont waste time and would be productive throughout the learning period.

If you are a graduate and are not working elsewhere, you have plenty of time on your hand, hence make sure that you make the most of it.

If you are a college student, wake up an hour early to learn.

If you are a working professional, it would be quite tough to manage a job and learning on the side but If you be stingy with your time and energy, you should be able to squeeze out some learning, especially on the weekends.

Step 5: Apply for jobs.

Once you are confident that you have enough skills, you may start applying for positions from the job listing site.

Be careful though, not all jobs on such sites are good. A lot of them are just garbage and would expect you to know almost everything and would pay you peanuts, hence make sure you stay away from such listings.

Research a bit about the company, if possible try connecting with some existing employees on linked in and try to gauge their experience.

If you are a beginner, I would advice that you focus on the company as opposed to the position.

Once you shortlist the good listings, start applying to them and be patient.

Remember that they are bombarded by CVs from multiple other candidates and hence it might take a while to get a reply back from them.

Make sure to keep learning and upgrading your skills as you keep sending proposals to companies.

Profile photo for Metis Chan

With today’s modern day tools there can be an overwhelming amount of tools to choose from to build your own website. It’s important to keep in mind these considerations when deciding on which is the right fit for you including ease of use, SEO controls, high performance hosting, flexible content management tools and scalability. Webflow allows you to build with the power of code — without writing any.

You can take control of HTML5, CSS3, and JavaScript in a completely visual canvas — and let Webflow translate your design into clean, semantic code that’s ready to publish to the web, or hand off

With today’s modern day tools there can be an overwhelming amount of tools to choose from to build your own website. It’s important to keep in mind these considerations when deciding on which is the right fit for you including ease of use, SEO controls, high performance hosting, flexible content management tools and scalability. Webflow allows you to build with the power of code — without writing any.

You can take control of HTML5, CSS3, and JavaScript in a completely visual canvas — and let Webflow translate your design into clean, semantic code that’s ready to publish to the web, or hand off to developers.

If you prefer more customization you can also expand the power of Webflow by adding custom code on the page, in the <head>, or before the </head> of any page.

Get started for free today!

Trusted by over 60,000+ freelancers and agencies, explore Webflow features including:

  • Designer: The power of CSS, HTML, and Javascript in a visual canvas.
  • CMS: Define your own content structure, and design with real data.
  • Interactions: Build websites interactions and animations visually.
  • SEO: Optimize your website with controls, hosting and flexible tools.
  • Hosting: Set up lightning-fast managed hosting in just a few clicks.
  • Grid: Build smart, responsive, CSS grid-powered layouts in Webflow visually.

Discover why our global customers love and use Webflow | Create a custom website.

Profile photo for Boris Marchenko
  1. Dive deep into details. If you learn Java, try to understand not only syntax of the language, but also how it works under the hood - how JVM works, how objects are represented in memory, how code is translated into machine commands, how CPU (or something else?) handles I/O operations. Working on web application - tend to learn not only framework, but also protocols, how packages are exchanged between client and server, how encryption algorithms work. However, don't try to get all in once. Start from high level, make it work, then go into details on stuff that look like black box for you. Good
  1. Dive deep into details. If you learn Java, try to understand not only syntax of the language, but also how it works under the hood - how JVM works, how objects are represented in memory, how code is translated into machine commands, how CPU (or something else?) handles I/O operations. Working on web application - tend to learn not only framework, but also protocols, how packages are exchanged between client and server, how encryption algorithms work. However, don't try to get all in once. Start from high level, make it work, then go into details on stuff that look like black box for you. Good understanding of low-level concepts will speed up you future learning.
  2. Always ask “Why should it work in this way?” Follow, but don't blindly trust best practices, find out what advantages make them best.
  3. Work on different tasks. 10 years of experience doing the same work is only 1 year repeated 10 times. Change teams inside your company, change companies, work on pet projects in your free time. It's not about cool new technologies (if you understand basics, you'll see that they are not so new and not so cool), it's about trying yourself in different roles in different fields - tend to work as a coder, architect, tester, try to establish a new process in your team, talk to customers - be infolved in full cycle of software development.
  4. Work with clever engineers. And listen to them.
  5. Never think you are a great engineer. You should always look for your weaknesses, be unsure in your decisions and listen to other people. Be right in more than half discussions is great, be right in more than 90% is awful (because you either wrong and don't see that or work with people you can't learn from). Too high self-esteem is an enemy.
Profile photo for Drew Eckhardt

Generally you need a four year computer science degree or professional experience culminating in senior engineering work at product building companies.

Box hired me to do engineering work including writing Scala although I’d never seen the language before.

Amazon hired me to write Java which I’d used once but didn’t admit to on my resume.

Microsoft hired me to write C# which I’d never used before.

They did that because given a little coaching competent engineers can be productive in new languages immediately although it takes a long time to develop general and domain specific software engineering

Generally you need a four year computer science degree or professional experience culminating in senior engineering work at product building companies.

Box hired me to do engineering work including writing Scala although I’d never seen the language before.

Amazon hired me to write Java which I’d used once but didn’t admit to on my resume.

Microsoft hired me to write C# which I’d never used before.

They did that because given a little coaching competent engineers can be productive in new languages immediately although it takes a long time to develop general and domain specific software engineering skills.

Profile photo for Marc Hammes

Like many of you reading this, I’ve been looking for ways to earn money online in addition to my part-time job. But you know how it is – the internet is full of scams and shady-grady stuff, so I spent weeks trying to find something legit. And I finally did!

Freecash surprised me in all the right ways. I’ve earned over $1,000 in one month without ‘living’ on the platform. I was skeptical right up until the moment I cashed out to my PayPal.

What is Freecash all about?

Basically, it’s a platform that pays you for testing apps and games and completing surveys. This helps developers improve their appl

Like many of you reading this, I’ve been looking for ways to earn money online in addition to my part-time job. But you know how it is – the internet is full of scams and shady-grady stuff, so I spent weeks trying to find something legit. And I finally did!

Freecash surprised me in all the right ways. I’ve earned over $1,000 in one month without ‘living’ on the platform. I was skeptical right up until the moment I cashed out to my PayPal.

What is Freecash all about?

Basically, it’s a platform that pays you for testing apps and games and completing surveys. This helps developers improve their applications while you make some money.

  • You can earn by downloading apps, testing games, or completing surveys. I love playing games, so that’s where most of my earnings came from (oh, and my favorites were Warpath, Wild Fish, and Domino Dreams).
  • There’s a variety of offers (usually, the higher-paying ones take more time).
  • Some games can pay up to $1,000 for completing a task, but these typically require more hours to finish.
  • On average, you can easily earn $30–50/day.
  • You pick your options — you’re free to choose whatever apps, games, and surveys you like.

Of course, it’s not like you can spend 5 minutes a day and become a millionaire. But you can build a stable income in reasonable time, especially if you turn it into a daily habit.

Why did I like Freecash?

  • It’s easy. I mean it. You don’t have to do anything complicated. All you need is to follow the task and have some free time to spend on it. For some reason, I especially enjoyed the game Domino Dreams. My initial goal was to complete chapter 10 to get my first $30, but I couldn’t stop playing and ended up completing chapter 15. It was lots of fun and also free money: $400 from that game alone.
  • No experience needed. Even if you’ve never done any ‘testing’ before, you can do this. You get straightforward task descriptions, so it’s impossible to go wrong. A task you might expect is something like: Download this game and complete all challenges in 14 days.
  • You can do it from anywhere. I was earning money while taking the bus, chilling on the couch, and during my breaks.
  • Fast cashing out. I had my earnings in my PayPal account in less than 1 day. I’m not sure how long it takes for other withdrawal methods (crypto, gift cards, etc.), but it should be fast as well.
  • You can earn a lot if you’re consistent. I’ve literally seen users in the Leaderboard making $3,000 in just one month. Of course, to get there, you need time, but making a couple of hundred dollars is really easy and relatively fast for anyone.

Don’t miss these PRO tips to earn more:

I feel like most users don’t know about these additional ways to make more money with Freecash:

  • Free promo codes: You can follow Freecash on social media to get weekly promo codes for free coins, which you can later exchange for money.
  • Daily rewards and bonuses: If you use the platform daily, you’ll get additional bonuses that help you earn more.
  • In-app purchases to speed up processes: While playing, you can buy items to help speed up task completion. It’s optional, but it really saved me time, and I earned 4x more than I spent.
  • Choose the highest-paying offers: Check New Offers and Featured Offers to get the best opportunities that pay the most.

Honestly, I still can’t believe I was able to earn this much so easily. And I’ve actually enjoyed the whole process. So, if you’re looking for some truly legit ways to earn money online, Freecash is a very good option.

Profile photo for Bruno Oliveira

You can answer your own question by going to places like TIOBE/Glassdoor and do some basic search queries. So this is a non-question.

However, since I get somewhat baffled by the huge amount of similar questions that seem to be asked before doing even a basic search, then I will just say this:

I think this question in itself is inherently bad, because you can’t focus on:

1/ Languages
2/ Money
3/ Lear

You can answer your own question by going to places like TIOBE/Glassdoor and do some basic search queries. So this is a non-question.

However, since I get somewhat baffled by the huge amount of similar questions that seem to be asked before doing even a basic search, then I will just say this:

I think this question in itself is inherently bad, because you can’t focus on:

1/ Languages
2/ Money
3/ Learning languages to get more money

I mean. You can. But that won’t take you far, because that is not the end goal of programming, nor it should cross your mind.

Here’s some hard to swallow pills (for you, me, every programmer around here):

We are a fortunate breed, because programming is cool. It’s trendy, fashionable and it pays EXTREMELY well, for the kind of job it is.

Focus on learning the domain and business you are writing code for. Your manager most likely earns 10x more than you and programs 10x less (or nothing) [yes, im exaggerating the scale but you get the idea].

The big bucks will almost never be dictated by the language(s...

Profile photo for Addy Radwan

A friend of mine was in the same case when we were in the year 2 in college, he said I can’t do coding, and I can’t think in code, I don’t know what to write. Now he is working at Google :) so don’t lose hope.

What did he do ?

He dropped a year, and spent this year with the ACM chapter in college. The ACM creates a competition for college students, it’s called acm ICPC, through practicing for the acm competitions, you learn how to write a good code, and this is a sport called competitive programming, check this: Getting Started with the Sport of Programming
After this he did some good side proj

A friend of mine was in the same case when we were in the year 2 in college, he said I can’t do coding, and I can’t think in code, I don’t know what to write. Now he is working at Google :) so don’t lose hope.

What did he do ?

He dropped a year, and spent this year with the ACM chapter in college. The ACM creates a competition for college students, it’s called acm ICPC, through practicing for the acm competitions, you learn how to write a good code, and this is a sport called competitive programming, check this: Getting Started with the Sport of Programming
After this he did some good side projects while studying college materials, and got an internship, then he got a job in his local country, and finally after graduation by 2 years he could go to work for Google.

This is not the end of the world for you, my advice is:

  1. Do competitive programming.
  2. Revise the materials you studied in school or college.
  3. Try to go with masters or PhD.
  4. While doing the above 3 points, work on side projects, go with them from simple to hard, do a simple console game, then go bigger, start small without being shy, only if you want to be a real programmer.
  5. Try to get an internship or any work even if you worked for free (It’s not a shame, I worked for free for 3 months for a company because they thought I was not good enough yet while I was in school) (I mean a company in computer science and your major for sure).

Edit1:

I want to edit 2 points, because of comments I received:

  1. Having master degree or PhD degree in computer science may not make you a super programmer, as most of materials you will go with in these high degrees are theoretical, but on the other side, this will add a value to your CV, give you some facilities according to working as a R&D developer. also the theory itself if you combined it with coding, this will make you a better programmer with higher knowledge.
  2. The person I talked about who took a gap year to make a good achievements, had a very close coach in his school, a coach who guided him to be good in competitive programming, so don’t think that it’s so easy to be a very good competitive programmer, it’s not easy, specially if you don’t have a good coach, but on yourself you can achieve a good state in competitive programming, maybe you will need more time, maybe if you are smart enough then you will do better than my friend in less time, nobody can really say for sure.

Edit2:

I just want to add YP Wong ‘s comment here, he said:

I have a Ph.D in computer science. I learned programming pretty much on my own before university on Apple II machine.The reality is, if you want to be really good at very specific field such as machine learning, master or Ph.D would definitely be good thing.But if you want to be a really good programmer, say in web or mobile development, you would do much better by just doing it everyday instead of spending your time in master or Ph.D research. Dong serious research means you really won’t get much time to do serious programming & development.

This maybe useful.

Profile photo for Quora User

Here’s the thing: I wish I had known these money secrets sooner. They’ve helped so many people save hundreds, secure their family’s future, and grow their bank accounts—myself included.

And honestly? Putting them to use was way easier than I expected. I bet you can knock out at least three or four of these right now—yes, even from your phone.

Don’t wait like I did. Go ahead and start using these money secrets today!

1. Cancel Your Car Insurance

You might not even realize it, but your car insurance company is probably overcharging you. In fact, they’re kind of counting on you not noticing. Luckily,

Here’s the thing: I wish I had known these money secrets sooner. They’ve helped so many people save hundreds, secure their family’s future, and grow their bank accounts—myself included.

And honestly? Putting them to use was way easier than I expected. I bet you can knock out at least three or four of these right now—yes, even from your phone.

Don’t wait like I did. Go ahead and start using these money secrets today!

1. Cancel Your Car Insurance

You might not even realize it, but your car insurance company is probably overcharging you. In fact, they’re kind of counting on you not noticing. Luckily, this problem is easy to fix.

Don’t waste your time browsing insurance sites for a better deal. A company called Insurify shows you all your options at once — people who do this save up to $996 per year.

If you tell them a bit about yourself and your vehicle, they’ll send you personalized quotes so you can compare them and find the best one for you.

Tired of overpaying for car insurance? It takes just five minutes to compare your options with Insurify and see how much you could save on car insurance.

2. Ask This Company to Get a Big Chunk of Your Debt Forgiven

A company called National Debt Relief could convince your lenders to simply get rid of a big chunk of what you owe. No bankruptcy, no loans — you don’t even need to have good credit.

If you owe at least $10,000 in unsecured debt (credit card debt, personal loans, medical bills, etc.), National Debt Relief’s experts will build you a monthly payment plan. As your payments add up, they negotiate with your creditors to reduce the amount you owe. You then pay off the rest in a lump sum.

On average, you could become debt-free within 24 to 48 months. It takes less than a minute to sign up and see how much debt you could get rid of.

3. You Can Become a Real Estate Investor for as Little as $10

Take a look at some of the world’s wealthiest people. What do they have in common? Many invest in large private real estate deals. And here’s the thing: There’s no reason you can’t, too — for as little as $10.

An investment called the Fundrise Flagship Fund lets you get started in the world of real estate by giving you access to a low-cost, diversified portfolio of private real estate. The best part? You don’t have to be the landlord. The Flagship Fund does all the heavy lifting.

With an initial investment as low as $10, your money will be invested in the Fund, which already owns more than $1 billion worth of real estate around the country, from apartment complexes to the thriving housing rental market to larger last-mile e-commerce logistics centers.

Want to invest more? Many investors choose to invest $1,000 or more. This is a Fund that can fit any type of investor’s needs. Once invested, you can track your performance from your phone and watch as properties are acquired, improved, and operated. As properties generate cash flow, you could earn money through quarterly dividend payments. And over time, you could earn money off the potential appreciation of the properties.

So if you want to get started in the world of real-estate investing, it takes just a few minutes to sign up and create an account with the Fundrise Flagship Fund.

This is a paid advertisement. Carefully consider the investment objectives, risks, charges and expenses of the Fundrise Real Estate Fund before investing. This and other information can be found in the Fund’s prospectus. Read them carefully before investing.

4. Earn Up to $50 this Month By Answering Survey Questions About the News — It’s Anonymous

The news is a heated subject these days. It’s hard not to have an opinion on it.

Good news: A website called YouGov will pay you up to $50 or more this month just to answer survey questions about politics, the economy, and other hot news topics.

Plus, it’s totally anonymous, so no one will judge you for that hot take.

When you take a quick survey (some are less than three minutes), you’ll earn points you can exchange for up to $50 in cash or gift cards to places like Walmart and Amazon. Plus, Penny Hoarder readers will get an extra 500 points for registering and another 1,000 points after completing their first survey.

It takes just a few minutes to sign up and take your first survey, and you’ll receive your points immediately.

5. Get Up to $300 Just for Setting Up Direct Deposit With This Account

If you bank at a traditional brick-and-mortar bank, your money probably isn’t growing much (c’mon, 0.40% is basically nothing).

But there’s good news: With SoFi Checking and Savings (member FDIC), you stand to gain up to a hefty 3.80% APY on savings when you set up a direct deposit or have $5,000 or more in Qualifying Deposits and 0.50% APY on checking balances — savings APY is 10 times more than the national average.

Right now, a direct deposit of at least $1K not only sets you up for higher returns but also brings you closer to earning up to a $300 welcome bonus (terms apply).

You can easily deposit checks via your phone’s camera, transfer funds, and get customer service via chat or phone call. There are no account fees, no monthly fees and no overdraft fees. And your money is FDIC insured (up to $3M of additional FDIC insurance through the SoFi Insured Deposit Program).

It’s quick and easy to open an account with SoFi Checking and Savings (member FDIC) and watch your money grow faster than ever.

Read Disclaimer

5. Stop Paying Your Credit Card Company

If you have credit card debt, you know. The anxiety, the interest rates, the fear you’re never going to escape… but a website called AmONE wants to help.

If you owe your credit card companies $100,000 or less, AmONE will match you with a low-interest loan you can use to pay off every single one of your balances.

The benefit? You’ll be left with one bill to pay each month. And because personal loans have lower interest rates (AmONE rates start at 6.40% APR), you’ll get out of debt that much faster.

It takes less than a minute and just 10 questions to see what loans you qualify for.

6. Lock In Affordable Term Life Insurance in Minutes.

Let’s be honest—life insurance probably isn’t on your list of fun things to research. But locking in a policy now could mean huge peace of mind for your family down the road. And getting covered is actually a lot easier than you might think.

With Best Money’s term life insurance marketplace, you can compare top-rated policies in minutes and find coverage that works for you. No long phone calls. No confusing paperwork. Just straightforward quotes, starting at just $7 a month, from trusted providers so you can make an informed decision.

The best part? You’re in control. Answer a few quick questions, see your options, get coverage up to $3 million, and choose the coverage that fits your life and budget—on your terms.

You already protect your car, your home, even your phone. Why not make sure your family’s financial future is covered, too? Compare term life insurance rates with Best Money today and find a policy that fits.

Profile photo for W. Ian Douglas

This depends a great deal on what kind of software you want to be working on, as the languages you've listed (Go, Scala, Erlang, Python) are all useful for different kinds of applications.

I've seen Python jobs pay very well, I've seen Scala jobs that pay very well, I've seen Go jobs that pay very well. I don't have any experience using our hiring for Erlang.

At the end of it all, if your “passion” for writing software is just the paycheck your going to get, this will be pretty easy to detect by interviewers. Personally, I prefer to hire people who are very passionate about the kinds of problems

This depends a great deal on what kind of software you want to be working on, as the languages you've listed (Go, Scala, Erlang, Python) are all useful for different kinds of applications.

I've seen Python jobs pay very well, I've seen Scala jobs that pay very well, I've seen Go jobs that pay very well. I don't have any experience using our hiring for Erlang.

At the end of it all, if your “passion” for writing software is just the paycheck your going to get, this will be pretty easy to detect by interviewers. Personally, I prefer to hire people who are very passionate about the kinds of problems my company is trying to solve, not people who are in it for the money, or more interested in the tech we're using than what we're doing with the tech.

I'm not saying the salary is not important, it certainly is, but choosing an education path simply based on potential payout may not be your best use of time.

Plus, tech stacks change all the time, and being able to transfer your skills to another technology will be extremely valuable to a company. You might find a great job using Erlang only to have the company switch to something else completely a year later. Will you leave that job because your passion is more tied to tech stack than the company mission? Loyalty to employers means a lot in our industry, and leaving a job with a reason of “because I wanted to be working on ___ as my tech stack” is a pretty petty reason to leave a company.

Profile photo for Bruce Richardson

In fields such as data science, Python can be used only for some parts of the stack. For all Python's ease of access to C libraries etc, it's a single threaded language that doesn't scale the way Scala can. Scala doesn't have the rapid prototyping ease of Python (although it's much closer to that than Java) but it can be used as a full stack language in those spaces.

Since you mentioned Spark, a very practical gain is being able to debug and patch/support the framework.

Other benefits might better be sought in general “Why should I learn Scala?” questions but here are 2:

In my experience, Scala i

In fields such as data science, Python can be used only for some parts of the stack. For all Python's ease of access to C libraries etc, it's a single threaded language that doesn't scale the way Scala can. Scala doesn't have the rapid prototyping ease of Python (although it's much closer to that than Java) but it can be used as a full stack language in those spaces.

Since you mentioned Spark, a very practical gain is being able to debug and patch/support the framework.

Other benefits might better be sought in general “Why should I learn Scala?” questions but here are 2:

In my experience, Scala is much more accessible to dynamic-language Devs than other statically typed languages. In two places I worked, the Perl devs took more quickly to Scala than the Java devs.

If you have any interest in functional programming, Scala is much more capable and expressive in that.

Profile photo for Ahana Sharma

Aspiring Python developers often face the dilemma of selecting the right institute to learn Python programming and increase their employability. Here's a comprehensive guide to help you navigate this decision-making process and why Uncodemy emerges as a top choice:

1. Factors to Consider When Choosing an Institute:

When selecting an institute to learn Python and enhance your job prospects, consider the following factors:

  • Course Curriculum: Look for institutes that offer comprehensive Python courses covering core concepts, libraries, frameworks, and practical applications relevant to your career g

Aspiring Python developers often face the dilemma of selecting the right institute to learn Python programming and increase their employability. Here's a comprehensive guide to help you navigate this decision-making process and why Uncodemy emerges as a top choice:

1. Factors to Consider When Choosing an Institute:

When selecting an institute to learn Python and enhance your job prospects, consider the following factors:

  • Course Curriculum: Look for institutes that offer comprehensive Python courses covering core concepts, libraries, frameworks, and practical applications relevant to your career goals.
  • Faculty Expertise: Ensure that the institute has experienced instructors who are proficient in Python programming and possess industry experience. Quality teaching can significantly impact your learning experience.
  • Hands-on Experience: Seek institutes that provide hands-on learning opportunities, such as coding exercises, projects, and real-world applications. Practical experience is crucial for mastering Python skills and building a strong portfolio.
  • Industry Recognition: Choose institutes with a good reputation and industry recognition. Look for reviews, testimonials, and success stories from past students to gauge the institute's credibility and track record of placement assistance.
  • Flexibility and Convenience: Consider factors such as course duration, class timings, online/offline options, and flexibility to accommodate your schedule and learning preferences.
  • Cost and Value: Evaluate the cost of the course relative to the quality of education and value it offers. Look for institutes that provide a good return on investment in terms of learning outcomes and job opportunities.

2. Why Choose Uncodemy:

Uncodemy stands out as a premier choice for learning Python and preparing for a successful career in the tech industry. Here's why:

  • Comprehensive Curriculum: Uncodemy offers a comprehensive Python course covering fundamental concepts, advanced topics, and practical applications. The curriculum is regularly updated to align with industry trends and demands.
  • Experienced Instructors: Uncodemy boasts a team of experienced instructors who are experts in Python programming and have extensive industry experience. They provide personalized guidance, mentorship, and support to help students succeed.
  • Hands-on Learning: Uncodemy emphasizes hands-on learning with coding exercises, projects, and real-world applications. Students gain practical experience and develop the skills necessary to tackle complex Python projects confidently.
  • Industry Connections: Uncodemy has strong connections with leading companies and tech recruiters, facilitating networking opportunities, internships, and job placements for students. The institute's alumni have secured rewarding positions in top organizations across various industries.
  • Flexible Learning Options: Uncodemy offers flexible learning options, including online courses, live classes, self-paced learning, and personalized coaching. Students can choose the format that best suits their schedule and learning preferences.
  • Affordable Pricing: Despite offering high-quality education and valuable resources, Uncodemy maintains affordable pricing plans, making it accessible to students from diverse backgrounds.

In conclusion, choosing the right institute is crucial for learning Python effectively and securing a job in the tech industry. Consider factors such as course curriculum, faculty expertise, hands-on experience, industry recognition, flexibility, cost, and value when making your decision. With its comprehensive curriculum, experienced instructors, hands-on learning approach, industry connections, flexible options, and affordable pricing, Uncodemy emerges as an excellent choice for aspiring Python developers looking to kickstart their careers.

Profile photo for Andrii Melnykov

As with natural languages, it depends on the languages you already know. Knowing English helps with Spanish because both languages have perfect tense, “going to do something” and “have to do something”. Knowing Russian helps with Spanish because both languages have gendered nouns and adjectives, and share the palatalized n sound (and to some extent the thrilling r sound). But e.g. an African Igbo

As with natural languages, it depends on the languages you already know. Knowing English helps with Spanish because both languages have perfect tense, “going to do something” and “have to do something”. Knowing Russian helps with Spanish because both languages have gendered nouns and adjectives, and share the palatalized n sound (and to some extent the thrilling r sound). But e.g. an African Igbo language is pretty hard, because it’s unrelated, and it has pretty weird phonetics including tones, which are entirely foreign concept to the above languages,

Python, C++ and Java all share features with Algol-5...

Profile photo for Pavel Perikov

Actually now (2023) I can not see any connection between the languages used and getting the job.

What we see is the abundance of people and the lack of ideas how to make them produce something.

There’s a whole industry (HR) that exists mostly in the purpose of its existence. This is the first layer that separates you from the job you’re prepared to do.

Think about all those millions of people who have their job deciding if you’re qualified to do your job without understanding what your job looks like?

They all have to keep their job secure and there’re multiplies of them. So…. When faced on the ta

Actually now (2023) I can not see any connection between the languages used and getting the job.

What we see is the abundance of people and the lack of ideas how to make them produce something.

There’s a whole industry (HR) that exists mostly in the purpose of its existence. This is the first layer that separates you from the job you’re prepared to do.

Think about all those millions of people who have their job deciding if you’re qualified to do your job without understanding what your job looks like?

They all have to keep their job secure and there’re multiplies of them. So…. When faced on the task: “find me a good programmer, I don’t have time for this, we don’t have time for this, we need more people here” what will them all do?

They will ask: “what this person should look like?”. The answer: “ok, we work with the technology X and Y. Will be cool to see something who could help”.

So now we have “intern, junior, middle, senior..”. How? Just put it to simple numbers: “1 yr of experience, 3 yrs of experience, 7 yrs of experience(!!!????)”

Why? because you have to have something to measure. Check all this marks, and probably you will have a chance to be considered.

Having the whole HR industry you have to adapt to them. You have to study their habits and what will get you pass their layer to the first technical interview. And you will compete with millions of people in studying HR behaviour.

HR layer is what separates you from the technical interview.

So now we have a multi-million-people industry with its own rules existing only in the purpose of its own existing. Add courses and coaches and blog posts and people ready to polish your resume.

So you are asking the wrong question. Study what HR interview questions look like. Be in their “target group” including age, citizenship, good abilities in writing resume, behave according to their patterns etc etc….

Or.

Learn the programming languages. You, as a programmer, should do it anyway. Build your network of colleagues. Read a lot. Program a lot for fun. Hope that in your network somebody need someone to help with the tasks at hand.

Profile photo for Paul Whiting

Scala has excellent support for the functional programming paradigm.

So there is the opportunity to learn not just a new language but a whole new way of thinking about programming.

This will expand the mental toolkit you have available to solve problems, making you fundamentally a better person.

Profile photo for Bruce Richardson

Because the Scala jobs pay a lot more? That’s one serious motivation, if you’re good enough to make the grade.

Over the years, I have learned several languages that I don’t use at work. Each of them taught me something new and enabled me to look at the languages I do use with fresh eyes. The new knowledge helped me be a better programmer. One day I may find myself using them for things other than side projects, but even if that never happens, I will have gained something.

Scala has things to teach you that Python cannot. And vice versa. Knowing both would make you a more informed programmer than

Because the Scala jobs pay a lot more? That’s one serious motivation, if you’re good enough to make the grade.

Over the years, I have learned several languages that I don’t use at work. Each of them taught me something new and enabled me to look at the languages I do use with fresh eyes. The new knowledge helped me be a better programmer. One day I may find myself using them for things other than side projects, but even if that never happens, I will have gained something.

Scala has things to teach you that Python cannot. And vice versa. Knowing both would make you a more informed programmer than knowing only one. Python has some functional abstractions (if expressions, comprehensions, generators) but Scala has a much more powerful and comprehensive set of functional programming features. Scala can certainly teach you things that you can use to your profit in Python.

That said, if Python is likely to be your main work language, you might well do better to learn Haskell on the side. Haskell is often more accessible to Python programmers and is a purist FP language (Scala is hybrid FP and OO), so the FP lessons are clearer.

I continue to be puzzled (and disappointed) by people saying “Why should I learn X” or thinking they only need to know one language. Monolingual developers are not the best developers. They often struggle to see the difference between a computing concept and the way their language of choice happens to implement it. Having to relearn how to do things in a new language teaches you what is truly essential to the problem and what is trivial complication imposed by one language design.

Profile photo for Kartik Tummawar

Just learning Python, or any other scripting language for that matter won't give you a job.

If you understand the fundamental concepts of programming i.e loops, conditionals etc., learning a new language is just a matter of going through the documentation of that language. Cramming syntax isn't a very impressive skill to have, one can always Google that. What impresses people are your problem solving skills.

Lets say you know Python, and you apply for a job at a company working in the field of data analysis. Your application would be judged mainly on the basis of your knowledge of Probability an

Just learning Python, or any other scripting language for that matter won't give you a job.

If you understand the fundamental concepts of programming i.e loops, conditionals etc., learning a new language is just a matter of going through the documentation of that language. Cramming syntax isn't a very impressive skill to have, one can always Google that. What impresses people are your problem solving skills.

Lets say you know Python, and you apply for a job at a company working in the field of data analysis. Your application would be judged mainly on the basis of your knowledge of Probability and statistics, and other related fields.

Programming languages are just tools to solve complex problems.
Just having tools doesn't make a good craftsman.

Below are Python Job Profiles

  • Software Engineer
  • Research Analyst
  • Data Analyst
  • Data Scientist
  • Software Developer

If you want to know about job openings then head over here : Welcome to Python.org

Keep following, i will add edits if i find something useful.

Thanks!

Profile photo for Anonymous
Anonymous

I find this question oddly hard to answer. Scala is a big language and I guess it's not a huge surprise that it has a few camps. I think it can be grouped by libraries and frameworks.

  1. Scalaz/ purely functional: Some places are really trying to seriously use scala as a pure FP language. The scalaz library has its own versions of the more mainstream libraries for concurrency and other things. Places like this are probably looking for an ability to think functionally and some pure FP experience. They would probably be more interested in your conceptualization of FP than expectant of a lot of hands

I find this question oddly hard to answer. Scala is a big language and I guess it's not a huge surprise that it has a few camps. I think it can be grouped by libraries and frameworks.

  1. Scalaz/ purely functional: Some places are really trying to seriously use scala as a pure FP language. The scalaz library has its own versions of the more mainstream libraries for concurrency and other things. Places like this are probably looking for an ability to think functionally and some pure FP experience. They would probably be more interested in your conceptualization of FP than expectant of a lot of hands on experience with their specific stack.
  2. Akka: if they are doing a lot of stuff with akka, which is a large possibility then its likely they would want you to know it. actor model, futures, etc ..
  3. Scala noobs: this is not meant to be a put down. There are a lot of start-ups founded by very strong engineers who have decided to take the scala route for one reason or another and are learning it as they go. It could have something to do with Spark or some other framework they want to have access to, it could be they just like the language. In a lot of these cases you will find the engineers growing into the language, from initially writing in a style that more resembles their previous experience. A lot of times its that they are moving from Java, which can have the (unfortunate) effect of there being a big base of code that is essentially java written with the Scala syntax. Other times they are coming from python or even javascript. In these cases it will probably be mainly important to demonstrate a high degree of interest/familiarity with the basic language. Know your for comprehensions! They have put a lot of work into learning this Scala monster and will know some tricky questions around the languages eccentric issues they have uncovered along the way.

Generally think of it as any other interview except when you get to the white board your gonna code with Scala. And i wouldnt recommend being in a situation when they ask you to get up there and show them some scala and the first thing you do is break out a var and a while loop. If you can not get through a small technical challenge using pure FP then no one is going to take you seriously and they will think you are just faking the interest in scala to get an interview.

Profile photo for Quora User

You have to think functional programming. But you're looking for specifics...

  1. Understand how to transform iterative processes into (tail) recursive processes;
  2. Understand how to design objects with mutable state into either immutable objects or actors;
  3. Understand for comprehensions;
  4. Know how to avoid nulls and exceptions by using Option and Future/Try (or Either if that floats your boat);
  5. Understand how to compose functions, for example using a lift to transform a T=>R into a F[T]=>F[R] where F represents Option, Try, Future, etc.

Of course, you could always simply write Java code in Scala syntax and

You have to think functional programming. But you're looking for specifics...

  1. Understand how to transform iterative processes into (tail) recursive processes;
  2. Understand how to design objects with mutable state into either immutable objects or actors;
  3. Understand for comprehensions;
  4. Know how to avoid nulls and exceptions by using Option and Future/Try (or Either if that floats your boat);
  5. Understand how to compose functions, for example using a lift to transform a T=>R into a F[T]=>F[R] where F represents Option, Try, Future, etc.

Of course, you could always simply write Java code in Scala syntax and that would probably get you through some jobs--but it wouldn't make you sought after.

[EDIT] Since writing this answer, I've posted a new blog entry which addresses the first topic listed above.

Profile photo for Neeraj Singh

Well you can learn python from any online course that you want. But in order to land a job, just learning python won't be enough. After you are done with the course, try to develop applications using python. Only then you will be able to actually understand the language. There are a lot many things which you can develop using python. Try for the trending technologies, like machine learning . Its a competitive world, just knowing a language wont suffice. You need to learn to play with it and create anything you want.

Profile photo for Quora User

The answers to these sorts of questions will be skewered. The reason is that the languages someone knows correlate with their skill level, even though this needn’t be the case inherently.

For example, a lot of beginners learn Python. So there will be a lot of beginner Python programmers. Meanwhile, Scala is rarely taught as a first language — and would be a horrible choice for this purpose, and is often picked up by programmers with at least some and often quite a lot of experience under the belt.

The Python beginners will drag the average figures down, while in Scala this won’t be the case. The

The answers to these sorts of questions will be skewered. The reason is that the languages someone knows correlate with their skill level, even though this needn’t be the case inherently.

For example, a lot of beginners learn Python. So there will be a lot of beginner Python programmers. Meanwhile, Scala is rarely taught as a first language — and would be a horrible choice for this purpose, and is often picked up by programmers with at least some and often quite a lot of experience under the belt.

The Python beginners will drag the average figures down, while in Scala this won’t be the case. Therefore it may seem as if Scala programmers earn inherently more, but this is much more likely a reflection of their skill level or years of experience. A Python programmer with the same skill level and same years of experience would likely earn just as much.

Certain languages are also more popular in certain domains. For example, Haskell tends to be popular in the high-paying financial world. Once again, it is not the language but rather the domain and requisite skill set that determines how much you’d earn.

If you want the highest paid jobs, you shouldn’t focus too much on languages. You should focus on being a valuable software engineer.

Profile photo for Darshita Patel

Source: Python Career Opportunities 101: Your Guide To A Career In Python Programming [ https://www.edureka.co/blog/python-career-opportunities-your-guide-to-a-career-in-python-programming ]

Python is a premier, flexible, and powerful open-source language that is easy to learn, easy to use, and has powerful libraries for data manipulation and analysis. With the popularity of Python programming lang

Source: Python Career Opportunities 101: Your Guide To A Career In Python Programming [ https://www.edureka.co/blog/python-career-opportunities-your-guide-to-a-career-in-python-programming ]

Python is a premier, flexible, and powerful open-source language that is easy to learn, easy to use, and has powerful libraries for data manipulation and analysis. With the popularity of Python programming language moving steadily along an upward trajectory, the time is right to master Python in order to land Python jobs. In this bog post, we will discuss various Python career opportunities available for a Python programmer.

Python Career Opportunities

* In an independent third party survey, it has been revealed that the Python programming language is currently the most popular language for data scientists worldwide.
* This claim is substantiated by the Institute of Electrical and Electronic Engineers, which tracks programming languages by popularity. According to them, Python is the second most popular programming language this year for development on the web after Java.

By the end of 2015, Python boasted of some impressive numbers. Hired - Job Search Marketplace. Job Hunting Simplified! [ http://Hired.com ] released an exhaustive list of the most desired job skills by companies hiring on their platform and Python topped the list followed by Java, JavaScript Frontend, HTML/CSS, and Ruby. Python enjoys a whopping 40.4% popularity, beating Java for the first time in almost two decades!


> A recent Job Search | Indeed [ http://Indeed.com ] inquiry also revealed at ...

Profile photo for Manish Manu

Don’t waste time by taking notes.

Never go to anyone pay them for a computer language and take notes. It is important that you practice more.

I suggest that for basics you can take class in coursera.

For job level proficiency you’ll need lot more practice and understanding many modules and packages.

To gain more practice i suggest you take up Codeforces which is a Russian based coding arena for everyone. They have rounds every week gain at least a master level. Also try codechef and hackerrank.

Finally python for job would depend on the post.

  1. For Data Sci : Numpy Scikit etc.
  2. For ML: Numpy Scikit kera

Don’t waste time by taking notes.

Never go to anyone pay them for a computer language and take notes. It is important that you practice more.

I suggest that for basics you can take class in coursera.

For job level proficiency you’ll need lot more practice and understanding many modules and packages.

To gain more practice i suggest you take up Codeforces which is a Russian based coding arena for everyone. They have rounds every week gain at least a master level. Also try codechef and hackerrank.

Finally python for job would depend on the post.

  1. For Data Sci : Numpy Scikit etc.
  2. For ML: Numpy Scikit keras pandas.

i am sure of these.

Profile photo for Mark Miller

Lisp is not a functional language. Though, it can be used that way, and I’ve often liked using it that way.

A few fun things I’ve done with it:

  • Writing a “word to number” translator that converts words like “thirteen” and “thirty” to numbers.
  • Writing an augmented transition network interpreter, in exercises from Chapter 19 of the book “Lisp” by Winston, Klaus, and Horn. (The ATNs I used parsed lists of atoms, representing simple sentences, into categories.)

I wrote about the the ATN interpreter at:

  • Writing a crude object system

I wrote this object system in answer

Lisp is not a functional language. Though, it can be used that way, and I’ve often liked using it that way.

A few fun things I’ve done with it:

  • Writing a “word to number” translator that converts words like “thirteen” and “thirty” to numbers.
  • Writing an augmented transition network interpreter, in exercises from Chapter 19 of the book “Lisp” by Winston, Klaus, and Horn. (The ATNs I used parsed lists of atoms, representing simple sentences, into categories.)

I wrote about the the ATN interpreter at:

  • Writing a crude object system

I wrote this object system in answer to a question about properties in Lisp:

A Lisp dialect that is functional is Scheme.

I had some “hard fun” with it in Section 3.5 of the book “Structure and Interpretation of Computer Programs” (often referred to as “SICP”), where it talked about using streams for expressing mathematical series.

Profile photo for Terry Lambert

Usually a job posting for a Python programmer will specify some or all of the modules they want you to be familiar with using.

Typically, they’ll says something like “should have familiarity with/must have familiarity with X Y Z”.

Python is simple enough that if you have a good working knowledge of the language itself, you should be able to pick up those modules fairly readily, before you apply for the job, and land in an interview, sitting in the hot seat.

Profile photo for Shawn Masters

Yes. Both languages are better than Java for developing on the JVM. Given the “or” in your question I would (and have) picked Clojure over Scala. Looking at the 2, Scala is the comparatively complex and trying to please everyone one every front language. Languages like that can get overly complex and become hard for the human to work with, fully utilize or even follow other’s code.

On the other hand Clojure is a straightforward language that started out small and simple. It has taken a single approach with some pragmatic decisions on working with various problems (No TCO in the JVM, fine the la

Yes. Both languages are better than Java for developing on the JVM. Given the “or” in your question I would (and have) picked Clojure over Scala. Looking at the 2, Scala is the comparatively complex and trying to please everyone one every front language. Languages like that can get overly complex and become hard for the human to work with, fully utilize or even follow other’s code.

On the other hand Clojure is a straightforward language that started out small and simple. It has taken a single approach with some pragmatic decisions on working with various problems (No TCO in the JVM, fine the language adds something to figure it out). Some of the more recent additions to the language have made it more complex, but the reasons for going down that path are decent ones and probably well worth the expense.

While both languages support the functional programming style, Clojure being pure provides a way for a developer to be more productive and have a different way to think about problems. The increased cost in memory and CPU time are minimal in most cases. The cases where that trade off is not worthwhile, Scala isn’t your best choice either.

Profile photo for Ulf Wiger

As for Erlang, it has slowly gained recognition since it was released as Open Source in 1998, already then being used commercially in so-called “five-nines”[1] telecoms systems. Perhaps a bit unusually for a telecoms technology, Erlang also became popular for the ease and elegance with with even very small teams could build robust messaging systems.

The emergence of “conversational web services” and web-scale databases meant that the kind of programming Erlang was designed for had entered the mainstream. Also, the shift towards multicore architectures put a spotlight on concurrency programming

As for Erlang, it has slowly gained recognition since it was released as Open Source in 1998, already then being used commercially in so-called “five-nines”[1] telecoms systems. Perhaps a bit unusually for a telecoms technology, Erlang also became popular for the ease and elegance with with even very small teams could build robust messaging systems.

The emergence of “conversational web services” and web-scale databases meant that the kind of programming Erlang was designed for had entered the mainstream. Also, the shift towards multicore architectures put a spotlight on concurrency programming - something that Erlang excels at.

A few significant events caused at least temporary peaks in interest, for example:

  • British Telecom wrote in a press release about an Erlang-based product achieving “nine nines” availability during an extended field trial. This became something of a meme for Erlang, as if Erlang guarantees “nine nines” by design. It was also the only publicly available in-service performance figure at the time, since Ericsson doesn’t reveal such data.
  • It was rumored, and later confirmed, that Amazon SimpleDB was written in Erlang.
  • It was revealed that Facebook Chat was implemented in Erlang, by a team of two programmers.
  • The unusual database CouchDB, written in Erlang by Damien Katz, became popular.
  • When Facebook acquired WhatsApp, it became known that they used Erlang as their secret sauce.

[1] 99.999% service availability, or ca 6 minutes downtime/year, including maintenance and upgrades.

Profile photo for Aghyad Al-Kabbani

A good question!

The increase in popularity is largely due to the following:

  1. Parallel architectures: those enforced software to use different computational models that are easily used in parallel, all of this is to harness the true power of the multi-core processors we have in face of problems like big data.
  2. Correctness: reasoning and proving a functional or logic program to be correct is both easier and more formalised than most approches in the procedural way.
  3. Performance: I remember reading that Scala beats C++ in terms of generatrd lines of assembly code, this is due to the assumptions the com

A good question!

The increase in popularity is largely due to the following:

  1. Parallel architectures: those enforced software to use different computational models that are easily used in parallel, all of this is to harness the true power of the multi-core processors we have in face of problems like big data.
  2. Correctness: reasoning and proving a functional or logic program to be correct is both easier and more formalised than most approches in the procedural way.
  3. Performance: I remember reading that Scala beats C++ in terms of generatrd lines of assembly code, this is due to the assumptions the compiler can make once we are in the functional realm of computation.
  4. Easier to reason about: evaluation of expressions is more natural to humans than simulating a Von Neumann computer in our heads, which makes thinking much easier, at least for me.
  5. Elegance: most primitive problem and even fairly complex ones (like ones on project Euler) can be solved in an elegant one line of code, use this to impress your procedural friends :-) .
  6. Typing systems (only for statically typed languages): this deals with the thing most people hate about Python, which is dynamic typing. Dynamic typing is cool as long as you're writing small programs, but when assembling blocks of software, it often turns to be a source of problems, statically typed languages make compiling a program that has a type error impossible, this eliminates some of the tests that are needed in other languages.

Hope this helps!

Profile photo for Petr Messner

The more languages you know the more of a person you are :)

Scala is built on top of JVM, and lot of big data technologies are based on JVM platform, some are implemented directly in Scala. If any big data tool supports Python then it is more like a “second class citizen”, at least speed-wise. By learning Java and Scala you could understand more how these tools work and how to write effecient code.

Profile photo for Cody Jackson

A2A

You should have at least three years of experience, or be able to demonstrate (through a portfolio of work) that you have a wide breadth of knowledge.

I got my first Python job because I had written a book series about Python. All the knowledge and experience I had was from hobby programming and just learning new things to put in each book edition, but it justified to the dept. head that I was worth taking on.

I got my second Python job for much the same reason. The interview was very basic, as having the book on my resume was pretty much what clinched the deal.

Obviously, I’m not telling you

A2A

You should have at least three years of experience, or be able to demonstrate (through a portfolio of work) that you have a wide breadth of knowledge.

I got my first Python job because I had written a book series about Python. All the knowledge and experience I had was from hobby programming and just learning new things to put in each book edition, but it justified to the dept. head that I was worth taking on.

I got my second Python job for much the same reason. The interview was very basic, as having the book on my resume was pretty much what clinched the deal.

Obviously, I’m not telling you to write a book or three, but you should be able to do just about everything that an introduction to Python book talks about. While you can learn the basics of Python and write coherent programs in just a few months, you will always be learning new things about the language. So don’t worry that you don’t know everything, but you should at least be able to write moderate-sized console-based applications and talk intelligently about how to use Python.

Profile photo for Mike Milpot

At home! Pick a real actual project you can make. Something substantial with a real function. Design and implement it. Then, prepare to explain in detail who and why you designed it the way you did. If I was looking for someone on my team, I’d be delighted to see someone presenting something real and useful that was designed and implemented, and where you’d be able to give honest truthful answers to anything I throw at you.
So, what project could you create, you wonder… What type of business and what type of projects would you enjoy working on for a living? Games? Database server side stuff? W

At home! Pick a real actual project you can make. Something substantial with a real function. Design and implement it. Then, prepare to explain in detail who and why you designed it the way you did. If I was looking for someone on my team, I’d be delighted to see someone presenting something real and useful that was designed and implemented, and where you’d be able to give honest truthful answers to anything I throw at you.
So, what project could you create, you wonder… What type of business and what type of projects would you enjoy working on for a living? Games? Database server side stuff? Web server with dynamic data driven content? Scientific processes? Construction? Logistics? Traffic control? Photography? Multimedia? So many choices !

Profile photo for David Rutter

Well, first, get good. There's no two ways about it. If you're still new to python, which is to say you've never completed any large development projects in Python, you aren't a Python developer and shouldn't be paid as such.

Pitch in to some open source project you're interested in. Prove your mettle. Then start applying to development positions.

Profile photo for Sean Corfield

The short answer is: it depends.

Clojure is certainly a simpler language than Scala. It has much less syntax, it has a much simpler type system, the core language is very small. It has a handful of core abstractions that permeate everything in the language (sequences primarily).

But Clojure is not like any of those other languages you've used before -- it's a Lisp -- and that means it's going to seem much more alien to you than Scala (which is, in some ways, a more cryptic version of Java). For some people, that alien appearance and "OMG! The Parentheses!" can be enough to make learning Clojure

The short answer is: it depends.

Clojure is certainly a simpler language than Scala. It has much less syntax, it has a much simpler type system, the core language is very small. It has a handful of core abstractions that permeate everything in the language (sequences primarily).

But Clojure is not like any of those other languages you've used before -- it's a Lisp -- and that means it's going to seem much more alien to you than Scala (which is, in some ways, a more cryptic version of Java). For some people, that alien appearance and "OMG! The Parentheses!" can be enough to make learning Clojure very difficult for some people.

I used Scala in production for a year or two and it's an impressive language but it certainly has its quirks (implicits can make code easier to read but much harder to really understand, for example). To truly get the benefits of what Scala offers, you need to embrace FP and you need to embrace its type system -- using it as just "a better Java" is a waste of a good language.

In 2011, I switched to Clojure and as of last year that officially became our primary language at work. I love Clojure: it maintains its simplicity even at scale, it's fluid and consistent, and the immediate feedback of a live REPL is amazing when developing applications.

I work with a team of developers who've mostly used dynamic scripting languages. I would say they found Clojure easier to learn than Scala overall -- but they struggled with the FP concepts in both and with Scala they also struggled with the type system as well.

Given your trajectory through a number of languages -- and the observation that a number of Rubyists have moved to Clojure and profess to love it -- I would say you'd find Clojure more satisfying, once you get over the shock of the syntax :)

About · Careers · Privacy · Terms · Contact · Languages · Your Ad Choices · Press ·
© Quora, Inc. 2025