<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Database &#8211; Be on the Right Side of Change</title>
	<atom:link href="https://blog.finxter.com/category/database/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.finxter.com</link>
	<description></description>
	<lastBuildDate>Sun, 25 Jun 2023 10:32:55 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>

<image>
	<url>https://blog.finxter.com/wp-content/uploads/2020/08/cropped-cropped-finxter_nobackground-32x32.png</url>
	<title>Database &#8211; Be on the Right Side of Change</title>
	<link>https://blog.finxter.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Python Pickle Module: Simplify Object Persistence [Ultimate Guide]</title>
		<link>https://blog.finxter.com/python-pickle-module-simplify-object-persistence-ultimate-guide/</link>
		
		<dc:creator><![CDATA[Chris]]></dc:creator>
		<pubDate>Fri, 14 Apr 2023 09:47:00 +0000</pubDate>
				<category><![CDATA[Data Conversion]]></category>
		<category><![CDATA[Data Structures]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[File Handling]]></category>
		<category><![CDATA[Input/Output]]></category>
		<category><![CDATA[Python]]></category>
		<guid isPermaLink="false">https://blog.finxter.com/?p=1289330</guid>

					<description><![CDATA[🥒 Python pickling is another word for serializing and de-serializing Python objects, so you can store them in a binary format or transmit them across a network. Pickling helps preserving the state of objects, such as data structures or machine learning models, between different sessions or applications. The pickle module in Python&#8217;s standard library provides ... <a title="Python Pickle Module: Simplify Object Persistence [Ultimate Guide]" class="read-more" href="https://blog.finxter.com/python-pickle-module-simplify-object-persistence-ultimate-guide/" aria-label="Read more about Python Pickle Module: Simplify Object Persistence [Ultimate Guide]">Read more</a>]]></description>
										<content:encoded><![CDATA[
<p class="has-base-2-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f952.png" alt="🥒" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Python pickling</strong> is another word for <strong><em>serializing </em>and <em>de-serializing</em> Python objects</strong>, so you can store them in a binary format or transmit them across a network. Pickling helps preserving the state of objects, such as data structures or machine learning models, between different sessions or applications. <br><br>The <code>pickle</code> module in Python&#8217;s standard library provides a simple and efficient way to perform pickling and unpickling operations. <br><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/27a1.png" alt="➡" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f952.png" alt="🥒" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>When pickling</strong>, Python objects are converted into a byte stream, which can be saved to a file or transmitted over a network. Conversely,<br><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f952.png" alt="🥒" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/27a1.png" alt="➡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>When unpickling</strong>, the byte stream is converted back into the original Python object, restoring its state and properties.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img fetchpriority="high" decoding="async" width="1024" height="682" src="https://blog.finxter.com/wp-content/uploads/2023/04/image-117-1024x682.png" alt="" class="wp-image-1290991" srcset="https://blog.finxter.com/wp-content/uploads/2023/04/image-117-1024x682.png 1024w, https://blog.finxter.com/wp-content/uploads/2023/04/image-117-300x200.png 300w, https://blog.finxter.com/wp-content/uploads/2023/04/image-117-768x512.png 768w, https://blog.finxter.com/wp-content/uploads/2023/04/image-117.png 1213w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p class="wp-block-paragraph">Imagine you&#8217;ve spent hours working on a Python project, creating complex data structures, and suddenly, you need to save your progress, close your script, and transfer your data. What can you do? <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f914.png" alt="🤔" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Well, that&#8217;s where Python&#8217;s <a href="https://docs.python.org/3/library/pickle.html" data-type="URL" data-id="https://docs.python.org/3/library/pickle.html" target="_blank" rel="noreferrer noopener"><code>pickle</code> module</a> comes to the rescue! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f525.png" alt="🔥" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="wp-block-paragraph">Pickle allows you to easily persist your Python objects by converting them into a binary format, also known as &#8220;pickling.&#8221; When you need to restore your data, you can simply &#8220;unpickle&#8221; it, bringing your objects back to life. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> The best part? The <code>pickle</code> module works with a wide range of Python types, including custom-defined objects, making it incredibly versatile for all of your serialization needs. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f60e.png" alt="😎" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="wp-block-paragraph">So, get ready to dive into the world of Python pickling, where you&#8217;ll discover how to save and resume your work effortlessly, ensuring that your hard-earned data remains intact across sessions and even across different systems. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<h2 class="wp-block-heading">Serialization in Python</h2>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="682" src="https://blog.finxter.com/wp-content/uploads/2023/04/image-118-1024x682.png" alt="" class="wp-image-1290992" srcset="https://blog.finxter.com/wp-content/uploads/2023/04/image-118-1024x682.png 1024w, https://blog.finxter.com/wp-content/uploads/2023/04/image-118-300x200.png 300w, https://blog.finxter.com/wp-content/uploads/2023/04/image-118-768x512.png 768w, https://blog.finxter.com/wp-content/uploads/2023/04/image-118.png 1213w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f40d.png" alt="🐍" class="wp-smiley" style="height: 1em; max-height: 1em;" /> When working with Python, you might encounter situations where you need to persist your objects for future use. This is where the <code><a href="https://docs.python.org/3/library/pickle.html" data-type="URL" data-id="https://docs.python.org/3/library/pickle.html" target="_blank" rel="noreferrer noopener">pickle</a></code> module comes in handy. With pickle, you can easily serialize and deserialize Python objects to store and retrieve them as needed.</p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><strong>Serialization</strong> is the process of converting an object into a sequence of bytes, which can be later deserialized back into the original object. This can be especially useful when you need to save the state of an object or transfer data between different programs. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f603.png" alt="😃" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="wp-block-paragraph">In Python, the pickle module supports the serialization and deserialization of a wide range of objects, including lists, dictionaries, and custom class instances. To serialize an object, you simply call the <code>pickle.dumps()</code> method, like so:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="3" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">import pickle
my_list = [1, 2, 3]
serialized_data = pickle.dumps(my_list)
</pre>



<p class="wp-block-paragraph">To deserialize the data, you can use the <code>pickle.loads()</code> method:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="1" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">deserialized_data = pickle.loads(serialized_data)
</pre>



<p class="wp-block-paragraph">You&#8217;ll find that <code>deserialized_data</code> is now an exact replica of the original list, <code>my_list</code>. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="wp-block-paragraph">Keep in mind that while pickle is a powerful tool for storing and loading Python objects, it has certain limitations. It can&#8217;t serialize objects containing certain types of data, such as opened files or lambda functions. Nonetheless, it&#8217;s an indispensable module for working with Python objects persistently. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4da.png" alt="📚" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Happy pickling!</p>



<h2 class="wp-block-heading">What is the Python Pickle Module?</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="915" height="713" src="https://blog.finxter.com/wp-content/uploads/2023/04/image-119.png" alt="" class="wp-image-1290994" srcset="https://blog.finxter.com/wp-content/uploads/2023/04/image-119.png 915w, https://blog.finxter.com/wp-content/uploads/2023/04/image-119-300x234.png 300w, https://blog.finxter.com/wp-content/uploads/2023/04/image-119-768x598.png 768w" sizes="(max-width: 915px) 100vw, 915px" /></figure>
</div>


<p class="has-global-color-8-background-color has-background wp-block-paragraph">The Python pickle module is a <strong>powerful tool to serialize and deserialize objects</strong> in Python. Unlike the JSON module, which serializes objects into a <em>human-readable format</em>, pickle uses a <em>binary format</em> for serialization, making it faster and compatible with more Python types right out of the box, including custom-defined objects. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /><a rel="noreferrer noopener" href="https://realpython.com/python-pickle-module/" target="_blank">(source)</a></p>



<p class="wp-block-paragraph">Think of pickling as a process that <strong>converts a complex Python object hierarchy into a byte stream</strong>. Once serialized, you can easily write the byte stream to a file, send it across a network, or store it in a database. Unpickling, on the other hand, is the inverse operation that transforms a byte stream back into the original object hierarchy. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f504.png" alt="🔄" class="wp-smiley" style="height: 1em; max-height: 1em;" /><a href="https://docs.python.org/3/library/pickle.html">(source)</a></p>



<p class="wp-block-paragraph">What makes <code>pickle</code> truly remarkable is its ability to serialize and deserialize a wide range of Python objects, such as <a href="https://blog.finxter.com/python-lists/" data-type="URL" data-id="https://blog.finxter.com/python-lists/" target="_blank" rel="noreferrer noopener">lists</a>, <a href="https://blog.finxter.com/python-dictionary/" data-type="URL" data-id="https://blog.finxter.com/python-dictionary/" target="_blank" rel="noreferrer noopener">dictionaries</a>, and your own <a href="https://blog.finxter.com/introduction-to-python-classes/" data-type="post" data-id="30596" target="_blank" rel="noreferrer noopener">custom classes</a>.<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> To effectively use the <code>pickle</code> module, keep in mind the following methods:</p>



<ul class="wp-block-list">
<li><code>pickle.dump()</code> &#8211; Serialize an object to a file-like object</li>



<li><code>pickle.load()</code> &#8211; Deserialize an object from a file-like object</li>



<li><code>pickle.dumps()</code> &#8211; Serialize an object to a byte stream</li>



<li><code>pickle.loads()</code> &#8211; Deserialize an object from a byte stream</li>
</ul>



<p class="wp-block-paragraph">While using pickle, remember to exercise caution when deserializing untrusted data, as it might be a security risk. Now that you know the basics of the Python pickle module, you&#8217;re ready to explore its capabilities in serializing and deserializing objects. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f40d.png" alt="🐍" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<h2 class="wp-block-heading">How to Install Pickle</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="915" height="610" src="https://blog.finxter.com/wp-content/uploads/2023/04/image-120.png" alt="" class="wp-image-1290996" srcset="https://blog.finxter.com/wp-content/uploads/2023/04/image-120.png 915w, https://blog.finxter.com/wp-content/uploads/2023/04/image-120-300x200.png 300w, https://blog.finxter.com/wp-content/uploads/2023/04/image-120-768x512.png 768w" sizes="auto, (max-width: 915px) 100vw, 915px" /></figure>
</div>


<p class="wp-block-paragraph">Good news! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f389.png" alt="🎉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> If you&#8217;re using Python 3, the <code>pickle</code> module comes pre-installed with your Python distribution, so there&#8217;s no need to perform additional installations. Simply use the <code>import pickle</code> command to get started with serializing and deserializing your Python objects! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4bc.png" alt="💼" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="wp-block-paragraph">If, for some reason, the standard import doesn&#8217;t work, you can try installing the <code>pickle-mixin</code> package by running the following command in your terminal or command prompt:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">pip install pickle-mixin</pre>



<p class="wp-block-paragraph">Keep in mind that the <code>pickle-mixin</code> package is intended to provide compatibility with older Python versions and might not be necessary for Python 3.9 or later. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9e0.png" alt="🧠" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="wp-block-paragraph">That&#8217;s it! You&#8217;re now ready to start using the <code>pickle</code> module to save and restore your Python objects. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> If you&#8217;re using older <a rel="noreferrer noopener" href="https://blog.finxter.com/how-to-check-your-python-version/" data-type="post" data-id="1371" target="_blank">Python versions</a> (3.5-3.7), you can consider the <a href="https://stackoverflow.com/questions/48477949/not-able-to-pip-install-pickle-in-python-3-6" target="_blank" rel="noreferrer noopener"><code>pickle5</code></a> package, which backports the features and APIs added in the pickle module in Python 3.8.3, including the PEP 574 additions. To install, simply run:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">pip install pickle5
</pre>



<p class="wp-block-paragraph">With <code>pickle</code> installed and ready to go, you can now easily persist your Python objects and work smoothly with complex data structures. Good luck, and happy pickling! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f952.png" alt="🥒" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4bb.png" alt="💻" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<h2 class="wp-block-heading">Basic Operations of Pickle</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="915" height="610" src="https://blog.finxter.com/wp-content/uploads/2023/04/image-121.png" alt="" class="wp-image-1290997" srcset="https://blog.finxter.com/wp-content/uploads/2023/04/image-121.png 915w, https://blog.finxter.com/wp-content/uploads/2023/04/image-121-300x200.png 300w, https://blog.finxter.com/wp-content/uploads/2023/04/image-121-768x512.png 768w" sizes="auto, (max-width: 915px) 100vw, 915px" /></figure>
</div>


<p class="wp-block-paragraph">In this section, you will learn about the basic operations of the Python pickle module, which allows you to persist objects in Python effectively. We will cover pickling and unpickling objects, two essential processes for object serialization and deserialization.</p>



<h3 class="wp-block-heading">Pickling Objects</h3>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f952.png" alt="🥒" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Pickling is the process of converting a Python object into a byte stream, suitable for storing on disk or sending over a network. To pickle an object, you can use the <code>pickle.dump()</code> function. Here is an example:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">import pickle

data = {"key": "value"}  # An example dictionary object to pickle
filename = "data.pkl"

with open(filename, "wb") as file:
    pickle.dump(data, file)
</pre>



<p class="wp-block-paragraph">In this example, you create a dictionary named <code>data</code>, then save it to a file named <code>data.pkl</code> using the <code>pickle.dump()</code> function. The <code>"wb"</code> mode in <code>open()</code> indicates you&#8217;re writing to the file in binary mode, which is necessary for pickling.</p>



<h3 class="wp-block-heading">Unpickling Objects</h3>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f37d.png" alt="🍽" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Unpickling is the process of converting a byte stream back into a Python object. To unpickle an object, you can use the <code>pickle.load()</code> function. Here is an example:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">import pickle

filename = "data.pkl"

with open(filename, "rb") as file:
    loaded_data = pickle.load(file)

print(loaded_data)  # This will output: {"key": "value"}
</pre>



<p class="wp-block-paragraph">In this example, you open the <code>"data.pkl"</code> file that contains the pickled object in binary reading mode (<code>"rb"</code>). You then load the object using the <code>pickle.load()</code> function and store it in the variable <code>loaded_data</code>.</p>



<p class="wp-block-paragraph">Now you know the basics of pickling and unpickling objects in Python using the pickle module! You can use these techniques to serialize and deserialize your objects, enabling easy persistence and storage. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<h2 class="wp-block-heading">Python Pickle Examples</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="915" height="610" src="https://blog.finxter.com/wp-content/uploads/2023/04/image-122.png" alt="" class="wp-image-1290998" srcset="https://blog.finxter.com/wp-content/uploads/2023/04/image-122.png 915w, https://blog.finxter.com/wp-content/uploads/2023/04/image-122-300x200.png 300w, https://blog.finxter.com/wp-content/uploads/2023/04/image-122-768x512.png 768w" sizes="auto, (max-width: 915px) 100vw, 915px" /></figure>
</div>


<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4cc.png" alt="📌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> To get started with pickling in Python, make sure to import the <code>pickle</code> module:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">import pickle</pre>



<p class="wp-block-paragraph">Now, let&#8217;s dive into some examples!</p>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f538.png" alt="🔸" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Example 1: Pickling a Dictionary</strong></p>



<p class="wp-block-paragraph">First, create a dictionary and store it in a file:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">data = {"one": 1, "two": 2, "three": 3}
with open("data.pickle", "wb") as file:
    pickle.dump(data, file)</pre>



<p class="wp-block-paragraph">In this example, you use <code>pickle.dump()</code> to write the serialized object (the dictionary) to a file. Make sure to open the file in <code>write-binary ('wb')</code> mode <a href="https://www.digitalocean.com/community/tutorials/python-pickle-example">[DigitalOcean]</a>.</p>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f538.png" alt="🔸" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Example 2: Unpickling a Dictionary</strong></p>



<p class="wp-block-paragraph">Now that you have pickled your dictionary, you can retrieve it from the file:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">with open("data.pickle", "rb") as file:
    loaded_data = pickle.load(file)
print(loaded_data)</pre>



<p class="wp-block-paragraph">Here, you use <code>pickle.load()</code> to read and deserialize the object stored in the file. Note that the file should be opened in <code>read-binary ('rb')</code> mode.</p>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f538.png" alt="🔸" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Example 3: Pickling and Unpickling a List</strong></p>



<p class="wp-block-paragraph">You can also pickle and unpickle more complex data structures like lists:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">fruits = ["apple", "banana", "orange"]
with open("fruits.pickle", "wb") as file:
    pickle.dump(fruits, file)

with open("fruits.pickle", "rb") as file:
    loaded_fruits = pickle.load(file)
print(loaded_fruits)</pre>



<p class="wp-block-paragraph">This time, you&#8217;re pickling a list of fruits. The pickling and unpickling process is the same as in previous examples. Just remember to use the appropriate binary mode when opening the file <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f34e.png" alt="🍎" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f34a.png" alt="🍊" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f34c.png" alt="🍌" class="wp-smiley" style="height: 1em; max-height: 1em;" />.</p>



<h2 class="wp-block-heading">Picklable and Unpicklable Types</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="915" height="610" src="https://blog.finxter.com/wp-content/uploads/2023/04/image-123.png" alt="" class="wp-image-1291001" srcset="https://blog.finxter.com/wp-content/uploads/2023/04/image-123.png 915w, https://blog.finxter.com/wp-content/uploads/2023/04/image-123-300x200.png 300w, https://blog.finxter.com/wp-content/uploads/2023/04/image-123-768x512.png 768w" sizes="auto, (max-width: 915px) 100vw, 915px" /></figure>
</div>


<p class="wp-block-paragraph">When working with the Python pickle module, it&#8217;s essential to understand which types of objects can be pickled and which cannot. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9d0.png" alt="🧐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Let&#8217;s dive into the details of picklable and unpicklable types in Python.</p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><strong>Picklable types</strong> are Python objects that can be serialized into byte streams using the pickle module. Most built-in Python types, including integers, floats, strings, tuples, lists, and dictionaries, are picklable. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f604.png" alt="😄" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Moreover, <a href="https://realpython.com/python-pickle-module/">custom-defined objects</a> and instances of classes can also be pickled as long as they meet certain requirements, such as not including unpicklable attributes.</p>



<p class="wp-block-paragraph">Here are some examples of commonly used picklable types:</p>



<ul class="wp-block-list">
<li>Numbers (<code>int</code>, <code>float</code>, <code>complex</code>)</li>



<li>Strings</li>



<li>Tuples, lists, and dictionaries (containing only picklable items)</li>



<li>Functions and classes defined at the top level of a module</li>



<li>Instances of classes, excluding those that cannot be pickled</li>
</ul>



<p class="wp-block-paragraph">On the other hand, <strong>unpicklable types</strong> include objects that cannot be serialized using the <code>pickle</code> module. These might be objects that have external dependencies or simply don&#8217;t support pickling. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f610.png" alt="😐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> </p>



<p class="wp-block-paragraph">Some examples of unpicklable types are:</p>



<ul class="wp-block-list">
<li>Open file objects</li>



<li>Network sockets</li>



<li>Database connections</li>



<li>Lambda functions</li>



<li>Objects containing unpicklable attributes</li>
</ul>



<p class="wp-block-paragraph">When working with the <code>pickle</code> module, ensure your data consists of picklable types to avoid errors and bugs. If you come across an unpicklable type, consider using alternative methods or libraries for serialization. </p>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Remember that pickling is a powerful tool for persisting objects in Python, so understanding picklable and unpicklable types is crucial to utilize this module effectively. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<h2 class="wp-block-heading">Handling Errors in Pickle</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="915" height="610" src="https://blog.finxter.com/wp-content/uploads/2023/04/image-124.png" alt="" class="wp-image-1291002" srcset="https://blog.finxter.com/wp-content/uploads/2023/04/image-124.png 915w, https://blog.finxter.com/wp-content/uploads/2023/04/image-124-300x200.png 300w, https://blog.finxter.com/wp-content/uploads/2023/04/image-124-768x512.png 768w" sizes="auto, (max-width: 915px) 100vw, 915px" /></figure>
</div>


<p class="wp-block-paragraph">When using the Python <a href="https://docs.python.org/3/library/pickle.html" target="_blank" rel="noreferrer noopener"><code>pickle</code></a> module, you may encounter errors. Don&#8217;t worry! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f603.png" alt="😃" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Understanding common errors and their causes can be helpful in resolving these issues. Below are some common pickle errors and tips on how you might handle them:</p>



<ul class="wp-block-list">
<li><strong>PicklingError:</strong> This is the base class for all pickle-related exceptions. It usually occurs when you are trying to serialize an object that is not <a href="https://docs.python.org/3/library/persistence.html" target="_blank" rel="noreferrer noopener">pickleable</a>.</li>



<li><strong>UnpicklingError:</strong> An exception raised when pickle data is invalid or corrupted.</li>
</ul>



<p class="wp-block-paragraph">Now, let&#8217;s take a look at some steps you can follow to handle pickle errors effectively:</p>



<ol class="wp-block-list">
<li>Verify that objects you&#8217;re pickling are serializable. Python can serialize many built-in datatypes, but not all types are pickleable. For example, you can&#8217;t pickle <a href="https://stackoverflow.com/questions/8804830/python-multiprocessing-picklingerror-cant-pickle-type-function" target="_blank" rel="noreferrer noopener">functions, classes, or lambda expressions</a>. If you need to pickle these, consider using helper methods like <code>__getstate__</code> and <code>__setstate__</code> to customize serialization.</li>



<li>Double-check that the imported modules containing classes you need to pickle are available. Pickle stores class names, not the classes themselves, so it&#8217;s important that your script can access the module when unpickling. This is a common source of <a href="https://stackoverflow.com/questions/4573976/python-errors-saving-and-loading-objects-with-pickle-module" target="_blank" rel="noreferrer noopener">errors when working with pickled classes</a>.</li>



<li>Be mindful of security concerns with pickle. The module is not secure and untrusted data can execute arbitrary code during unpickling! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6a8.png" alt="🚨" class="wp-smiley" style="height: 1em; max-height: 1em;" /> To handle these concerns, avoid unpickling data from untrusted sources, and validate your data before pickling if possible. More on this can be found in the <a href="https://docs.python.org/3/library/pickle.html" target="_blank" rel="noreferrer noopener">official pickle documentation</a>.</li>
</ol>



<p class="wp-block-paragraph">By keeping these tips in mind, you can handle errors in pickle smoothly and make the most of its powerful object serialization capabilities. Remember, practice makes perfect! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<h2 class="wp-block-heading">How to Compress Pickled Objects</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="659" height="911" src="https://blog.finxter.com/wp-content/uploads/2023/04/image-125.png" alt="" class="wp-image-1291005" srcset="https://blog.finxter.com/wp-content/uploads/2023/04/image-125.png 659w, https://blog.finxter.com/wp-content/uploads/2023/04/image-125-217x300.png 217w" sizes="auto, (max-width: 659px) 100vw, 659px" /></figure>
</div>


<p class="wp-block-paragraph">Pickling in Python is a way to serialize objects, which makes it possible to store them in a file or transmit them over a network. However, pickled objects can sometimes take up a significant amount of space. In this section, you&#8217;ll learn how to compress pickled objects to save both storage and bandwidth.<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f603.png" alt="😃" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="wp-block-paragraph">The Python <code>pickle</code> module offers several ways to persist objects but doesn&#8217;t provide built-in compression. To compress pickled objects, you can use the <code>bz2</code>, <code>gzip</code>, or <code>zlib</code> module. Let&#8217;s go through the steps to compress and decompress pickled objects using the <code>bz2</code> module:</p>



<ol class="wp-block-list">
<li><strong>Pickle the object:</strong> First, you need to serialize the object using the <code>pickle.dumps()</code> function, which returns a pickled byte string.</li>



<li><strong>Compress the pickled byte string:</strong> Once you have your pickled byte string, use the <code>bz2.compress()</code> function to compress it.</li>



<li><strong>Save or transmit the compressed data:</strong> You can store the compressed data in a file, send it to another user, or even upload it to a cloud storage service like S3.</li>



<li><strong>Decompress the data:</strong> When you want to use the pickled object again, decompress the data using the <code>bz2.decompress()</code> function.</li>



<li><strong>Unpickle the object:</strong> Finally, use the <code>pickle.loads()</code> function to deserialize the compressed data back into the original object.</li>
</ol>



<p class="wp-block-paragraph">Here&#8217;s a code example that demonstrates the process:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">import pickle
import bz2

# Serialize your object
your_object = {"key": "value"}
pickled_object = pickle.dumps(your_object)

# Compress the pickled object
compressed_pickled_object = bz2.compress(pickled_object)

# Decompress the pickled object
decompressed_pickled_object = bz2.decompress(compressed_pickled_object)

# Deserialize the object
unpickled_object = pickle.loads(decompressed_pickled_object)
</pre>



<p class="wp-block-paragraph">Using compression can drastically reduce the size of your pickled objects, making them <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2728.png" alt="✨" class="wp-smiley" style="height: 1em; max-height: 1em;" />easier to store and transmit<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2728.png" alt="✨" class="wp-smiley" style="height: 1em; max-height: 1em;" />. As you can see, compressing and decompressing pickled objects in Python is a simple and straightforward process. Now that you know how to do this, you can start optimizing your serialized data with ease. Happy pickling! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f952.png" alt="🥒" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<h2 class="wp-block-heading">Security Considerations</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="688" height="911" src="https://blog.finxter.com/wp-content/uploads/2023/04/image-126.png" alt="" class="wp-image-1291009" srcset="https://blog.finxter.com/wp-content/uploads/2023/04/image-126.png 688w, https://blog.finxter.com/wp-content/uploads/2023/04/image-126-227x300.png 227w" sizes="auto, (max-width: 688px) 100vw, 688px" /></figure>
</div>


<p class="wp-block-paragraph">When using the Python pickle module to persist objects, it&#8217;s crucial to keep security in mind. The pickle module is not secure and can potentially execute arbitrary code during the unpickling process <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6a8.png" alt="🚨" class="wp-smiley" style="height: 1em; max-height: 1em;" />. Therefore, it&#8217;s essential to only unpickle data you trust 100%.</p>



<p class="wp-block-paragraph"><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a1.png" alt="⚡" class="wp-smiley" style="height: 1em; max-height: 1em;" /></strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a1.png" alt="⚡" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a1.png" alt="⚡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Keep in mind that <a href="https://docs.python.org/3/library/pickle.html" target="_blank" rel="noreferrer noopener">pickle is not intended to be secure</a> against erroneous or maliciously constructed data. You should be cautious when unpickling data, especially if it comes from an untrusted or unauthenticated source.</strong> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a1.png" alt="⚡" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a1.png" alt="⚡" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a1.png" alt="⚡" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<ul class="has-base-2-background-color has-background wp-block-list">
<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f512.png" alt="🔒" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Be mindful of which sources you obtain pickled data from, and verify their authenticity.</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f512.png" alt="🔒" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Always use regular validation when storing and retrieving data using pickle to protect against potential attacks.</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f512.png" alt="🔒" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Prevent exposing sensitive information by limiting access to stored pickled data to only authorized users.</li>
</ul>



<p class="wp-block-paragraph">Following these security considerations will help you to maintain a safe environment when using the Python pickle module, while still enjoying its benefits for object persistence. Remember, always prioritize security when working with data in Python <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f40d.png" alt="🐍" class="wp-smiley" style="height: 1em; max-height: 1em;" />.</p>



<h2 class="wp-block-heading">Pickle Alternatives</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="591" height="911" src="https://blog.finxter.com/wp-content/uploads/2023/04/image-127.png" alt="" class="wp-image-1291010" srcset="https://blog.finxter.com/wp-content/uploads/2023/04/image-127.png 591w, https://blog.finxter.com/wp-content/uploads/2023/04/image-127-195x300.png 195w" sizes="auto, (max-width: 591px) 100vw, 591px" /></figure>
</div>


<p class="wp-block-paragraph">Though the Python <code>pickle</code> module is useful for object serialization, it&#8217;s essential to know its alternatives to make an informed decision. Here, we discuss some popular options that provide similar functionality and can be used depending on your specific needs. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f504.png" alt="🔄" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="wp-block-paragraph"><strong>JSON:</strong> For a more human-readable serialization format, consider using the built-in JSON module. JSON is a widely adopted and versatile format that works well for encoding simple data structures such as lists and dictionaries. However, it might not support custom-defined Python objects directly. Take a look at the <a href="https://docs.python.org/3/library/json.html" target="_blank" rel="noreferrer noopener">JSON documentation</a> for more information. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4dc.png" alt="📜" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="wp-block-paragraph"><strong>marshal:</strong> Another built-in Python module, <code>marshal</code>, can also be used for object serialization. However, this module&#8217;s primary use is for writing <code>.pyc</code> files, and its documentation explicitly states that pickle or JSON should be preferred for general persistence tasks. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Keep in mind that <code>marshal</code> is not safe to use with untrusted data as it could lead to security risks.</p>



<p class="wp-block-paragraph"><strong>MessagePack:</strong> If you require a more compact and efficient binary serialization format, consider <a href="https://msgpack.org/index.html" target="_blank" rel="noreferrer noopener">MessagePack</a>. This library is an excellent choice when working with large data sets and supporting multiple languages. It boasts faster serialization and deserialization speeds while maintaining a small message size. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="wp-block-paragraph"><strong>Protobuf:</strong> Developed by Google, <a href="https://developers.google.com/protocol-buffers" target="_blank" rel="noreferrer noopener">Protocol Buffers (Protobuf)</a> is another popular alternative for data serialization. This robust and efficient binary format excels in performance, offers backward and forward compatibility, and provides language-agnostic support. It&#8217;s especially suited for large-scale distributed systems and communication between different services. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f517.png" alt="🔗" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="wp-block-paragraph">In summary, you have various alternatives to choose from when it comes to object serialization in Python. Each option has its strengths and trade-offs, depending on what you prioritize in your application. Take some time to explore these options and decide which one best suits your requirements. Happy coding! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f40d.png" alt="🐍" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<h2 class="wp-block-heading">Use Cases and Applications</h2>



<p class="wp-block-paragraph">When working with Python, you may come across situations where you need to persist objects for reasons such as data retrieval or further analysis. The Python <code>pickle</code> module can assist you in this process. Here are some common use cases and applications where pickle can prove to be beneficial:</p>



<ul class="wp-block-list">
<li><strong>Data Persistence</strong>: Using pickle, you can store your program&#8217;s state data to disk, allowing it to carry on where it left off when restarted <a href="https://stackoverflow.com/questions/3438675/common-use-cases-for-pickle-in-python" target="_blank" rel="noreferrer noopener">(source)</a>. This is particularly useful when you want to maintain information between application sessions or when dealing with large datasets that cannot be processed in a single run. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f504.png" alt="🔄" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li>



<li><strong>Communications</strong>: Pickle can assist in sending Python data over TCP connections in multi-core or distributed systems <a href="https://stackoverflow.com/questions/3438675/common-use-cases-for-pickle-in-python">(source)</a>. Through serialization and deserialization, pickle allows for the smooth transfer of complex Python objects between different processes or networked devices. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f310.png" alt="🌐" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li>



<li><strong>Database Storage</strong>: Objects in Python can be stored in databases with the help of pickle <a href="https://stackoverflow.com/questions/3438675/common-use-cases-for-pickle-in-python">(source)</a>. Pickle&#8217;s ability to handle a wide range of Python types makes it suitable for persisting instances of your custom-defined classes or other complex structures in databases, enabling you to later access and utilize them with ease. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e6.png" alt="📦" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li>
</ul>



<p class="wp-block-paragraph">While pickle has several advantages, be cautious that the serialized objects are in binary format and not human readable. Though this makes pickle faster than JSON, it also means that extra care has to be taken when working with serialized objects, especially when it comes to security and integrity of the stored data. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f512.png" alt="🔒" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<h2 class="wp-block-heading">Python Pickle List</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="607" height="911" src="https://blog.finxter.com/wp-content/uploads/2023/04/image-128.png" alt="" class="wp-image-1291012" srcset="https://blog.finxter.com/wp-content/uploads/2023/04/image-128.png 607w, https://blog.finxter.com/wp-content/uploads/2023/04/image-128-200x300.png 200w" sizes="auto, (max-width: 607px) 100vw, 607px" /></figure>
</div>


<p class="wp-block-paragraph">When working with Python, you may need to store and retrieve complex data structures, such as lists. The Python pickle module offers an easy way to achieve this. In this section, you&#8217;ll learn how to pickle and unpickle lists using Python&#8217;s pickle module. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f603.png" alt="😃" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="wp-block-paragraph">To begin with, let&#8217;s import the pickle module:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">import pickle</pre>



<p class="wp-block-paragraph">Now, suppose you have a list and wish to save it to disk. You can use the <code>pickle.dump()</code> function along with a file object, like this:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">my_list = [1, 2, 3, 4, 5]
with open('my_list.pkl', 'wb') as file:
    pickle.dump(my_list, file)</pre>



<p class="wp-block-paragraph">Here, the <code>'wb'</code> flag indicates that the file is opened for writing in binary mode. Your list (<code>my_list</code>) will be pickled and stored in the file called <code>'my_list.pkl'</code>.</p>



<p class="wp-block-paragraph">To unpickle and load the list back into your Python program, use the <code>pickle.load()</code> function:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">with open('my_list.pkl', 'rb') as file:
    loaded_list = pickle.load(file)
print(loaded_list)</pre>



<p class="wp-block-paragraph">This time, the <code>'rb'</code> flag is used to read the file in binary mode. Your pickled list will be loaded into the <code>loaded_list</code> variable, and you can use it just like any other Python list. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="wp-block-paragraph">Remember, when using the Python pickle module to persist objects, such as lists, always use <code>"wb"</code> and <code>"rb"</code> flags for writing and reading files in binary mode, respectively. This will ensure that your data remains safe and intact. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c1.png" alt="📁" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<h2 class="wp-block-heading">Python Pickle Files</h2>



<p class="wp-block-paragraph">When working with Python&#8217;s <code>pickle</code> module, you may need a simple yet effective way to persist objects. The process of converting complex data structures, such as Python objects, into a format you can store in a file is called pickling. Unpickling is the opposite process, which restores the original Python object from the file.</p>



<p class="wp-block-paragraph">You can benefit from the <code>pickle</code> module to save your Python objects for later use, send them across a network, or store them in a database. It&#8217;s important to keep in mind that Pickle format is Python-specific, so it might not work with other programming languages <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f60a.png" alt="😊" class="wp-smiley" style="height: 1em; max-height: 1em;" />. Let&#8217;s dive into the pickle file usage in Python.</p>



<p class="wp-block-paragraph">Some common methods you&#8217;ll encounter when working with pickle files are <code>pickle.dump()</code>, <code>pickle.dumps()</code>, <code>pickle.load()</code>, and <code>pickle.loads()</code>. The <code>dump()</code> and <code>load()</code> methods work with binary files, while <code>dumps()</code> and <code>loads()</code> work with strings. Here are some basic steps on how to use them:</p>



<ul class="wp-block-list">
<li><strong>Step 1:</strong> Import the pickle module using <code>import pickle</code>.</li>



<li><strong>Step 2:</strong> Create the object you want to pickle and store.</li>



<li><strong>Step 3:</strong> Open a file (use binary mode: <code>"wb"</code> for write, <code>"rb"</code> for read) using the <code>with open("file_path", "wb") as f:</code> syntax.</li>



<li><strong>Step 4:</strong> Use <code>pickle.dump()</code> to save the object to the file: <code>pickle.dump(your_object, f)</code>.</li>



<li><strong>Step 5:</strong> Use <code>pickle.load()</code> to load the saved object from the binary file into your Python environment.</li>



<li><strong>Step 6:</strong> Profit! You&#8217;ve successfully saved and retrieved your Python object using pickle. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f389.png" alt="🎉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li>
</ul>



<p class="wp-block-paragraph">Remember that you may need to adjust the protocol, encoding, and other parameters depending on your Python version and requirements, as stated<a rel="noreferrer noopener" href="https://stackoverflow.com/questions/4529815/saving-an-object-data-persistence" target="_blank"> by Stack Overflow</a>. However, in most cases, the <code>pickle</code> module&#8217;s default settings should do the trick.</p>



<h2 class="wp-block-heading">Python Pickle Multiple Objects</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="607" height="911" src="https://blog.finxter.com/wp-content/uploads/2023/04/image-129.png" alt="" class="wp-image-1291013" srcset="https://blog.finxter.com/wp-content/uploads/2023/04/image-129.png 607w, https://blog.finxter.com/wp-content/uploads/2023/04/image-129-200x300.png 200w" sizes="auto, (max-width: 607px) 100vw, 607px" /></figure>
</div>


<p class="wp-block-paragraph">You may want to persist multiple objects simultaneously to simplify your workflow. Pickling multiple objects is straightforward and makes it easier for you to manage and structure your data <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f60a.png" alt="😊" class="wp-smiley" style="height: 1em; max-height: 1em;" />. Let&#8217;s explore how you can achieve this using the <code>pickle</code> module.</p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph">To pickle and store multiple objects, start by creating a list or another <a href="https://blog.finxter.com/iterators-iterables-and-itertools/" data-type="post" data-id="29507" target="_blank" rel="noreferrer noopener">iterable</a> containing all your desired objects. Then, use the <code>pickle.dump()</code> function to serialize and save the entire list to a file. </p>



<p class="wp-block-paragraph">Here&#8217;s an example:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">import pickle

obj1 = {"key1": "value1"}
obj2 = [1, 2, 3]
obj3 = "My String"

objects = [obj1, obj2, obj3]

with open("pickled_objects.pkl", "wb") as f:
    pickle.dump(objects, f)
</pre>



<p class="wp-block-paragraph">Now that your objects are saved, you&#8217;ll want to load them back into your Python script. Use the <code>pickle.load()</code> function to deserialize the saved file and obtain your objects. Remember, your objects were pickled as a list, so you&#8217;ll be working with that list structure:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">with open("pickled_objects.pkl", "rb") as f:
    loaded_objects = pickle.load(f)

loaded_obj1, loaded_obj2, loaded_obj3 = loaded_objects
</pre>



<p class="wp-block-paragraph">By doing this, you will have successfully pickled and loaded multiple objects using Python&#8217;s pickle module <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f389.png" alt="🎉" class="wp-smiley" style="height: 1em; max-height: 1em;" />. Make sure to keep your data organized and use appropriate data structures for easy manipulation.</p>



<h2 class="wp-block-heading">Python Pickle vs JSON</h2>



<p class="wp-block-paragraph">As you delve into the world of persisting objects in Python, you&#8217;ll encounter two popular serialization methods: <a href="https://realpython.com/python-pickle-module/">Pickle</a> and <a href="https://docs.python.org/3/library/pickle.html">JSON</a>. Understanding their differences will help you choose the right one for your needs. Let&#8217;s compare Python Pickle and JSON in terms of serialization format, speed, and security. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f914.png" alt="🤔" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="wp-block-paragraph"><strong>Serialization Format</strong>: Pickle allows you to serialize objects in a binary format, while JSON uses a text format. Binary means that pickle is not human-readable, unlike JSON, which is simple and easy to parse for humans. If you need to share serialized data between machines, you may want to choose JSON as it&#8217;s interoperable and widely used outside the Python ecosystem. Pickle, on the other hand, is Python-specific. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f40d.png" alt="🐍" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="wp-block-paragraph"><strong>Speed</strong>: When it comes to speed and compatibility, Pickle has the upper hand. It can <a rel="noreferrer noopener" href="https://www.educba.com/python-pickle-vs-json/" target="_blank">serialize any arbitrary Python object</a> like lists, tuples, and dictionaries, whereas JSON is limited to certain types of data. Additionally, Pickle is generally faster at serialization and deserialization, due to its binary nature. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a1.png" alt="⚡" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="wp-block-paragraph"><strong>Security</strong>: In terms of security, JSON holds the edge. Pickle can pose security risks if you deserialize data from untrusted sources. JSON is <a rel="noreferrer noopener" href="https://stackoverflow.com/questions/6794454/json-vs-pickle-security" target="_blank">more secure</a> and does not have as many inherent security issues. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f512.png" alt="🔒" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="wp-block-paragraph">Here&#8217;s a quick summary of the differences between Python Pickle and JSON:</p>



<ul class="wp-block-list">
<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f610.png" alt="😐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Human-readability: JSON ⟷ Pickle</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f504.png" alt="🔄" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Interoperability: JSON ⟷ Pickle</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2699.png" alt="⚙" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Compatibility: Pickle ⟷ JSON</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a1.png" alt="⚡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Speed: Pickle ⟷ JSON</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f512.png" alt="🔒" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Security: JSON ⟷ Pickle</li>
</ul>



<p class="wp-block-paragraph">Ultimately, your choice will depend on your specific needs. Consider if human-readability, portability, speed, and security are paramount to your project.</p>



<h2 class="wp-block-heading">Python Pickle File Extension</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="915" height="610" src="https://blog.finxter.com/wp-content/uploads/2023/04/image-130.png" alt="" class="wp-image-1291014" srcset="https://blog.finxter.com/wp-content/uploads/2023/04/image-130.png 915w, https://blog.finxter.com/wp-content/uploads/2023/04/image-130-300x200.png 300w, https://blog.finxter.com/wp-content/uploads/2023/04/image-130-768x512.png 768w" sizes="auto, (max-width: 915px) 100vw, 915px" /></figure>
</div>


<p class="wp-block-paragraph">When working with the Python pickle module, you&#8217;ll need to save the serialized objects to a file. To maintain consistency and make your pickled files easily recognizable, using a specific file extension is crucial. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c1.png" alt="📁" class="wp-smiley" style="height: 1em; max-height: 1em;" /> The most common file extensions for pickle files are <code>.pkl</code> and <code>.pickle</code>. <a href="https://stackoverflow.com/questions/40433474/preferred-or-most-common-file-extension-for-a-python-pickle">Preferred file extensions for pickle</a> vary slightly between Python 2 and Python 3.</p>



<p class="wp-block-paragraph">For Python 2, it&#8217;s recommended to use the <code>.pkl</code> extension when serializing your objects. An example of writing to a pickle file in Python 2 would look like:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">output = open('data.pkl', 'wb')
pickle.dump(obj, output)
output.close()
</pre>



<p class="wp-block-paragraph">In Python 3, the preferred file extension is <code>.pickle</code>. Here&#8217;s an example of how to save a serialized object using the pickle module in Python 3:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">with open('data.pickle', 'wb') as f:
    pickle.dump(obj, f)
</pre>



<p class="wp-block-paragraph">Ultimately, the choice between <code>.pkl</code> and <code>.pickle</code> as your file extension depends on your Python version and personal preference. Just make sure to stay consistent in your naming conventions to avoid confusion! </p>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Remember that using a widely recognized file extension for your pickled objects helps you and assists others when collaborating on projects. </p>



<h2 class="wp-block-heading">Python Pickle Save</h2>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a1.png" alt="⚡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Saving objects in Python using the pickle module is simple and efficient. Let&#8217;s explore the process of saving Python objects for future use.</p>



<p class="wp-block-paragraph">First, you need to import the pickle module into your Python script:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">import pickle
</pre>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f527.png" alt="🔧" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Now, let&#8217;s say you have an object you want to save:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">my_object = {
    "name": "John Doe",
    "age": 30,
    "hobbies": ["reading", "gaming", "hiking"]
}
</pre>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2728.png" alt="✨" class="wp-smiley" style="height: 1em; max-height: 1em;" /> To save this object to a file, you need to use the <code>pickle.dump()</code> method along with a file object opened in binary write mode:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">with open('my_object.pkl', 'wb') as file:
    pickle.dump(my_object, file)
</pre>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f389.png" alt="🎉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Congratulations! You&#8217;ve just saved your Python object using the pickle module. Remember these key points:</p>



<ul class="wp-block-list">
<li>Always use binary mode when opening files for pickling</li>



<li>Use <code>pickle.dump()</code> to save an object, passing both the object and a writable binary file</li>



<li>The file extension can be <code>.pkl</code> or anything, but <code>.pkl</code> is commonly used for pickled files</li>
</ul>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Keep in mind that the <code>pickle</code> module is perfect for data persistence in Python, but you should be cautious when loading data from untrusted sources, as it may contain security risks.</p>



<h2 class="wp-block-heading">Python Pickle Dump</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="915" height="610" src="https://blog.finxter.com/wp-content/uploads/2023/04/image-131.png" alt="" class="wp-image-1291018" srcset="https://blog.finxter.com/wp-content/uploads/2023/04/image-131.png 915w, https://blog.finxter.com/wp-content/uploads/2023/04/image-131-300x200.png 300w, https://blog.finxter.com/wp-content/uploads/2023/04/image-131-768x512.png 768w" sizes="auto, (max-width: 915px) 100vw, 915px" /></figure>
</div>


<p class="wp-block-paragraph">Python&#8217;s <code>pickle</code> module allows you to easily save and load serialized objects in your code. In this section, we&#8217;ll discuss how to use the <code>pickle.dump()</code> method to persist your Python objects to a file.<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f60a.png" alt="😊" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="wp-block-paragraph">First, make sure to import the <code><a href="https://docs.python.org/3/library/pickle.html" target="_blank" rel="noreferrer noopener">pickle</a></code> module with the following line of code:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">import pickle
</pre>



<p class="wp-block-paragraph">Next, you&#8217;ll create the object you want to save. It can be a simple data structure such as a list, dictionary, or even a complex custom class instance. For example:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">data = {'a': 1, 'b': 2, 'c': 3}
</pre>



<p class="wp-block-paragraph">Now, you&#8217;re ready to save the data structure using <code>pickle.dump()</code>. Open a file in binary write mode (<code>'wb'</code>) and pass it along with the object to be dumped:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">with open('data.pkl', 'wb') as file:
    pickle.dump(data, file)
</pre>



<p class="wp-block-paragraph">That&#8217;s it! You&#8217;ve just saved your object to a file named <code>data.pkl</code>. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f389.png" alt="🎉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="wp-block-paragraph">Keep in mind the following tips while using <code>dump()</code>:</p>



<ul class="wp-block-list">
<li>Always <a href="https://blog.finxter.com/python-open-function/" data-type="post" data-id="24793" target="_blank" rel="noreferrer noopener">open</a> the file in binary mode (with <code>'wb'</code> or <code>'rb'</code>).</li>



<li>While not necessary, using the <code>with</code> statement is good practice as it automatically closes the file after the block of code is executed.</li>



<li>Be aware that not all objects can be pickled. For example, objects with <a href="https://blog.finxter.com/a-simple-introduction-of-the-lambda-function-in-python/" data-type="post" data-id="2701" target="_blank" rel="noreferrer noopener">lambdas</a> or open file objects cannot be processed by the <code>pickle</code> module.</li>
</ul>



<p class="wp-block-paragraph">Now that you know how to use the Python pickle dump method, you&#8217;re ready to persist your Python objects and retrieve them whenever needed. Happy coding!<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="has-base-2-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Recommended</strong>: <a href="https://blog.finxter.com/introduction-to-python-classes/" data-type="post" data-id="30596" target="_blank" rel="noreferrer noopener">Introduction to Python Classes</a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>BrainWaves P2P Social Network &#8211; How I Created a Basic Server</title>
		<link>https://blog.finxter.com/brainwaves-p2p-social-network-how-i-created-a-basic-server/</link>
		
		<dc:creator><![CDATA[Tom Teck]]></dc:creator>
		<pubDate>Sun, 26 Feb 2023 17:33:47 +0000</pubDate>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[Distributed Systems]]></category>
		<category><![CDATA[Flask]]></category>
		<category><![CDATA[Peer to Peer Systems]]></category>
		<category><![CDATA[PeerBrain]]></category>
		<category><![CDATA[Python]]></category>
		<guid isPermaLink="false">https://blog.finxter.com/?p=1163183</guid>

					<description><![CDATA[Welcome back to the Brainwaves P2P project, or at least my take on it :-). The previous article was a theoretical explanation of how I envision this project. It is now time to start laying the groundwork! I learn as I go&#8230; As some of you might have guessed already, I’m a completely self-taught coder. ... <a title="BrainWaves P2P Social Network &#8211; How I Created a Basic Server" class="read-more" href="https://blog.finxter.com/brainwaves-p2p-social-network-how-i-created-a-basic-server/" aria-label="Read more about BrainWaves P2P Social Network &#8211; How I Created a Basic Server">Read more</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Welcome back to the <a href="https://blog.finxter.com/how-i-started-my-journey-to-help-build-a-p2p-social-network-part-1-deciding-on-a-framework/" data-type="post" data-id="1132824" target="_blank" rel="noreferrer noopener">Brainwaves P2P project</a>, or at least my take on it :-). </p>



<p class="wp-block-paragraph">The <a href="https://blog.finxter.com/how-i-started-my-journey-to-help-build-a-p2p-social-network-part-1-deciding-on-a-framework/" data-type="URL" data-id="https://blog.finxter.com/how-i-started-my-journey-to-help-build-a-p2p-social-network-part-1-deciding-on-a-framework/" target="_blank" rel="noreferrer noopener">previous article</a> was a theoretical explanation of how I envision this project. It is now time to start laying the groundwork! </p>



<h2 class="wp-block-heading">I learn as I go&#8230;</h2>



<p class="wp-block-paragraph">As some of you might have guessed already, I’m a completely self-taught coder. Because of that, I’m sure many professionals might not agree with how I code. </p>



<p class="wp-block-paragraph">I accept that and will welcome any constructive criticism. I have been learning non-stop since I started this project. I assume this will not slow down anytime soon. YouTube is my main source of knowledge as I learn best when seeing something done. I am, in other words, a visual learner. I found an article that explains it well here. </p>



<p class="wp-block-paragraph">Articles on various sites are the other half of how I learn new concepts in coding. That is how I found Finxter :-).</p>



<p class="wp-block-paragraph">So to sum it up, my code is far from perfect, and I will never claim it is. This is my take on trying to solve this puzzle. I actually look forward to alternative approaches! </p>



<p class="wp-block-paragraph">You can <a href="https://github.com/shandralor/PeerBrain" data-type="URL" data-id="https://github.com/shandralor/PeerBrain" target="_blank" rel="noreferrer noopener">open issues on my GitHub</a> if you want to address something.</p>



<p class="wp-block-paragraph">Now that we all know where we stand let us dive right in! <strong>How to build a server for our peer-to-peer social network app?</strong></p>



<h2 class="wp-block-heading">Flask vs FastAPI</h2>



<p class="wp-block-paragraph">In the <a href="https://blog.finxter.com/how-i-started-my-journey-to-help-build-a-p2p-social-network-part-1-deciding-on-a-framework/" data-type="URL" data-id="https://blog.finxter.com/how-i-started-my-journey-to-help-build-a-p2p-social-network-part-1-deciding-on-a-framework/" target="_blank" rel="noreferrer noopener">previous article</a>, I mentioned that I want to use FastAPI to build the relay server, as opposed to Flask. As I have done before and will do again, I asked ChatGPT about the differences between Flask and FastAPI.</p>



<pre class="wp-block-preformatted"><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f916.png" alt="🤖" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Flask vs FastAPI</strong>

<em>Flask is based on the Werkzeug WSGI (Web Server Gateway Interface) toolkit, which is synchronous by default. However, Flask can still be used to build asynchronous applications. You will need to use a third-party library like gevent or asyncio. With these libraries, Flask can use coroutines and event loops to handle I/O operations asynchronously.</em>

<em>FastAPI, on the other hand, is designed to be fully asynchronous from the ground up. It uses the async/await syntax of Python to write asynchronous code. It is based on the ASGI (Asynchronous Server Gateway Interface) specification. FastAPI uses the Starlette framework as its foundation. the framework provides a high-performance event loop and asynchronous request handlers.</em></pre>



<p class="wp-block-paragraph">Both the speed and the asynchrony determined my choice for FastAPI. </p>



<p class="wp-block-paragraph">Those of you familiar with Flask will know about its built-in development server. As FastAPI doesn’t have this, we’ll need to install a separate server.</p>



<h2 class="wp-block-heading">Uvicorn Server </h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://www.uvicorn.org/" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="747" height="468" src="https://blog.finxter.com/wp-content/uploads/2023/02/image-350.png" alt="" class="wp-image-1163291" srcset="https://blog.finxter.com/wp-content/uploads/2023/02/image-350.png 747w, https://blog.finxter.com/wp-content/uploads/2023/02/image-350-300x188.png 300w" sizes="auto, (max-width: 747px) 100vw, 747px" /></a></figure>
</div>


<p class="wp-block-paragraph">This is where I encountered my first small hiccup. I code on Windows (I know, sue me <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f61d.png" alt="😝" class="wp-smiley" style="height: 1em; max-height: 1em;" />), and I wanted to use Uvicorn. As this only runs on Linux, I needed to get it to function in WSL. </p>



<p class="wp-block-paragraph">I’ll not go into all the details here, but I could write something about it if anyone has an interest in it. Let me know!</p>



<p class="wp-block-paragraph">After getting Uvicorn to function as it should, we can continue. It is important to remember that the Python interpreter on WSL does not share anything with its Windows counterpart. This means that you either need two separate virtual environments or that you install pip packages for each OS.</p>



<h2 class="wp-block-heading">Creating Basic FastAPI App</h2>



<p class="wp-block-paragraph">Once all this annoying prep work is done, creating a basic FastAPI app is very easy. We first import FastAPI as below:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">from fastapi import FastAPI</pre>



<p class="wp-block-paragraph">All you need to do afterward is define the basic app and create an endpoint.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">#---APP INIT---#
app = FastAPI()
 
@app.get("/")
async def root():
    return {"message": "Hello World"}</pre>



<p class="wp-block-paragraph">To get this to run, you need to navigate to the working directory of your FastAPI project via WSL. Afterward, you call the Uvicorn server. The command below assumes you called your Python file <code>main.py</code>!</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">uvicorn main:app --reload</pre>



<p class="wp-block-paragraph">I usually run the Uvicorn server in a separate terminal instance of WSL. </p>



<p class="wp-block-paragraph">That way, I can leave it on and test any changes I make immediately. Later, when I’ll be working on the client also, I can split the terminal. You can then make API calls through the client terminal window. FastAPI’s response in the server WSL window is then visible immediately.</p>



<h2 class="wp-block-heading">Receiving &#8220;Hello World&#8221; from Server</h2>



<p class="wp-block-paragraph">If you now navigate to <code>127.0.0.1:8000</code> you should get a JSON response with the <code>"Hello World"</code> we returned in the endpoint above. We will change this endpoints function later, but for now, it works to prove our API is working.</p>



<p class="wp-block-paragraph">For the API server, I have the following layout in mind. It might change throughout the development process. I currently foresee two endpoints that do not require the user to be logged in with a JWT token. The first will be to get that token, and the second to register a new user. Everything else will require the user to be authenticated.</p>



<p class="wp-block-paragraph">I stated earlier that I would change the root’s endpoint function. Its new role is now to allow a user to request a JWT token. The token is only granted after providing a correct combination of username and password. This requires a dedicated set of both helper functions and Pydantic models to work. </p>



<p class="wp-block-paragraph">I will go into this in another article, as it requires much explaining :-). It was something I am still learning myself.</p>



<h2 class="wp-block-heading">Endpoint Layout</h2>



<p class="wp-block-paragraph">The current layout of my endpoints at a high level is the following:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">#---OPEN ENDPOINTS---#


#Root route to get token
@app.post("/", response_model=Token)


#Route to create a new user
@app.post("/api/v1/users")


#---AUTH ENDPOINTS---#


#Route to get all current users and their attributes(development only)
@app.get("/api/v1/users")


#Route to test if the token is valid, used while authenticating
@app.get("/api/v1/token-test")


#Route to get all thoughts/messages created by a certain user
@app.get("/api/v1/thoughts/{username}")


#Route to return all thoughts/messages containing the query string
@app.get("/api/v1/thoughts/{query_str}")


#Route to create a new message/thought
@app.post("/api/v1/thoughts")


#Route to return all info about the current user(like a user profile)
@app.get("/api/v1/me", response_model=User)
</pre>



<p class="wp-block-paragraph">The current setup should allow for the barebones functionality of the application. At least from a server point of view. The routes above and/or their function are liable to change during development.&nbsp; I do find it helps to have a visual reminder of what I am working toward. That is why I created the high-level outlay. As you might recall, I am a visual learner <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" />.</p>



<h2 class="wp-block-heading">Database Considerations</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="709" height="704" src="https://blog.finxter.com/wp-content/uploads/2023/02/image-351.png" alt="" class="wp-image-1163293" srcset="https://blog.finxter.com/wp-content/uploads/2023/02/image-351.png 709w, https://blog.finxter.com/wp-content/uploads/2023/02/image-351-300x298.png 300w, https://blog.finxter.com/wp-content/uploads/2023/02/image-351-150x150.png 150w" sizes="auto, (max-width: 709px) 100vw, 709px" /></figure>
</div>


<p class="wp-block-paragraph">I will dedicate the last part of this article to the database part. As we need to store both users, user credentials, and messages/tweets somewhere, a database is a must.</p>



<p class="wp-block-paragraph">If you have read any of my previous articles, you will know I like Deta a lot.</p>



<p class="wp-block-paragraph">Their NoSQL databases work great for development. They recently evolved into <a href="https://deta.space/manual/apps">Deta Space</a>. This change makes their ecosystem even more interesting for developers. The fact that they are free is also important for a single developer coding this app on his own time <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f61d.png" alt="😝" class="wp-smiley" style="height: 1em; max-height: 1em;" />. Make sure to check them out!</p>



<p class="wp-block-paragraph">The next article will focus on both the database code and the Pydantic models we will need to get our API to function.</p>



<p class="has-base-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Next Article</strong>: <a href="https://blog.finxter.com/my-journey-to-help-build-a-p2p-social-network-database-code-structure/" data-type="post" data-id="1188982" target="_blank" rel="noreferrer noopener">My Journey to Help Build a P2P Social Network – Database Code Structure</a></p>



<h2 class="wp-block-heading">Join GitHub</h2>



<p class="wp-block-paragraph">As always, feel free to ask me questions or pass suggestions! And check out the GitHub repository for participation!</p>



<p class="has-base-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f449.png" alt="👉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>GitHub</strong>: <a rel="noreferrer noopener" href="https://github.com/shandralor/PeerBrain" target="_blank">https://github.com/shandralor/PeerBrain</a></p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to Create, Update, and Query an SQLite Database in Python?</title>
		<link>https://blog.finxter.com/how-to-create-update-and-query-an-sqlite-database-in-python/</link>
		
		<dc:creator><![CDATA[Kat McKelvie]]></dc:creator>
		<pubDate>Thu, 24 Nov 2022 10:27:31 +0000</pubDate>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Web Development]]></category>
		<guid isPermaLink="false">https://blog.finxter.com/?p=917299</guid>

					<description><![CDATA[Problem Formulation and Solution Overview This article will show you how to create, update and query a SQLite database using Python. ℹ️The SQLite database is a great choice! It is self-contained, easy to use, easy to learn, and works on other devices, such as game consoles, mobile phones, and so on! To make it more ... <a title="How to Create, Update, and Query an SQLite Database in Python?" class="read-more" href="https://blog.finxter.com/how-to-create-update-and-query-an-sqlite-database-in-python/" aria-label="Read more about How to Create, Update, and Query an SQLite Database in Python?">Read more</a>]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-embed-aspect-16-9 wp-has-aspect-ratio wp-block-heading">Problem Formulation and Solution Overview</h2>



<p class="wp-embed-aspect-16-9 wp-has-aspect-ratio wp-block-paragraph">This article will show you how to create, update and query a SQLite database using Python.</p>



<p class="has-base-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2139.png" alt="ℹ" class="wp-smiley" style="height: 1em; max-height: 1em;" />The SQLite database is a great choice! It is self-contained, easy to use, easy to learn, and works on other devices, such as game consoles, mobile phones, and so on! </p>



<p class="wp-block-paragraph">To make it more interesting, we have the following running scenario:</p>



<p class="wp-embed-aspect-16-9 wp-has-aspect-ratio wp-block-paragraph"><em>KarTech, a used car dealership in Toronto, currently has its inventory of cars saved as a CSV file format. However, they would like this imported into a database. For simplicity, they selected SQLite.</em></p>



<p class="wp-block-paragraph">To follow along with this article, <a rel="noreferrer noopener" href="https://blog.finxter.com/wp-content/uploads/2022/11/cars.csv" data-type="URL" data-id="https://blog.finxter.com/wp-content/uploads/2022/11/cars.csv" target="_blank">download</a> and place the <code>cars.csv</code> file into the current working directory:</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://blog.finxter.com/wp-content/uploads/2022/11/cars.csv" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="933" height="832" src="https://blog.finxter.com/wp-content/uploads/2022/11/image-267.png" alt="" class="wp-image-921281" srcset="https://blog.finxter.com/wp-content/uploads/2022/11/image-267.png 933w, https://blog.finxter.com/wp-content/uploads/2022/11/image-267-300x268.png 300w, https://blog.finxter.com/wp-content/uploads/2022/11/image-267-768x685.png 768w" sizes="auto, (max-width: 933px) 100vw, 933px" /></a></figure>
</div>


<hr class="wp-block-separator has-alpha-channel-opacity wp-embed-aspect-16-9 wp-has-aspect-ratio" />



<p class="wp-embed-aspect-16-9 wp-has-aspect-ratio has-global-color-8-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4ac.png" alt="💬" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Question</strong>: How would we write code to create and work with a SQLite Database<em>?</em></p>



<p class="wp-embed-aspect-16-9 wp-has-aspect-ratio wp-block-paragraph">We can accomplish this task by performing the following these steps:</p>



<ul class="wp-block-list" type="video">
<li><strong>Preparation</strong></li>



<li><strong>Declare Variables</strong></li>



<li><strong>Create SQLite Database and Table</strong></li>



<li><strong>Retrieve Table Column Names</strong></li>



<li><strong>Execute Select Query</strong></li>



<li><strong>Execute Insert <strong>Query</strong></strong></li>



<li><strong>Execute Delete <strong>Query</strong></strong></li>



<li><strong>Close Connections</strong></li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity" />



<h2 class="wp-block-heading">Preparation</h2>



<p class="has-global-color-8-background-color has-background wp-block-paragraph">The first step is to import and install the required library to ensure the code in this article will run error-free.</p>



<p class="wp-block-paragraph">If the <a rel="noreferrer noopener" href="https://blog.finxter.com/pandas-quickstart/" data-type="URL" data-id="https://blog.finxter.com/pandas-quickstart/" target="_blank"><code>pandas</code></a> library is not installed. Click <a rel="noreferrer noopener" href="https://blog.finxter.com/how-to-install-pandas-in-python/" target="_blank">here</a> for instructions. </p>



<p class="wp-block-paragraph">Next, create a Python file in the current working directory called <code>cars-sql.py</code> and paste the following code to the top of this file.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">import pandas as pd
import sqlite3
from os.path import exists as file_exists</pre>



<p class="wp-block-paragraph">The first line in the above code snippet calls in the <a rel="noreferrer noopener" href="https://blog.finxter.com/pandas-quickstart/" data-type="URL" data-id="https://blog.finxter.com/pandas-quickstart/" target="_blank"><code>pandas</code></a> library, which is required to access and manipulate the <code>cars.csv</code> file downloaded earlier.</p>



<p class="wp-block-paragraph">The following line imports Python&#8217;s built-in <code><a href="https://docs.python.org/3/library/sqlite3.html" data-type="URL" data-id="https://docs.python.org/3/library/sqlite3.html" target="_blank" rel="noreferrer noopener">sqlite3</a></code> library required to access and manipulate the SQLite database.</p>



<p class="wp-block-paragraph">The last line also imports Python&#8217;s built-in <code><a href="https://blog.finxter.com/exploring-pythons-os-module/" data-type="post" data-id="19050" target="_blank" rel="noreferrer noopener">os</a></code> library that checks for the existence of the Database file.</p>



<p class="wp-block-paragraph">Save this file.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="10 Minutes to Pandas in 5 Minutes (Okay 8)" width="937" height="527" src="https://www.youtube.com/embed/-JKVy_HliQE?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<hr class="wp-block-separator has-alpha-channel-opacity" />



<h2 class="wp-block-heading">Declare Variables</h2>



<p class="has-global-color-8-background-color has-background wp-block-paragraph">This section creates and assigns variables for the Database, its associated Table, and the <code>cars.csv</code> file downloaded earlier.</p>



<p class="wp-block-paragraph">Paste the following lines to the bottom of the <code>cars-sql.py</code> file.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">dbase_name = 'cars.db'
table_name = 'inventory'
csv_file = 'cars.csv'</pre>



<p class="wp-block-paragraph">Save this file.</p>



<hr class="wp-block-separator has-alpha-channel-opacity" />



<h2 class="wp-block-heading">Create Database and Table</h2>



<p class="has-global-color-8-background-color has-background wp-block-paragraph">This section does all the heavy lifting! It creates a Database if it does not already exist and attempts to connect to the same!</p>



<p class="wp-block-paragraph">Paste the following lines to the bottom of the <code>cars-sql.py</code> file.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">if file_exists(dbase_name):
    conn = sqlite3.connect(dbase_name)
else:
    conn = sqlite3.connect(dbase_name)
    df = pd.read_csv('cars.csv', sep=';')
    df.to_sql(f'{table_name}', conn)
cur = conn.cursor()</pre>



<p class="wp-block-paragraph">The first line in the above code snippet checks to see if the Database exists in the current working directory (<code>cars.db</code>).  If this file exists, a Connection Object is created (<code>conn</code>), allowing access to the Database (shown below).</p>



<pre class="wp-block-preformatted"><code>Connection Object: &lt;sqlite3.Connection object at 0x000001E8653DAB40&gt;</code></pre>



<p class="wp-block-paragraph">If the Database does <strong>not</strong> exist, code execution falls inside the <code>else</code> statement where the following occurs:</p>



<ul class="wp-block-list">
<li>A Database is created, and a <code>Connection</code> object to the same saves to <code>conn</code>.</li>



<li>The <code>cars.csv</code> file is read in (notice the separator character). The results save to the DataFrame, <code>df</code>.</li>



<li>Then the contents of <code>df</code> are imported into the table specified earlier (<code>inventory</code>).</li>
</ul>



<p class="wp-block-paragraph">The last line creates a Cursor Object (<code>cur</code>) from the Connection Object (<code>conn</code>). The Cursor Object allows access to commands, such as SQL, which can be applied against the Database and/or Table.</p>



<pre class="wp-block-preformatted"><code>Cursor Object: &lt;sqlite3.Cursor object at 0x0000024D38B562C0&gt;</code></pre>



<p class="wp-block-paragraph">Save this file.</p>



<p class="wp-block-paragraph">If successful, the <code>cars.db</code> SQLite database should now reside in the current working directory.</p>



<hr class="wp-block-separator has-alpha-channel-opacity" />



<h2 class="wp-block-heading">Retrieve Table Column Names</h2>



<p class="has-global-color-8-background-color has-background wp-block-paragraph">This section shows how to retrieve a list of the Column Names in the Table.</p>



<p class="wp-block-paragraph">Paste the following lines to the bottom of the <code>cars-sql.py</code> file.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">cols = conn.execute('SELECT * FROM inventory')
conn.commit()

col_names = list(map(lambda x: x[0], cols.description))</pre>



<p class="wp-block-paragraph">The first two (2) lines in the above code snippet execute and commit a SQL command that receives all rows from the <code>inventory</code> Table. A Cursor Object is created from these results and saved to <code><code><code>cols</code></code></code>. If output to the terminal, the following would display.</p>



<pre class="wp-block-preformatted"><code>Cols Object: &lt;sqlite3.Cursor object at 0x0000022582C9CBC0&gt;</code></pre>



<p class="wp-block-paragraph">The following lines access and retrieve the <code>cols.description</code> field using a <a rel="noreferrer noopener" href="https://blog.finxter.com/a-simple-introduction-of-the-lambda-function-in-python/" target="_blank"><code>lambda</code></a>, a <a rel="noreferrer noopener" href="https://blog.finxter.com/python-map/" target="_blank"><code>map()</code></a>, and a <a rel="noreferrer noopener" href="https://blog.finxter.com/python-lists/" target="_blank"><code>list</code></a>. This action retrieves the Field Names from the Table and saves the results to <code>tbl_fields</code>. If output to the terminal, the following would display.</p>



<pre class="wp-block-preformatted"><code>['index', 'Car', 'MPG', 'Cylinders', 'Displacement', 'Horsepower', 'Weight', 'Acceleration', 'Model', 'Origin']</code></pre>



<p class="wp-block-paragraph">Save this file.</p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /><strong>Note</strong>: The<code> <a rel="noreferrer noopener" href="https://www.sqlite.org/lang_transaction.html" data-type="URL" data-id="https://www.sqlite.org/lang_transaction.html" target="_blank">commit()</a></code> command saves changes invoked by a SQL query to the database. Click <a href="https://www.sqlite.org/index.html" data-type="URL" data-id="https://www.sqlite.org/index.html" target="_blank" rel="noreferrer noopener">here</a> to learn more.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Let&#039;s Play Finxter - The Lambda Function in Python" width="937" height="527" src="https://www.youtube.com/embed/kBg4n52XoUQ?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<hr class="wp-block-separator has-alpha-channel-opacity" />



<h2 class="wp-block-heading">Execute Select Query</h2>



<p class="has-global-color-8-background-color has-background wp-block-paragraph">This section shows how to create and execute a SELECT query. </p>



<p class="wp-block-paragraph">Paste the following lines to the bottom of the <code>cars-sql.py</code> file.</p>



<p class="wp-block-paragraph">When executing a SELECT query, this task can be performed using the <a rel="noreferrer noopener" href="https://pandas.pydata.org/pandas-docs/version/0.23/generated/pandas.read_sql.html" data-type="URL" data-id="https://pandas.pydata.org/pandas-docs/version/0.23/generated/pandas.read_sql.html" target="_blank"><code>read_sql()</code></a> function and passing it two (2) arguments, a SQL statement and a Connection Object (<code>conn</code>). </p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">query = pd.read_sql(f'SELECT Car, MPG, Cylinders FROM {table_name} LIMIT 5', conn)</pre>



<p class="wp-block-paragraph">This SQL query selects and retrieves three (3) columns and five (5) rows from the <code>inventory</code> table. The results save to <code>query</code>. If output to the terminal, the following would display.</p>



<pre class="wp-block-preformatted"><code>   Car</code>                                                    <code>MPG      Cylinders
0  Chevrolet Chevelle Malibu                18.0             8
1  Buick Skylark 320                             15.0             8
2  Plymouth Satellite                             18.0             8
3  AMC Rebel SST                                16.0             8
4  Ford Torino                                        17.0             8</code></pre>



<p class="wp-block-paragraph">Save this file.</p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Note</strong>: The above method is commonly used for SELECT queries as we are not altering the Database or the Table, such as performing an update, insert, delete, drop, or alter command. Click <a rel="noreferrer noopener" href="https://www.w3schools.com/sql/" data-type="URL" data-id="https://www.w3schools.com/sql/" target="_blank">here</a> to learn more about SQL.</p>



<hr class="wp-block-separator has-alpha-channel-opacity" />



<h2 class="wp-block-heading">Execute Insert Query</h2>



<p class="has-global-color-8-background-color has-background wp-block-paragraph">This section outlines how to create and execute an INSERT query</p>



<p class="wp-block-paragraph">Paste the following lines to the bottom of the <code>cars-sql.py</code> file.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">cur.execute('''INSERT INTO inventory
             VALUES('Citroen', '28.0', '8', '', '', '', '', '', '', '')''')

print(cur.lastrowid)
conn.commit()</pre>



<p class="wp-block-paragraph">The first line in the above code snippet creates and executes a SQL statement that INSERTS one (1) record into the <code>inventory</code> Table.</p>



<p class="wp-block-paragraph">The following line retrieves the Row ID and is output to the terminal. If this returns an integer value, then the INSERT was successful. </p>



<pre class="wp-block-preformatted"><code>408</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity" />



<h2 class="wp-block-heading">Execute Delete Query</h2>



<p class="has-global-color-8-background-color has-background wp-block-paragraph">This section outlines how to create and execute a DELETE query</p>



<p class="wp-block-paragraph">Paste the following lines to the bottom of the <code>cars-sql.py</code> file.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">cur.execute('''DELETE FROM inventory WHERE MPG = 28.0''')
conn.commit()</pre>



<p class="wp-block-paragraph">The first line in the above code snippet creates and executes a SQL statement that DELETES all records matching the criteria from the <code>inventory</code> Table.</p>



<p class="wp-block-paragraph">The following line commits the changes to the Database.</p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /><strong>Note</strong>: Run a SELECT query to see if the record(s) were successfully deleted.</p>



<hr class="wp-block-separator has-alpha-channel-opacity" />



<h2 class="wp-block-heading">Close the Connections</h2>



<p class="has-global-color-8-background-color has-background wp-block-paragraph">The final step is to close any open connections.</p>



<p class="wp-block-paragraph">Paste the following lines to the bottom of the <code>cars-sql.py</code> file.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">cur.close()
conn.close()</pre>



<hr class="wp-block-separator has-alpha-channel-opacity" />



<h2 class="wp-block-heading">The Entire Script</h2>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">import pandas as pd
import sqlite3
from os.path import exists as file_exists

dbase_name = 'cars.db'
table_name = 'inventory'
csv_file = 'cars.csv'

if file_exists(dbase_name):
    conn = sqlite3.connect(dbase_name)
else:
    conn = sqlite3.connect(dbase_name)
    df = pd.read_csv('cars.csv', sep=';')
    df.to_sql(f'{table_name}', conn)
cur = conn.cursor()


# Get Column Names
cols = conn.execute('SELECT * FROM inventory')
conn.commit()
col_names = list(map(lambda x: x[0], cols.description))

# SELECT
query = pd.read_sql(f'SELECT Car, MPG, Cylinders FROM {table_name} LIMIT 5', conn)
print(query)

# INSERT
cur.execute('''INSERT INTO inventory
             VALUES('Citroen', '28.0', '8', '', '', '', '', '', '', '')''')

print(cur.lastrowid)
conn.commit()

# DELETE
cur.execute('''DELETE FROM inventory WHERE MPG = 28.0''')
conn.commit()

cur.close()
conn.close()</pre>



<hr class="wp-block-separator has-alpha-channel-opacity" />



<h2 class="wp-block-heading">Summary</h2>



<p class="wp-block-paragraph">This article has shown you how to work with a SQLite Database.</p>



<p class="wp-block-paragraph">Good Luck &amp; Happy Coding!</p>



<hr class="wp-block-separator has-alpha-channel-opacity" />



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to Convert Access (accdb) Table to a CSV in Python?</title>
		<link>https://blog.finxter.com/how-to-convert-access-accdb-table-to-a-csv-in-python/</link>
		
		<dc:creator><![CDATA[Chris]]></dc:creator>
		<pubDate>Wed, 03 Aug 2022 09:52:00 +0000</pubDate>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[Input/Output]]></category>
		<category><![CDATA[Python]]></category>
		<guid isPermaLink="false">https://blog.finxter.com/?p=536837</guid>

					<description><![CDATA[To convert a Microsoft Acces table (.accdb) to a CSV file in Python, use the following four steps: Establish database connection, Run the SQL query to select data, Store the data in the CSV using basic Python file I/O and the csv module, and Close the database connection. Here&#8217;s a specific example with additional annotations ... <a title="How to Convert Access (accdb) Table to a CSV in Python?" class="read-more" href="https://blog.finxter.com/how-to-convert-access-accdb-table-to-a-csv-in-python/" aria-label="Read more about How to Convert Access (accdb) Table to a CSV in Python?">Read more</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>To convert a Microsoft Acces table (<code>.accdb</code>) to a CSV file in Python, use the following four steps:</strong></p>



<ol class="wp-block-list"><li><strong>Establish database connection,</strong></li><li><strong>Run the SQL query to select data,</strong></li><li><strong>Store the data in the CSV using basic Python file I/O and the <code>csv</code> module, and</strong></li><li><strong>Close the database connection.</strong></li></ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph">Here&#8217;s a specific <a href="https://stackoverflow.com/questions/40636759/save-ms-access-tables-as-csv" data-type="URL" data-id="https://stackoverflow.com/questions/40636759/save-ms-access-tables-as-csv" target="_blank" rel="noreferrer noopener">example</a> with additional annotations and simplified for clarity:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">import pyodbc
import csv


# 1. Example establish database connection
connection = pyodbc.connect("your connection string")

# 2. Run SQL query
cursor = connection.cursor()
cursor.execute('select * from XXX;')

# 3. Store the contents in "cursor" in the CSV using file I/O
with open('my_file.csv','w') as f:
    writer = csv.writer(f)
    writer.writerows([x[0] for x in cursor.description])
    writer.writerows(cursor)

# 4. Close the database connection
cursor.close()
conn.close()</pre>



<p class="wp-block-paragraph">Basically, as soon as you have mastered the art of pulling data into the <code>cursor</code> variable using the <code><a rel="noreferrer noopener" href="https://blog.finxter.com/how-to-install-pyodbc-in-python/" data-type="post" data-id="457108" target="_blank">pyodbc</a></code> module, you can use all different ways to write that data into the CSV using basic Python file I/O &#8212; such as the <code><a href="https://blog.finxter.com/python-open-function/" data-type="post" data-id="24793" target="_blank" rel="noreferrer noopener">open()</a></code> function or <a href="https://blog.finxter.com/how-to-open-multiple-files-in-python/" data-type="post" data-id="403242">context m</a><a href="https://blog.finxter.com/how-to-open-multiple-files-in-python/" data-type="post" data-id="403242" target="_blank" rel="noreferrer noopener">a</a><a href="https://blog.finxter.com/how-to-open-multiple-files-in-python/" data-type="post" data-id="403242">nagers</a> &#8212; or even Pandas function to <a rel="noreferrer noopener" href="https://blog.finxter.com/pandas-dataframe-to_csv-method/" data-type="post" data-id="344277" target="_blank">write DataFrames to CSV files</a>.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph">If you&#8217;ve landed on this article, you&#8217;ll probably struggle with one or both of those issues:</p>



<ul class="wp-block-list"><li><strong>Understanding basic Python features and functions&#8212;or knowing about them in the first place.</strong> In that case, join my <a rel="noreferrer noopener" href="https://blog.finxter.com/email-academy/" data-type="page" data-id="12278" target="_blank">free email academy</a> for an infinite stream of learning content.</li><li>Understanding the database handling provided by Python&#8217;s Access interface. In that case, check out <a href="https://blog.finxter.com/creating-a-database-table-using-the-package-pyodbc-in-python/" data-type="post" data-id="11636" target="_blank" rel="noreferrer noopener">our in-depth tutorial on <code>pyodbc</code></a> on the Finxter blog.</li></ul>



<p class="wp-block-paragraph">I hope you learned something out of today&#8217;s tutorial, my friend! Here&#8217;s a joke to round things out:</p>



<h2 class="wp-block-heading">Nerd Humor</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="733" height="913" src="https://blog.finxter.com/wp-content/uploads/2022/06/image-72.png" alt="" class="wp-image-410345" srcset="https://blog.finxter.com/wp-content/uploads/2022/06/image-72.png 733w, https://blog.finxter.com/wp-content/uploads/2022/06/image-72-241x300.png 241w" sizes="auto, (max-width: 733px) 100vw, 733px" /><figcaption><em>Oh yeah, I didn&#8217;t even know they renamed it the Willis Tower in 2009, because I know a normal amount about skyscrapers.</em> &#8212; <a rel="noreferrer noopener" href="https://imgs.xkcd.com/comics/or_whatever_2x.png" data-type="URL" data-id="https://imgs.xkcd.com/comics/or_whatever_2x.png" target="_blank">xkcd</a> (source)</figcaption></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Top 18 Database Jobs to Make Six Figures Easily (2023)</title>
		<link>https://blog.finxter.com/top-developer-jobs/</link>
		
		<dc:creator><![CDATA[Chris]]></dc:creator>
		<pubDate>Sat, 16 Jul 2022 18:49:41 +0000</pubDate>
				<category><![CDATA[Career]]></category>
		<category><![CDATA[Coding Business]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Freelancing]]></category>
		<category><![CDATA[Productivity]]></category>
		<guid isPermaLink="false">https://blog.finxter.com/?p=475032</guid>

					<description><![CDATA[🔒 Do you want to go deep into databases? The following career paths for coders interested in the broad database space are ordered alphabetically. The table shows the annual income of different job descriptions in the database space: Job/Career Description Annual Income $USD (Lower) Annual Income $USD (Higher) Cassandra Developer 110,000 145,000 Couchbase Developer 87,000 ... <a title="Top 18 Database Jobs to Make Six Figures Easily (2023)" class="read-more" href="https://blog.finxter.com/top-developer-jobs/" aria-label="Read more about Top 18 Database Jobs to Make Six Figures Easily (2023)">Read more</a>]]></description>
										<content:encoded><![CDATA[
<p class="has-global-color-8-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f512.png" alt="🔒" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Do you want to go deep into databases?</strong></p>



<p class="wp-block-paragraph">The following career paths for coders interested in the <strong>broad database space</strong> are ordered <strong>alphabetically</strong>. The table shows the annual income of different job descriptions in the database space:</p>



<figure class="wp-block-table is-style-stripes"><table><thead><tr><th>Job/Career Description</th><th class="has-text-align-right" data-align="right">Annual Income $USD (Lower)</th><th class="has-text-align-right" data-align="right">Annual Income $USD (Higher)</th></tr></thead><tbody><tr><td>Cassandra Developer</td><td class="has-text-align-right" data-align="right">110,000</td><td class="has-text-align-right" data-align="right">145,000</td></tr><tr><td>Couchbase Developer</td><td class="has-text-align-right" data-align="right">87,000</td><td class="has-text-align-right" data-align="right">212,000</td></tr><tr><td>Database Administrator</td><td class="has-text-align-right" data-align="right">83,000</td><td class="has-text-align-right" data-align="right">131,000</td></tr><tr><td>Database Developer</td><td class="has-text-align-right" data-align="right">72,000</td><td class="has-text-align-right" data-align="right">135,000</td></tr><tr><td>DynamoDB Developer</td><td class="has-text-align-right" data-align="right">70,000</td><td class="has-text-align-right" data-align="right">160,000</td></tr><tr><td>IBM DB2 Developer</td><td class="has-text-align-right" data-align="right">90,000</td><td class="has-text-align-right" data-align="right">132,000</td></tr><tr><td>MariaDB Developer</td><td class="has-text-align-right" data-align="right">70,000</td><td class="has-text-align-right" data-align="right">100,000</td></tr><tr><td>Microsoft SQL Server Developer</td><td class="has-text-align-right" data-align="right">74,000</td><td class="has-text-align-right" data-align="right">137,000</td></tr><tr><td>MongoDB Developer</td><td class="has-text-align-right" data-align="right">59,000</td><td class="has-text-align-right" data-align="right">146,000</td></tr><tr><td>MS Access Developer</td><td class="has-text-align-right" data-align="right">45,000</td><td class="has-text-align-right" data-align="right">75,000</td></tr><tr><td>MySQL Developer</td><td class="has-text-align-right" data-align="right">87,000</td><td class="has-text-align-right" data-align="right">149,000</td></tr><tr><td>Oracle Developer</td><td class="has-text-align-right" data-align="right">86,000</td><td class="has-text-align-right" data-align="right">107,000</td></tr><tr><td>PL-SQL Developer</td><td class="has-text-align-right" data-align="right">72,000</td><td class="has-text-align-right" data-align="right">103,000</td></tr><tr><td>PostgreSQL Developer</td><td class="has-text-align-right" data-align="right">104,000</td><td class="has-text-align-right" data-align="right">133,000</td></tr><tr><td>RavenDB Developer</td><td class="has-text-align-right" data-align="right">101,000</td><td class="has-text-align-right" data-align="right">130,000</td></tr><tr><td>Redis Developer</td><td class="has-text-align-right" data-align="right">100,000</td><td class="has-text-align-right" data-align="right">126,000</td></tr><tr><td>SQL Developer</td><td class="has-text-align-right" data-align="right">76,000</td><td class="has-text-align-right" data-align="right">87,000</td></tr><tr><td>SQLite Developer</td><td class="has-text-align-right" data-align="right">49,000</td><td class="has-text-align-right" data-align="right">107,000</td></tr></tbody></table><figcaption><strong>Table</strong>: Annual income in the US ($) of different job descriptions in the database space</figcaption></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph">Let&#8217;s dive into each of those job descriptions next!</p>



<h2 class="wp-block-heading">Cassandra Developer</h2>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://cassandra.apache.org/_/index.html" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1024" height="283" src="https://blog.finxter.com/wp-content/uploads/2022/07/image-73-1024x283.png" alt="" class="wp-image-475142" srcset="https://blog.finxter.com/wp-content/uploads/2022/07/image-73-1024x283.png 1024w, https://blog.finxter.com/wp-content/uploads/2022/07/image-73-300x83.png 300w, https://blog.finxter.com/wp-content/uploads/2022/07/image-73-768x212.png 768w, https://blog.finxter.com/wp-content/uploads/2022/07/image-73.png 1265w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<p class="wp-block-paragraph">Cassandra is a free, open-source, distributed, NoSQL database management system (DBMS) for large amounts of data that may be distributed across many commodity servers. </p>



<p class="wp-block-paragraph">A Cassandra developer manages the Cassandra system and integrates applications with the database storage solution and API.</p>



<p class="wp-block-paragraph">The average annual income of a <strong>Cassandra Developer</strong> is between <strong>$110,000</strong> and <strong>$145,500</strong>, according to Glassdoor (<a rel="noreferrer noopener" href="https://www.google.com/search?q=cassandra+developer+income" target="_blank">source</a>).</p>



<p class="wp-block-paragraph">Do you want to become a Cassandra Developer? Here’s a learning path I’d propose in five steps to get started:</p>



<ul class="wp-block-list"><li><strong>Step 1: <a rel="noreferrer noopener" href="https://pll.harvard.edu/course/cs50-introduction-computer-science?delta=0" target="_blank">Introduction to Computer Science</a> (~40 hours)</strong></li><li><strong>Step 2: <a rel="noreferrer noopener" href="https://www.c-sharpcorner.com/article/introduction-to-databases/" target="_blank">Introduction to Databases</a> (~20 hours)</strong></li><li><strong>Step 2: <a rel="noreferrer noopener" href="https://arxiv.org/ftp/arxiv/papers/0911/0911.4395.pdf" target="_blank">Introduction to Distributed Systems</a> (~10 hours)</strong></li><li><strong>Step 3: <a href="https://cassandra.apache.org/doc/latest/cassandra/architecture/overview.html" target="_blank" rel="noreferrer noopener">Introduction to Apache Cassandra</a> (~20 hours)</strong></li></ul>



<p class="has-base-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f30e.png" alt="🌎" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Learn More</strong>: Feel free to read my full guide on this career role on <a href="https://blog.finxter.com/cassandra-developer-income-and-opportunity/" data-type="post" data-id="181100" target="_blank" rel="noreferrer noopener">this Finxter blog article</a>.</p>



<h2 class="wp-block-heading">Couchbase Developer</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="636" height="954" src="https://blog.finxter.com/wp-content/uploads/2022/07/image-74.png" alt="" class="wp-image-475148" srcset="https://blog.finxter.com/wp-content/uploads/2022/07/image-74.png 636w, https://blog.finxter.com/wp-content/uploads/2022/07/image-74-200x300.png 200w" sizes="auto, (max-width: 636px) 100vw, 636px" /></figure>
</div>


<p class="wp-block-paragraph">Couchbase is an open-source, distributed NoSQL database infrastructure for interactive applications to serve concurrent users. </p>



<p class="wp-block-paragraph">A Couchbase developer creates applications using this infrastructure—mostly for business clients.</p>



<p class="wp-block-paragraph">The average Couchbase salary ranges from approximately $87,504 per year for an Inside Sales Representative to $212,621 per year for a Senior Software Engineer (<a rel="noreferrer noopener" href="https://www.glassdoor.com/Salary/Couchbase-Salaries-E612274.htm" target="_blank">source</a>).</p>



<p class="has-base-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f30e.png" alt="🌎" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Learn More</strong>: Feel free to read my full guide on this career role in <a href="https://blog.finxter.com/couchbase-developer-income-and-opportunity/" data-type="post" data-id="182462" target="_blank" rel="noreferrer noopener">this Finxter blog article</a>.</p>



<h2 class="wp-block-heading">Database Administrator</h2>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="684" src="https://blog.finxter.com/wp-content/uploads/2022/05/image-180-1024x684.png" alt="" class="wp-image-372455" srcset="https://blog.finxter.com/wp-content/uploads/2022/05/image-180-1024x684.png 1024w, https://blog.finxter.com/wp-content/uploads/2022/05/image-180-300x200.png 300w, https://blog.finxter.com/wp-content/uploads/2022/05/image-180-768x513.png 768w, https://blog.finxter.com/wp-content/uploads/2022/05/image-180.png 1026w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">A database administrator (DBA) is an IT professional responsible for maintaining the reliable, efficient, and secure execution of a database management system (DBMS).</p>



<p class="wp-block-paragraph">In this way, a database administrator is responsible for providing the data infrastructure of a company or organization. This involves installing, configuring, debugging, optimizing, securing, troubleshooting, and managing database systems.</p>



<p class="wp-block-paragraph">DBAs can either work as employees or as freelancers remotely or onsite.</p>


<div class="wp-block-image">
<figure class="aligncenter"><img loading="lazy" decoding="async" width="986" height="552" src="https://blog.finxter.com/wp-content/uploads/2022/05/image-184.png" alt="Average Income of a Database Admin in the US by Source" class="wp-image-375130" srcset="https://blog.finxter.com/wp-content/uploads/2022/05/image-184.png 986w, https://blog.finxter.com/wp-content/uploads/2022/05/image-184-300x168.png 300w, https://blog.finxter.com/wp-content/uploads/2022/05/image-184-768x430.png 768w" sizes="auto, (max-width: 986px) 100vw, 986px" /><figcaption><strong>Figure</strong>: Average Income of a Database Admin in the US by Source. [1]</figcaption></figure>
</div>


<p class="wp-block-paragraph">The average annual income of a <strong>Database Administrator</strong> in the United States is between <strong>$83,533</strong> and <strong>$131,056</strong>, with an average of <strong>$100,920 </strong>and a statistical median of <strong>$98,860</strong> per year.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="$75/h as a DB admin in a dying niche on Upwork?" width="937" height="527" src="https://www.youtube.com/embed/JfCQrVGvznI?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="has-base-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f30e.png" alt="🌎" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Learn More</strong>: Feel free to read my full guide on this career role in <a href="https://blog.finxter.com/database-administrator/" data-type="post" data-id="375099" target="_blank" rel="noreferrer noopener">this Finxter blog article</a>.</p>



<h2 class="wp-block-heading">Database Developer</h2>



<p class="wp-block-paragraph">A database engineer is responsible for providing the data infrastructure of a company or organization. This involves designing, creating, installing, configuring, debugging, optimizing, securing, and managing databases. </p>



<p class="wp-block-paragraph">Database engineers can either work as employees or as <a href="https://blog.finxter.com/freelance-developers-how-to-earn-as-a-beginner-level-2/" data-type="post" data-id="3536" target="_blank" rel="noreferrer noopener">freelancers</a> remotely or onsite.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="636" height="954" src="https://blog.finxter.com/wp-content/uploads/2022/07/image-75.png" alt="" class="wp-image-475152" srcset="https://blog.finxter.com/wp-content/uploads/2022/07/image-75.png 636w, https://blog.finxter.com/wp-content/uploads/2022/07/image-75-200x300.png 200w" sizes="auto, (max-width: 636px) 100vw, 636px" /></figure>
</div>


<p class="wp-block-paragraph">A database engineer has the following responsibilities:</p>



<ol class="wp-block-list"><li>Creating a new database system.</li><li>Finding a database system tailored to the needs of an organization.</li><li>Designing the data models.</li><li>Accessing the data with scripting languages including SQL-like syntax.</li><li>Installing an existing database software system onsite.</li><li>Configuring a database system.</li><li>Optimizing a database management system for performance, speed, or reliability.</li><li>Consulting management regarding data management issues.</li><li>Keeping databases secure and providing proper access control to users.</li><li>Monitoring and managing an existing database system to keep it running smoothly.</li><li>Debugging potential bugs, errors, and security issues detected at runtime.</li><li>Testing and deploying a database system on a public cloud infrastructure such as AWS.</li><li>Handling distribution issues in the case of a distributed database management system.</li><li>Ensuring budget adherence when running on a public cloud and estimating costs for private database solutions.</li><li>Communicating and negotiating with salespeople (e.g., from Oracle).</li></ol>



<p class="wp-block-paragraph">The average annual income of a <strong>Database Engineer</strong> in the United States is between <strong>$72,536</strong> and <strong>$135,000</strong>, with an average of <strong>$103,652 </strong>and a statistical median of <strong>$106,589</strong> per year.</p>


<div class="wp-block-image">
<figure class="aligncenter"><img loading="lazy" decoding="async" width="893" height="536" src="https://blog.finxter.com/wp-content/uploads/2022/05/image-176.png" alt="" class="wp-image-372422" srcset="https://blog.finxter.com/wp-content/uploads/2022/05/image-176.png 893w, https://blog.finxter.com/wp-content/uploads/2022/05/image-176-300x180.png 300w, https://blog.finxter.com/wp-content/uploads/2022/05/image-176-768x461.png 768w" sizes="auto, (max-width: 893px) 100vw, 893px" /><figcaption><strong>Figure</strong>: Average Income of a Database Engineer in the US by Source. [1]</figcaption></figure>
</div>


<p class="has-base-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f30e.png" alt="🌎" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Learn More</strong>: Feel free to read my full guide on this career role in <a rel="noreferrer noopener" href="https://blog.finxter.com/database-engineer/" data-type="post" data-id="372392" target="_blank">this Finxter blog article</a>.</p>



<h2 class="wp-block-heading">DynamoDB Developer</h2>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://aws.amazon.com/dynamodb/" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1024" height="382" src="https://blog.finxter.com/wp-content/uploads/2022/07/image-76-1024x382.png" alt="" class="wp-image-475154" srcset="https://blog.finxter.com/wp-content/uploads/2022/07/image-76-1024x382.png 1024w, https://blog.finxter.com/wp-content/uploads/2022/07/image-76-300x112.png 300w, https://blog.finxter.com/wp-content/uploads/2022/07/image-76-768x286.png 768w, https://blog.finxter.com/wp-content/uploads/2022/07/image-76.png 1180w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<p class="wp-block-paragraph">Amazon’s DynamoDB is a NoSQL, serverless, key-value database for high-performance applications. It is fully managed so a DynamoDB developer usually helps clients set up and connect to the database—and provides minimal maintenance support.</p>



<p class="wp-block-paragraph">As a <strong>DynamoDB Developer</strong>, you can expect to earn between <strong>$70,000</strong> and <strong>$160,000</strong> per year according to Google (<a rel="noreferrer noopener" href="https://www.google.com/search?client=firefox-b-d&amp;q=dynamodb+developer+income" target="_blank">source</a>).</p>



<p class="wp-block-paragraph">Do you want to become a DynamoDB Developer? </p>



<p class="wp-block-paragraph">Here’s a learning path I’d propose in five steps to get started:</p>



<ul class="wp-block-list"><li><strong>Step 1</strong>: <a rel="noreferrer noopener" href="https://pll.harvard.edu/course/cs50-introduction-computer-science?delta=0" target="_blank">Introduction to Computer Science</a> (~40 hours)</li><li><strong>Step 2</strong>: <a rel="noreferrer noopener" href="https://www.freecodecamp.org/news/a-thorough-introduction-to-distributed-systems-3b91562c9b3c/" target="_blank">Introduction to Distributed Systems</a> (~20 hours)</li><li><strong>Step 3</strong>: <a rel="noreferrer noopener" href="https://www.c-sharpcorner.com/article/introduction-to-databases/" target="_blank">Introduction to Databases</a> (~10 hours)</li><li><strong>Step 4</strong>: <a href="https://www.google.com/search?q=Introduction+to+DynamoDB" target="_blank" rel="noreferrer noopener">Introduction to DynamoDB</a> (~10 hours)</li><li><strong>Step 5</strong>: <a rel="noreferrer noopener" href="https://www.google.com/search?q=Introduction+to+Web+Services" target="_blank">Introduction to Web Services</a> (~10 hours)</li></ul>



<p class="has-base-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f30e.png" alt="🌎" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Learn More</strong>: Feel free to read my full guide on this career role in <a rel="noreferrer noopener" href="https://blog.finxter.com/dynamodb-developer-income-and-opportunity/" data-type="post" data-id="177277" target="_blank">this Finxter blog article</a>.</p>



<h2 class="wp-block-heading">IBM DB2 Developer</h2>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Note</strong>: If I may be so blunt&#8212;I don&#8217;t recommend this career path anymore due to the &#8220;dying&#8221; interest in IBM DB2 technology.</p>



<p class="wp-block-paragraph">IBM DB2 is a data processing and storage solution that helps developers quickly build and deploy applications such as natural language querying and AI. An IBM DB2 developer creates apps for and integrates them into this system.</p>



<p class="wp-block-paragraph">The average annual income of an <strong>IBM DB2 Developer</strong> is <strong>$132,000</strong> according to Glassdoor (<a rel="noreferrer noopener" href="https://www.glassdoor.com/Search/results.htm?keyword=IBM DB2" target="_blank">source</a>).</p>



<p class="has-base-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f30e.png" alt="🌎" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Learn More</strong>: Feel free to read my full guide on this career role on <a href="https://blog.finxter.com/ibm-db2-developer-income-and-opportunity/" data-type="post" data-id="182461" target="_blank" rel="noreferrer noopener">this Finxter blog article</a>.</p>



<h2 class="wp-block-heading">MariaDB Developer</h2>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://mariadb.com/" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1024" height="583" src="https://blog.finxter.com/wp-content/uploads/2022/07/image-77-1024x583.png" alt="" class="wp-image-475159" srcset="https://blog.finxter.com/wp-content/uploads/2022/07/image-77-1024x583.png 1024w, https://blog.finxter.com/wp-content/uploads/2022/07/image-77-300x171.png 300w, https://blog.finxter.com/wp-content/uploads/2022/07/image-77-768x437.png 768w, https://blog.finxter.com/wp-content/uploads/2022/07/image-77.png 1421w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<p class="wp-block-paragraph">MariaDB is a database framework focusing on relational databases that are compatible with Oracle. MariaDB developers provide value to clients by integrating their applications with new or existing MariaDB databases. (<a rel="noreferrer noopener" href="https://mariadb.com/developers/" target="_blank">Source</a>)</p>



<p class="wp-block-paragraph">The average annual income of a <strong>MariaDB Developer</strong> is <strong>$85,000 </strong>according to Payscale (<a rel="noreferrer noopener" href="https://www.payscale.com/research/US/Skill=MariaDB/Salary" target="_blank">source</a>).</p>



<p class="has-base-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f30e.png" alt="🌎" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Learn More</strong>: Feel free to read my full guide on this career role on <a href="https://blog.finxter.com/mariadb-developer-income-and-opportunity/" data-type="post" data-id="178901" target="_blank" rel="noreferrer noopener">this Finxter blog article</a>.</p>



<h2 class="wp-block-heading">Microsoft SQL Server Developer</h2>



<p class="wp-block-paragraph">Microsoft SQL Server is a relational database management system (RDBMS) to store and retrieve data on the same computer or across a network. A Microsoft SQL Server Developer creates and connects applications that access the Microsoft SQL Server API. (<a rel="noreferrer noopener" href="https://en.wikipedia.org/wiki/Microsoft_SQL_Server" target="_blank">Source</a>)</p>



<p class="wp-block-paragraph">The average annual income of a <strong>Microsoft SQL Server Developer</strong> is between <strong>$74,000</strong> and <strong>$137,500</strong> according to Ziprecruiter (<a rel="noreferrer noopener" href="https://www.google.com/search?q=Microsoft+SQL+Server+income" target="_blank">source</a>):</p>


<div class="wp-block-image">
<figure class="aligncenter"><img loading="lazy" decoding="async" width="743" height="311" src="https://blog.finxter.com/wp-content/uploads/2022/02/image-55.png" alt="Microsoft SQL Server Developer Salary" class="wp-image-181181" srcset="https://blog.finxter.com/wp-content/uploads/2022/02/image-55.png 743w, https://blog.finxter.com/wp-content/uploads/2022/02/image-55-300x126.png 300w" sizes="auto, (max-width: 743px) 100vw, 743px" /></figure>
</div>


<p class="has-base-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f30e.png" alt="🌎" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Learn More</strong>: Feel free to read my full guide on this career role in <a href="https://blog.finxter.com/microsoft-sql-server-developer-income-and-opportunity/" data-type="post" data-id="181102" target="_blank" rel="noreferrer noopener">this Finxter blog article</a>.</p>



<h2 class="wp-block-heading">MongoDB Developer</h2>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="$75/h as a MongoDB Developer on Upwork ... to Seth" width="937" height="527" src="https://www.youtube.com/embed/KttLq6kQDLA?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph">The average annual income of a <strong>MongoDB Developer</strong> is <strong>$92,414</strong> with a most likely range between $59,000 and $146,000 and a top earner income of $222,000 according to Glassdoor (<a rel="noreferrer noopener" href="https://www.glassdoor.com/Career/mongodb-developer-career_KO0,17.htm" target="_blank">source</a>).</p>



<p class="wp-block-paragraph">MongoDB is a source-available cross-platform document-oriented database program. As a NoSQL database program, MongoDB uses JSON-like documents with optional schemas. </p>



<p class="wp-block-paragraph">A MongoDB developer implements, maintains, and designs MongoDB database applications. (<a rel="noreferrer noopener" href="https://en.wikipedia.org/wiki/MongoDB" target="_blank">Source</a>)</p>



<p class="has-base-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f30e.png" alt="🌎" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Learn More</strong>: Feel free to read my full guide on this career role in <a href="https://blog.finxter.com/mongodb-developer-income-and-opportunity/" data-type="post" data-id="169746" target="_blank" rel="noreferrer noopener">this Finxter blog article</a>.</p>



<h2 class="wp-block-heading">MS Access Developer</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://www.microsoft.com/en-ww/microsoft-365/access" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="646" height="391" src="https://blog.finxter.com/wp-content/uploads/2022/07/image-78.png" alt="" class="wp-image-475164" srcset="https://blog.finxter.com/wp-content/uploads/2022/07/image-78.png 646w, https://blog.finxter.com/wp-content/uploads/2022/07/image-78-300x182.png 300w" sizes="auto, (max-width: 646px) 100vw, 646px" /></a></figure>
</div>


<p class="wp-block-paragraph">The average annual income of an <strong>MS Access Developer</strong> is between <strong>$45,000</strong> (25th percentile) and <strong>$75,000</strong> (75th percentile) according to Ziprecruiter with top developers making <strong>$122,000</strong> and more (<a rel="noreferrer noopener" href="https://www.ziprecruiter.com/Salaries/Microsoft-Access-Developer-Salary" target="_blank">source</a>).</p>



<p class="wp-block-paragraph">A Microsoft Access Developer developer creates, edits, analyzes, debugs, and supervises the development of software written in the MS Access programming language. </p>



<p class="wp-block-paragraph">MS Access is a database system. Although it isn’t used that much anymore, it is still a great tool for small projects. And there is a huge number of legacy systems that depend upon MS Access. (<a rel="noreferrer noopener" href="https://digital.com/best-software-development-companies/most-popular-programming-languages/" target="_blank">Source</a>)</p>



<p class="has-base-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f30e.png" alt="🌎" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Learn More</strong>: Feel free to read my full guide on this career role in <a href="https://blog.finxter.com/ms-access-developer-income-and-opportunity/" data-type="post" data-id="221779" target="_blank" rel="noreferrer noopener">this Finxter blog article</a>.</p>



<h2 class="wp-block-heading">MySQL Developer</h2>



<p class="wp-block-paragraph">A MySQL Developer is responsible for database administration, such as performance optimization, troubleshooting, problem-solving, and customer support.</p>



<p class="wp-block-paragraph">The average annual income of a <strong>MySQL Developer</strong> is between <strong>$87,828</strong> and <strong>$149,975</strong>, according to Glassdoor (<a rel="noreferrer noopener" href="https://www.glassdoor.com/Search/results.htm?keyword=MySQL" target="_blank">source</a>).</p>



<p class="has-base-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f30e.png" alt="🌎" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Learn More</strong>: Feel free to read my full guide on this career role in <a href="https://blog.finxter.com/mysql-developer-income-and-opportunity/" data-type="post" data-id="181101" target="_blank" rel="noreferrer noopener">this Finxter blog article</a>.</p>



<h2 class="wp-block-heading">Oracle Developer</h2>



<p class="wp-block-paragraph">An Oracle developer creates or maintains the database components of an Oracle application. They often develop new applications or convert existing applications to run in an Oracle Database environment. (<a rel="noreferrer noopener" href="https://docs.oracle.com/cd/E11882_01/server.112/e40540/cncptdev.htm" target="_blank">Source</a>)</p>



<p class="wp-block-paragraph">The average annual income of an Oracle Developer in the United States is between $86,074 and $107,675, according to Salary.com, with an average of $97,941. (<a rel="noreferrer noopener" href="https://www.salary.com/research/salary/posting/oracle-developer-salary" target="_blank">source</a>)</p>



<p class="has-base-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f30e.png" alt="🌎" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Learn More</strong>: Feel free to read my full guide on this career role in <a href="https://blog.finxter.com/oracle-developer-income-and-opportunity/" data-type="post" data-id="182463" target="_blank" rel="noreferrer noopener">this Finxter blog article</a>.</p>



<h2 class="wp-block-heading">PL/SQL Developer</h2>



<p class="wp-block-paragraph">A PL-/SQL Developer developer creates, edits, analyzes, debugs, and supervises the development of software written in the PL/SQL programming language. </p>



<p class="wp-block-paragraph">PL/SQL is a procedural language built on top of SQL for programming Oracle databases. (<a rel="noreferrer noopener" href="https://digital.com/best-software-development-companies/most-popular-programming-languages/" target="_blank">Source</a>)</p>



<p class="wp-block-paragraph">The average annual income of a <strong>PL/SQL Developer</strong> is between <strong>$72,000</strong> and <strong>$103,000</strong> according to Glassdoor (<a rel="noreferrer noopener" href="https://www.glassdoor.com/Salaries/oracle-pl-sql-developer-salary-SRCH_KO0,23.htm" target="_blank">source</a>).</p>



<p class="has-base-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f30e.png" alt="🌎" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Learn More</strong>: Feel free to read my full guide on this career role in <a href="https://blog.finxter.com/ibm-oracle-pl-sql-developer-income-and-opportunity/" data-type="post" data-id="223647" target="_blank" rel="noreferrer noopener">this Finxter blog article</a>.</p>



<h2 class="wp-block-heading">PostgreSQL Developer</h2>



<p class="wp-block-paragraph">PostgreSQL calls itself <em>“The World’s Most Advanced Open Source Relational Database”</em>. </p>



<p class="wp-block-paragraph">A PostgreSQL database developer works on the PostgreSQL project whereas a PostgreSQL developer works with PostgreSQL on a third-party application. Most will take the second route, for which you need to know how to access the API. (<a rel="noreferrer noopener" href="https://www.postgresql.org/developer/" target="_blank">Source</a>)</p>



<p class="wp-block-paragraph">Do you want to become a PostgreSQL developer? Here’s a learning path I’d propose in five steps to get started:</p>



<ul class="wp-block-list"><li><strong>Step 1</strong>: <a rel="noreferrer noopener" href="https://pll.harvard.edu/course/cs50-introduction-computer-science?delta=0" target="_blank">Introduction to Computer Science</a> (~40 hours)</li><li><strong>Step 2</strong>: <a rel="noreferrer noopener" href="https://www.ucl.ac.uk/archaeology/cisp/database/manual/node1.html" target="_blank">Introduction to Databases</a> (~10 hours)</li><li><strong>Step 3</strong>: <a rel="noreferrer noopener" href="https://www.khanacademy.org/computing/computer-programming/sql" target="_blank">Introduction to SQL</a> (~10 hours)</li><li><strong>Step 4</strong>: <a href="https://www.postgresql.org/docs/12/tutorial-sql-intro.html" target="_blank" rel="noreferrer noopener">Introduction to PostgreSQL</a> (~10 hours)</li></ul>



<p class="wp-block-paragraph">According to ZipRecruiter, the annual income of PostgreSQL developers is between $104,000 for the bottom 25th percentile, $133,000 for the 75th Percentile, and $171,500 for the top earners. </p>



<p class="wp-block-paragraph">The monthly pay ranges from $8,666 to $14,291 with an average monthly income of $10,052.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="$75 per Hour as a PostgreSQL Admin ... to Nilesh" width="937" height="527" src="https://www.youtube.com/embed/EWeNZR82bXU?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="has-base-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f30e.png" alt="🌎" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Learn More</strong>: Feel free to read my full guide on this career role in <a href="https://blog.finxter.com/postgresql-developer-income-and-opportunity/" data-type="post" data-id="168600" target="_blank" rel="noreferrer noopener">this Finxter blog article</a>.</p>



<h2 class="wp-block-heading">RavenDB Developer</h2>



<p class="wp-block-paragraph">The average annual income of a <strong>RavenDB Developer</strong> is hard to estimate given the limited data availability. However, RavenDB developers are NoSQL developers who earn between <strong>$101,000</strong> (25th percentile) and <strong>$130,500</strong> (75th percentile) with an average of <strong>$119,105</strong> per year in the US according to Ziprecruiter (<a rel="noreferrer noopener" href="https://www.ziprecruiter.com/Salaries/Nosql-Developer-Salary" target="_blank">source</a>).</p>



<p class="wp-block-paragraph">A RavenDB Developer developer creates, edits, analyzes, debugs, and supervises the development of software written in the RavenDB programming language. RavenDB is a NoSQL document-oriented database written especially for the .NET framework. (<a rel="noreferrer noopener" href="https://digital.com/best-software-development-companies/most-popular-programming-languages/" target="_blank">Source</a>)</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Managing NoSQL Databases for $64/h on Upwork as a SysAdmin Freelancer" width="937" height="527" src="https://www.youtube.com/embed/BqGiqoLmxnY?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="has-base-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f30e.png" alt="🌎" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Learn More</strong>: Feel free to read my full guide on this career role in <a href="https://blog.finxter.com/ravendb-developer-income-and-opportunity/" data-type="post" data-id="227132" target="_blank" rel="noreferrer noopener">this Finxter blog article</a>.</p>



<h2 class="wp-block-heading">Redis Developer</h2>



<p class="wp-block-paragraph">Redis (<em>Remote Dictionary Server</em>) is a fast, open source, in-memory, key-value data store. </p>



<p class="wp-block-paragraph">As a Redis developer, you will apply and develop Redis solutions for databases, caches, message brokers, and queues. </p>



<p class="wp-block-paragraph">Other use cases are chat apps, gaming leaderboards, session stores, streaming apps, and handling geospatial data sources — to name just a few. (<a rel="noreferrer noopener" href="https://aws.amazon.com/redis/" target="_blank">Source</a>)</p>



<p class="wp-block-paragraph">The average annual income of a <strong>Redis developer</strong> is <strong>$113,000</strong> in the US according to PayScale (<a rel="noreferrer noopener" href="https://www.payscale.com/research/US/Skill=Redis/Salary" target="_blank">source</a>).</p>



<p class="has-base-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f30e.png" alt="🌎" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Learn More</strong>: Feel free to read my full guide on this career role in <a href="https://blog.finxter.com/redis-developer-income-and-opportunity/" data-type="post" data-id="167154" target="_blank" rel="noreferrer noopener">this Finxter blog article</a>.</p>



<h2 class="wp-block-heading">SQL Developer</h2>



<p class="wp-block-paragraph">An SQL Developer creates, among other things, SQL code for database access. SQL is short for <strong><em>Structured Query Language</em></strong> that is designed to manage data stored in relational databases. (<a rel="noreferrer noopener" href="https://www.codecademy.com/article/sql-commands" target="_blank">Source</a>)</p>



<p class="wp-block-paragraph">The average annual income of a <strong>SQL Developer</strong> in the US is <strong>$76,110</strong> according to <a rel="noreferrer noopener" href="https://www.payscale.com/research/US/Job=SQL_Developer/Salary" target="_blank">PayScale</a> and $87,489 according to <a rel="noreferrer noopener" href="https://www.indeed.com/career/sql-developer/salaries" target="_blank">Indeed.com</a>.</p>



<p class="has-base-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f30e.png" alt="🌎" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Learn More</strong>: Feel free to read my full guide on this career role in <a href="https://blog.finxter.com/sql-developer-income-and-opportunity/" data-type="post" data-id="189359" target="_blank" rel="noreferrer noopener">this Finxter blog article</a>.</p>



<h2 class="wp-block-heading">SQLite Developer</h2>



<p class="wp-block-paragraph">SQLite is the most used database engine in the world. SQLite implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine.</p>



<p class="wp-block-paragraph">SQLite developers help clients set up, maintain, and manage an SQLite database for their applications. (<a rel="noreferrer noopener" href="https://www.sqlite.org/index.html" target="_blank">Source</a>)</p>



<p class="wp-block-paragraph">The average annual income of a <strong>SQLite Developer</strong> is between <strong>$49,000</strong> and <strong>$107,000</strong> with an average of $64,977 per year according to PayScale (<a rel="noreferrer noopener" href="https://www.payscale.com/research/US/Skill=SQLite/Salary" target="_blank">source</a>).</p>



<p class="has-base-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f30e.png" alt="🌎" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Learn More</strong>: Feel free to read my full guide on this career role in <a rel="noreferrer noopener" href="https://blog.finxter.com/sqlite-developer-income-and-opportunity/" data-type="post" data-id="178998" target="_blank">this Finxter blog article</a>.</p>



<h2 class="wp-block-heading">Summary</h2>



<p class="wp-block-paragraph">The most attractive, common, or interesting career paths as a database enthusiast are (top 18):</p>



<ol class="wp-block-list"><li>Cassandra Developer</li><li>Couchbase Developer</li><li>Database Administrator</li><li>Database Developer</li><li>DynamoDB Developer</li><li>IBM DB2 Developer</li><li>MariaDB Developer</li><li>Microsoft SQL Server Developer</li><li>MongoDB Developer</li><li>MS Access Developer</li><li>MySQL Developer</li><li>Oracle Developer</li><li>PL-SQL Developer</li><li>PostgreSQL Developer</li><li>RavenDB Developer</li><li>Redis Developer</li><li>SQL Developer</li><li>SQLite Developer</li></ol>



<p class="wp-block-paragraph">Feel free to check out our <a href="https://blog.finxter.com/best-freelance-developer-guides/" data-type="post" data-id="14694">full career guide</a> on the Finxter blog and the <a href="https://blog.finxter.com/email-academy/" data-type="page" data-id="12278">free Finxter email academy</a> with never-ending free content!</p>






<hr class="wp-block-separator has-alpha-channel-opacity"/>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Database Administrator &#8212; Income and Opportunity</title>
		<link>https://blog.finxter.com/database-administrator/</link>
		
		<dc:creator><![CDATA[Chris]]></dc:creator>
		<pubDate>Wed, 18 May 2022 11:56:02 +0000</pubDate>
				<category><![CDATA[Career]]></category>
		<category><![CDATA[Coding Business]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Freelancing]]></category>
		<category><![CDATA[Productivity]]></category>
		<guid isPermaLink="false">https://blog.finxter.com/?p=375099</guid>

					<description><![CDATA[Before we learn about the money, let&#8217;s get this question out of the way: What is a Database Administrator? A database administrator (DBA) is an IT professional responsible for maintaining the reliable, efficient, and secure execution of a database management system (DBMS). In this way, a database administrator is responsible for providing the data infrastructure ... <a title="Database Administrator &#8212; Income and Opportunity" class="read-more" href="https://blog.finxter.com/database-administrator/" aria-label="Read more about Database Administrator &#8212; Income and Opportunity">Read more</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Before we learn about the money, let&#8217;s get this question out of the way:</p>



<h2 class="wp-block-heading">What is a Database Administrator?</h2>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="684" src="https://blog.finxter.com/wp-content/uploads/2022/05/image-180-1024x684.png" alt="" class="wp-image-372455" srcset="https://blog.finxter.com/wp-content/uploads/2022/05/image-180-1024x684.png 1024w, https://blog.finxter.com/wp-content/uploads/2022/05/image-180-300x200.png 300w, https://blog.finxter.com/wp-content/uploads/2022/05/image-180-768x513.png 768w, https://blog.finxter.com/wp-content/uploads/2022/05/image-180.png 1026w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure></div>



<p class="wp-block-paragraph">A database administrator (DBA) is an IT professional responsible for maintaining the reliable, efficient, and secure execution of a database management system (DBMS).</p>



<p class="wp-block-paragraph">In this way, a database administrator is responsible for providing the data infrastructure of a company or organization. This involves installing, configuring, debugging, optimizing, securing, troubleshooting, and managing database systems. </p>



<p class="wp-block-paragraph">DBAs can either work as employees or as freelancers remotely or onsite.</p>



<h2 class="wp-block-heading">What Does a Database Administrator Do?</h2>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="682" src="https://blog.finxter.com/wp-content/uploads/2022/05/image-181-1024x682.png" alt="" class="wp-image-372457" srcset="https://blog.finxter.com/wp-content/uploads/2022/05/image-181-1024x682.png 1024w, https://blog.finxter.com/wp-content/uploads/2022/05/image-181-300x200.png 300w, https://blog.finxter.com/wp-content/uploads/2022/05/image-181-768x512.png 768w, https://blog.finxter.com/wp-content/uploads/2022/05/image-181.png 1028w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure></div>



<p class="wp-block-paragraph">As already indicated, a database admin is responsible for providing and maintaining the data infrastructure of a company or organization.</p>



<p class="wp-block-paragraph">In particular, a database administrator has many <strong>responsibilities</strong>, such as the following <strong>15 most crucial activities handled by DBAs today</strong>:</p>



<ol class="wp-block-list"><li>Migrating data from one database to another</li><li>Designing the data models.</li><li>Accessing the data with scripting languages including SQL-like syntax.</li><li>Finding a database system tailored to the needs of an organization.</li><li>Installing an existing database software system onsite.</li><li>Configuring a database system.</li><li>Optimizing a database management system for performance, speed, or reliability.</li><li>Consulting management regarding data management issues.</li><li>Keeping databases secure and providing proper access control to users.</li><li>Monitoring and managing an existing database system to keep it running smoothly.</li><li>Debugging potential bugs, errors, and security issues detected at runtime.</li><li>Testing and deploying a database system on a public cloud infrastructure such as <a href="https://blog.finxter.com/aws-developer-income-and-opportunity/" data-type="post" data-id="273971" target="_blank" rel="noreferrer noopener">AWS</a>. </li><li>Handling distribution issues in the case of a distributed database management system.</li><li>Ensuring budget adherence when running on a public cloud and estimating costs for private database solutions.</li><li>Communicating and negotiating with salespeople (e.g., from <a href="https://blog.finxter.com/oracle-developer-income-and-opportunity/" data-type="post" data-id="182463" target="_blank" rel="noreferrer noopener">Oracle</a>).</li></ol>



<p class="wp-block-paragraph">These are only some of the most common activities frequently handled by DBAs.</p>



<h2 class="wp-block-heading">Database Administrator vs Data Engineer</h2>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="914" height="685" src="https://blog.finxter.com/wp-content/uploads/2022/05/image-182.png" alt="" class="wp-image-372463" srcset="https://blog.finxter.com/wp-content/uploads/2022/05/image-182.png 914w, https://blog.finxter.com/wp-content/uploads/2022/05/image-182-300x225.png 300w, https://blog.finxter.com/wp-content/uploads/2022/05/image-182-768x576.png 768w" sizes="auto, (max-width: 914px) 100vw, 914px" /></figure></div>



<p class="wp-block-paragraph">A <strong>database administrator </strong>is responsible for providing and maintaining the data infrastructure of a company or organization. This involves installing, configuring, debugging, optimizing, securing, troubleshooting, and managing databases. DBAs can either work as employees or as freelancers remotely or onsite.</p>



<p class="wp-block-paragraph">A <strong>data engineer</strong> prepares data to be used in <a href="https://blog.finxter.com/data-scientist-income-and-opportunity/" data-type="post" data-id="332478">data </a><a rel="noreferrer noopener" href="https://blog.finxter.com/data-scientist-income-and-opportunity/" data-type="post" data-id="332478" target="_blank">a</a><a href="https://blog.finxter.com/data-scientist-income-and-opportunity/" data-type="post" data-id="332478">nalytics</a> and operations, essentially providing <a rel="noreferrer noopener" href="https://blog.finxter.com/web-scraping-with-beautifulsoup-in-python/" data-type="post" data-id="17311" target="_blank">automated</a> or semi-automated ways for data collection and creating pipelines that connect various data sources to database management systems such as the ones managed by a DBA.</p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph">A <strong>data engineer</strong> focuses on filling data into a database system whereas a <strong>database admin</strong> is focused on maintaining the database system in the first place. There are intersection points between data engineers and DBAs at the interface between data sources and data management.</p>



<h2 class="wp-block-heading">Database Administrator vs Database Engineer</h2>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="682" src="https://blog.finxter.com/wp-content/uploads/2022/05/image-183-1024x682.png" alt="" class="wp-image-372464" srcset="https://blog.finxter.com/wp-content/uploads/2022/05/image-183-1024x682.png 1024w, https://blog.finxter.com/wp-content/uploads/2022/05/image-183-300x200.png 300w, https://blog.finxter.com/wp-content/uploads/2022/05/image-183-768x512.png 768w, https://blog.finxter.com/wp-content/uploads/2022/05/image-183.png 1028w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure></div>



<p class="has-global-color-8-background-color has-background wp-block-paragraph">A <strong><a href="https://blog.finxter.com/database-engineer/" data-type="post" data-id="372392" target="_blank" rel="noreferrer noopener">database engineer</a></strong> is responsible for providing the data infrastructure of a company or organization. This involves designing, creating, installing, configuring, debugging, optimizing, securing, and managing databases. Database engineers can either work as employees or as freelancers remotely or onsite.</p>



<p class="wp-block-paragraph">Database administrators perform a similar role to <a href="https://blog.finxter.com/database-engineer/" data-type="post" data-id="372392" target="_blank" rel="noreferrer noopener">database engineers</a> in that they are responsible for setting up, installing, configuring, securing, and managing a database management system. </p>



<p class="wp-block-paragraph">The focus of DBAs is more on the technical maintenance of existing systems rather than the theoretical development of new solutions. </p>



<p class="wp-block-paragraph">But the lines between those two job descriptions are blurry and often overlap significantly.</p>



<h2 class="wp-block-heading" id="annual-income">Annual Income of Database Administrator (US)</h2>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4ac.png" alt="💬" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Question</strong>: How much does a Database Administrator (DBA) in the US make per year?</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="986" height="552" src="https://blog.finxter.com/wp-content/uploads/2022/05/image-184.png" alt="Average Income of a Database Admin in the US by Source" class="wp-image-375130" srcset="https://blog.finxter.com/wp-content/uploads/2022/05/image-184.png 986w, https://blog.finxter.com/wp-content/uploads/2022/05/image-184-300x168.png 300w, https://blog.finxter.com/wp-content/uploads/2022/05/image-184-768x430.png 768w" sizes="auto, (max-width: 986px) 100vw, 986px" /><figcaption><strong>Figure</strong>: Average Income of a Database Admin in the US by Source. [1]</figcaption></figure></div>



<p class="has-global-color-8-background-color has-background wp-block-paragraph">The average annual income of a <strong>Database Administrator</strong> in the United States is between <strong>$83,533</strong> and <strong>$131,056</strong>, with an average of <strong>$100,920 </strong>and a statistical median of <strong>$98,860</strong> per year.</p>



<p class="wp-block-paragraph">This data is based on our meta-study of 13 salary aggregators sources such as Glassdoor, ZipRecruiter, and PayScale.</p>



<figure class="wp-block-table is-style-stripes"><table><thead><tr><th>Source</th><th>Average Income</th></tr></thead><tbody><tr><td><a href="https://www.glassdoor.com/Salaries/database-administrator-salary-SRCH_KO0,22.htm" data-type="URL" data-id="https://www.glassdoor.com/Salaries/database-administrator-salary-SRCH_KO0,22.htm" target="_blank" rel="noreferrer noopener">Glassdoor.com</a></td><td>$83,700</td></tr><tr><td><a href="https://www.ziprecruiter.com/Salaries/Database-Administrator-Salary" data-type="URL" data-id="https://www.ziprecruiter.com/Salaries/Database-Administrator-Salary" target="_blank" rel="noreferrer noopener">ZipRecruiter.com</a></td><td>$86,833</td></tr><tr><td><a href="https://builtin.com/salaries/data-analytics/database-administrator" data-type="URL" data-id="https://builtin.com/salaries/data-analytics/database-administrator" target="_blank" rel="noreferrer noopener">BuiltIn.com</a></td><td>$131,056</td></tr><tr><td><a href="https://www.talent.com/salary?job=oracle+dba" data-type="URL" data-id="https://www.talent.com/salary?job=oracle+dba" target="_blank" rel="noreferrer noopener">Talent.com</a></td><td>$114,750</td></tr><tr><td><a href="https://www.indeed.com/career/database-administrator/salaries" data-type="URL" data-id="https://www.indeed.com/career/database-administrator/salaries" target="_blank" rel="noreferrer noopener">Indeed.com</a></td><td>$90,128</td></tr><tr><td><a href="https://www.payscale.com/research/US/Job=Senior_Database_Administrator_(DBA)/Salary" data-type="URL" data-id="https://www.payscale.com/research/US/Job=Senior_Database_Administrator_(DBA)/Salary" target="_blank" rel="noreferrer noopener">PayScale.com</a></td><td>$111,854</td></tr><tr><td><a href="https://www.salaryexpert.com/salary/job/database-administrator/united-states" data-type="URL" data-id="https://www.salaryexpert.com/salary/job/database-administrator/united-states" target="_blank" rel="noreferrer noopener">SalaryExpert.com</a></td><td>$106,538</td></tr><tr><td><a href="http://www.salaryexplorer.com/salary-survey.php?loc=229&amp;loctype=1&amp;job=813&amp;jobtype=3" data-type="URL" data-id="http://www.salaryexplorer.com/salary-survey.php?loc=229&amp;loctype=1&amp;job=813&amp;jobtype=3" target="_blank" rel="noreferrer noopener">SalaryExplorer.com</a></td><td>$97,400</td></tr><tr><td><a href="https://money.usnews.com/careers/best-jobs/database-administrator/salary" data-type="URL" data-id="https://money.usnews.com/careers/best-jobs/database-administrator/salary" target="_blank" rel="noreferrer noopener">USNews.com</a></td><td>$98,860</td></tr><tr><td><a href="https://www.comparably.com/salaries/salaries-for-administrator-database" data-type="URL" data-id="https://www.comparably.com/salaries/salaries-for-administrator-database" target="_blank" rel="noreferrer noopener">Comparably.com</a></td><td>$111,716</td></tr><tr><td><a href="https://www.zippia.com/database-administrator-jobs/salary/" data-type="URL" data-id="https://www.zippia.com/database-administrator-jobs/salary/" target="_blank" rel="noreferrer noopener">Zippia.com</a></td><td>$83,533</td></tr><tr><td><a href="https://www.salary.com/research/salary/listing/database-administrator-salary" data-type="URL" data-id="https://www.salary.com/research/salary/listing/database-administrator-salary" target="_blank" rel="noreferrer noopener">Salary.com</a></td><td>$96,744</td></tr><tr><td><a href="https://www.bls.gov/ooh/computer-and-information-technology/database-administrators.htm" data-type="URL" data-id="https://www.bls.gov/ooh/computer-and-information-technology/database-administrators.htm" target="_blank" rel="noreferrer noopener">BLS.gov</a></td><td>$98,860</td></tr></tbody></table><figcaption><strong>Table</strong>: Average Income of a Database Administrator in the US by Source.</figcaption></figure>



<p class="wp-block-paragraph"></p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Note</strong>: This is the <strong>most comprehensive salary meta-study</strong> of database administrator income in the world, to the best of my knowledge!</p>



<p class="wp-block-paragraph">Further note that DBAs earn less compared to database engineers, although many of the tasks of a DBA are similar to those of a database engineer:</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="893" height="536" src="https://blog.finxter.com/wp-content/uploads/2022/05/image-176.png" alt="" class="wp-image-372422" srcset="https://blog.finxter.com/wp-content/uploads/2022/05/image-176.png 893w, https://blog.finxter.com/wp-content/uploads/2022/05/image-176-300x180.png 300w, https://blog.finxter.com/wp-content/uploads/2022/05/image-176-768x461.png 768w" sizes="auto, (max-width: 893px) 100vw, 893px" /></figure></div>



<p class="wp-block-paragraph">To learn more about the income potential and opportunity of data engineers, have a look at our full guide on the Finxter blog:</p>



<ul class="wp-block-list"><li><a href="https://blog.finxter.com/database-engineer/" data-type="post" data-id="372392" target="_blank" rel="noreferrer noopener">Data Engineer &#8212; Income and Opportunity</a></li></ul>



<p class="wp-block-paragraph">Let&#8217;s have a look at the hourly rate of DBAs next!</p>



<h2 class="wp-block-heading" id="hourly-rate">Hourly Rate</h2>



<p class="wp-block-paragraph">Database Administrators are well-paid on freelancing platforms such as <a rel="noreferrer noopener" href="https://blog.finxter.com/upwork-vs-fiverr/" data-type="post" data-id="11152" target="_blank">Upwork or Fiverr</a>.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Managing NoSQL Databases for $64/h on Upwork as a SysAdmin Freelancer" width="937" height="527" src="https://www.youtube.com/embed/BqGiqoLmxnY?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<ul class="wp-block-list"><li><strong>Related Article</strong>: <a href="https://blog.finxter.com/best-python-freelancer-platforms/" data-type="post" data-id="3382" target="_blank" rel="noreferrer noopener">What&#8217;s the best freelancing platform?</a></li></ul>



<p class="has-global-color-8-background-color has-background wp-block-paragraph">If you decide to go the route as a freelance database administrator, you can expect to make between $20 and $120 per hour on Upwork (<a rel="noreferrer noopener" href="https://www.upwork.com/ab/profiles/search/?nss=90&amp;q=Database%20engineer&amp;top_rated_plus=yes&amp;top_rated_status=top_rated" data-type="URL" data-id="https://www.upwork.com/ab/profiles/search/?nss=90&amp;q=Database%20engineer&amp;top_rated_plus=yes&amp;top_rated_status=top_rated" target="_blank">source</a>). Assuming an annual workload of 2000 hours, you can expect to make between $40,000 and $240,000 per year.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="723" height="1024" src="https://blog.finxter.com/wp-content/uploads/2022/05/image-185-723x1024.png" alt="" class="wp-image-375136" srcset="https://blog.finxter.com/wp-content/uploads/2022/05/image-185-723x1024.png 723w, https://blog.finxter.com/wp-content/uploads/2022/05/image-185-212x300.png 212w, https://blog.finxter.com/wp-content/uploads/2022/05/image-185-768x1088.png 768w, https://blog.finxter.com/wp-content/uploads/2022/05/image-185.png 781w" sizes="auto, (max-width: 723px) 100vw, 723px" /></figure></div>



<p class="wp-block-paragraph">Note that it may be a smart trick to reposition yourself as a database engineer to instantly make 10-20% more! <a href="https://blog.finxter.com/database-engineer/" data-type="post" data-id="372392">Learn</a><a href="https://blog.finxter.com/database-engineer/" data-type="post" data-id="372392" target="_blank" rel="noreferrer noopener"> </a><a href="https://blog.finxter.com/database-engineer/" data-type="post" data-id="372392">more here on the Finxter blog.</a></p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a1.png" alt="⚡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Note</strong>: Do you want to create your own thriving coding business online? Feel free to check out our <a href="https://blog.finxter.com/become-python-freelancer-course/" data-type="page" data-id="2072" target="_blank" rel="noreferrer noopener">freelance developer course</a> &#8212; the world&#8217;s #1 best-selling freelance developer course that specifically shows you how to succeed on Upwork and Fiverr!</p>



<div class="wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-fe48e5de wp-block-buttons-is-layout-flex">
<div class="wp-block-button has-custom-width wp-block-button__width-50 is-style-fill"><a class="wp-block-button__link has-accent-background-color has-background" href="https://blog.finxter.com/become-python-freelancer-course/" target="_blank" rel="noreferrer noopener">Join Freelancer Course</a></div>
</div>



<h2 class="wp-block-heading" id="industry-demand">Industry Demand</h2>



<p class="wp-block-paragraph">But is there enough demand? Let&#8217;s have a look at Google trends to find out how interest evolves over time (<a href="https://trends.google.com/trends/explore?date=all&amp;q=Database%20Administrator" data-type="URL" data-id="https://trends.google.com/trends/explore?date=all&amp;q=Database%20Administrator" target="_blank" rel="noreferrer noopener">source</a>):</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="477" src="https://blog.finxter.com/wp-content/uploads/2022/05/image-186-1024x477.png" alt="" class="wp-image-375138" srcset="https://blog.finxter.com/wp-content/uploads/2022/05/image-186-1024x477.png 1024w, https://blog.finxter.com/wp-content/uploads/2022/05/image-186-300x140.png 300w, https://blog.finxter.com/wp-content/uploads/2022/05/image-186-768x357.png 768w, https://blog.finxter.com/wp-content/uploads/2022/05/image-186-1536x715.png 1536w, https://blog.finxter.com/wp-content/uploads/2022/05/image-186.png 1766w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure></div>



<p class="wp-block-paragraph">The interest in database administration has dropped by almost 75% over the last two decades &#8212; with more and more solutions centralizing in the cloud.</p>



<p class="wp-block-paragraph">If you compare the interest of &#8220;database engineering&#8221; with &#8220;database administration&#8221;, you can see that &#8220;database engineering&#8221; actually wins in relative importance (<a rel="noreferrer noopener" href="https://trends.google.com/trends/explore?date=all&amp;q=Database%20engineer,database%20administrator" data-type="URL" data-id="https://trends.google.com/trends/explore?date=all&amp;q=Database%20engineer,database%20administrator" target="_blank">source</a>) because it doesn&#8217;t shrink as quickly:</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="475" src="https://blog.finxter.com/wp-content/uploads/2022/05/image-179-1024x475.png" alt="" class="wp-image-372434" srcset="https://blog.finxter.com/wp-content/uploads/2022/05/image-179-1024x475.png 1024w, https://blog.finxter.com/wp-content/uploads/2022/05/image-179-300x139.png 300w, https://blog.finxter.com/wp-content/uploads/2022/05/image-179-768x356.png 768w, https://blog.finxter.com/wp-content/uploads/2022/05/image-179-1536x712.png 1536w, https://blog.finxter.com/wp-content/uploads/2022/05/image-179.png 1758w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure></div>



<h2 class="wp-block-heading" id="learning-path-skills-and-education-requirements">Learning Path, Skills, and Education Requirements</h2>



<p class="wp-block-paragraph">Do you want to become a Database Admin? Here&#8217;s a step-by-step learning path I&#8217;d propose to get started:</p>



<ul class="wp-block-list"><li><strong>Step 1</strong>: <a rel="noreferrer noopener" href="https://pll.harvard.edu/course/cs50-introduction-computer-science?delta=0" data-type="URL" data-id="https://pll.harvard.edu/course/cs50-introduction-computer-science?delta=0" target="_blank">Introduction to Computer Science</a> (~40 hours)</li><li><strong>Step 2</strong>: <a rel="noreferrer noopener" href="https://blog.finxter.com/distributed-systems-engineer/" data-type="post" data-id="359888" target="_blank">Introduction to Distributed Systems</a> (~20 hours)</li><li><strong>Step 3</strong>: <a rel="noreferrer noopener" href="https://www.youtube.com/results?search_query=introduction+to+Database +programming" data-type="URL" data-id="https://www.youtube.com/results?search_query=introduction+to+Database +programming" target="_blank">Introduction to Databases (Free Video Courses)</a> (~10 hours)</li><li><strong>Step 4</strong>: <a rel="noreferrer noopener" href="https://blog.finxter.com/mongodb-developer-income-and-opportunity/" data-type="post" data-id="169746" target="_blank">Introduction to MongoDB</a> (~10 hours)</li><li><strong>Step 5</strong>: <a rel="noreferrer noopener" href="https://blog.finxter.com/sql-developer-income-and-opportunity/" data-type="post" data-id="189359" target="_blank">Introduction to SQL</a> (~10 hours)</li><li><strong>Step 6</strong>: <a rel="noreferrer noopener" href="https://blog.finxter.com/mariadb-developer-income-and-opportunity/" data-type="post" data-id="178901" target="_blank">Introduction to MariaDB</a> (~10 hours)</li></ul>



<p class="wp-block-paragraph">Here you can already start with the first step &#8212; do it now! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="SQL Tutorial - Full Database Course for Beginners" width="937" height="527" src="https://www.youtube.com/embed/HXV3zeQKqGY?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph">You can find many additional computer science courses on the <a rel="noreferrer noopener" href="https://academy.finxter.com/" data-type="URL" data-id="https://academy.finxter.com/" target="_blank">Finxter Computer Science Academy</a> (flatrate model).</p>



<p class="wp-block-paragraph">But don&#8217;t wait too long to acquire practical experience! </p>



<p class="wp-block-paragraph">Even if you have little skills, it&#8217;s best to get started as a <strong>freelance developer</strong> and learn as you work on real projects for clients &#8212; <strong>earning income as you learn</strong> and gaining motivation through real-world feedback.</p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Tip</strong>: An excellent start to turbo-charge your freelancing career (earning more in less time) is our <a rel="noreferrer noopener" href="https://blog.finxter.com/become-python-freelancer-course/" data-type="page" data-id="2072" target="_blank">Finxter Freelancer Course</a>. The goal of the course is to pay for itself! </p>



<h2 class="wp-block-heading" id="related-video">Related Video</h2>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="$75/h as a DB admin in a dying niche on Upwork?" width="937" height="527" src="https://www.youtube.com/embed/JfCQrVGvznI?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph">You can find more job descriptions for coders, programmers, and computer scientists in our detailed overview guide:</p>



<ul class="wp-block-list"><li><a href="https://blog.finxter.com/get-your-job-in-it-overview/" data-type="post" data-id="186255" target="_blank" rel="noreferrer noopener">Get Your Job in IT [Overview]</a></li></ul>



<h2 class="wp-block-heading" id="related-income-of-professional-developers">Related Income of Professional Developers</h2>



<p class="wp-block-paragraph">The following statistic shows the self-reported income from 9,649 US-based professional developers (<a rel="noreferrer noopener" href="https://insights.stackoverflow.com/survey/2021#salary-comp-total-usa" data-type="URL" data-id="https://insights.stackoverflow.com/survey/2021#salary-comp-total-usa" target="_blank">source</a>).</p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> The average annual income of professional developers in the US is between <strong>$70,000</strong> and <strong>$177,500</strong> for various programming languages.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="641" height="1024" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-48-641x1024.png" alt="" class="wp-image-163242" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-48-641x1024.png 641w, https://blog.finxter.com/wp-content/uploads/2022/01/image-48-188x300.png 188w, https://blog.finxter.com/wp-content/uploads/2022/01/image-48-768x1227.png 768w, https://blog.finxter.com/wp-content/uploads/2022/01/image-48.png 876w" sizes="auto, (max-width: 641px) 100vw, 641px" /></figure></div>



<p class="wp-block-paragraph"><strong>Question</strong>: <em>What is your current total compensation (salary, bonuses, and perks, before taxes and deductions)? Please enter a whole number in the box below, without any punctuation. If you are paid hourly, please estimate an equivalent weekly, monthly, or yearly salary.</em> (<a href="https://insights.stackoverflow.com/survey/2021#most-loved-dreaded-and-wanted-language-love-dread" data-type="URL" data-id="https://insights.stackoverflow.com/survey/2021#most-loved-dreaded-and-wanted-language-love-dread" target="_blank" rel="noreferrer noopener">source</a>)</p>



<p class="wp-block-paragraph">The following statistic compares the self-reported income from 46,693 professional programmers as conducted by StackOverflow.</p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> The average annual income of professional developers worldwide (US and non-US) is between <strong>$33,000</strong> and <strong>$95,000</strong> for various programming languages. </p>



<p class="wp-block-paragraph">Here&#8217;s a screenshot of a more detailed overview of each programming language considered in the report:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="350" height="1024" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-41-350x1024.png" alt="" class="wp-image-163206" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-41-350x1024.png 350w, https://blog.finxter.com/wp-content/uploads/2022/01/image-41-103x300.png 103w, https://blog.finxter.com/wp-content/uploads/2022/01/image-41-525x1536.png 525w, https://blog.finxter.com/wp-content/uploads/2022/01/image-41-701x2048.png 701w, https://blog.finxter.com/wp-content/uploads/2022/01/image-41.png 745w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>



<p class="wp-block-paragraph">Here&#8217;s what different database professionals earn:</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="893" height="878" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-42.png" alt="" class="wp-image-163220" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-42.png 893w, https://blog.finxter.com/wp-content/uploads/2022/01/image-42-300x295.png 300w, https://blog.finxter.com/wp-content/uploads/2022/01/image-42-768x755.png 768w" sizes="auto, (max-width: 893px) 100vw, 893px" /></figure></div>



<p class="wp-block-paragraph">Here&#8217;s an overview of different cloud solutions experts:</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="848" height="433" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-43.png" alt="" class="wp-image-163225" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-43.png 848w, https://blog.finxter.com/wp-content/uploads/2022/01/image-43-300x153.png 300w, https://blog.finxter.com/wp-content/uploads/2022/01/image-43-768x392.png 768w" sizes="auto, (max-width: 848px) 100vw, 848px" /></figure></div>



<p class="wp-block-paragraph">Here&#8217;s what professionals in web frameworks earn:</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="740" height="1024" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-44-740x1024.png" alt="" class="wp-image-163226" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-44-740x1024.png 740w, https://blog.finxter.com/wp-content/uploads/2022/01/image-44-217x300.png 217w, https://blog.finxter.com/wp-content/uploads/2022/01/image-44.png 755w" sizes="auto, (max-width: 740px) 100vw, 740px" /></figure></div>



<p class="wp-block-paragraph">There are many other interesting frameworks&#8212;that pay well!</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="816" height="757" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-45.png" alt="" class="wp-image-163229" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-45.png 816w, https://blog.finxter.com/wp-content/uploads/2022/01/image-45-300x278.png 300w, https://blog.finxter.com/wp-content/uploads/2022/01/image-45-768x712.png 768w" sizes="auto, (max-width: 816px) 100vw, 816px" /></figure></div>



<p class="wp-block-paragraph">Look at those tools:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="793" height="825" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-46.png" alt="" class="wp-image-163230" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-46.png 793w, https://blog.finxter.com/wp-content/uploads/2022/01/image-46-288x300.png 288w, https://blog.finxter.com/wp-content/uploads/2022/01/image-46-768x799.png 768w" sizes="auto, (max-width: 793px) 100vw, 793px" /></figure>



<p class="wp-block-paragraph">Okay, but what do you need to do to get there? What are the skill requirements and qualifications to make you become a professional developer in the area you desire?</p>



<p class="wp-block-paragraph">Let&#8217;s find out next!</p>



<h2 class="wp-block-heading" id="general-qualifications-of-professionals">General Qualifications of Professionals</h2>



<p class="wp-block-paragraph">StackOverflow performs an annual survey asking professionals, coders, developers, researchers, and engineers various questions about their background and job satisfaction on their website.</p>



<p class="wp-block-paragraph">Interestingly, when aggregating the data of the developers&#8217; educational background, a good three quarters have an academic background.</p>



<p class="wp-block-paragraph">Here&#8217;s the question asked by StackOverflow (<a href="https://insights.stackoverflow.com/survey/2021#education-ed-level-prof" data-type="URL" data-id="https://insights.stackoverflow.com/survey/2021#education-ed-level-prof" target="_blank" rel="noreferrer noopener">source</a>): </p>



<p class="wp-block-paragraph"><strong>Which of the following best describes the highest level of formal education that you’ve completed?</strong></p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="589" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-37-1024x589.png" alt="" class="wp-image-163017" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-37-1024x589.png 1024w, https://blog.finxter.com/wp-content/uploads/2022/01/image-37-300x173.png 300w, https://blog.finxter.com/wp-content/uploads/2022/01/image-37-768x442.png 768w, https://blog.finxter.com/wp-content/uploads/2022/01/image-37.png 1057w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure></div>



<p class="wp-block-paragraph">However, if you don&#8217;t have a formal degree, don&#8217;t fear! Many of the respondents with degrees don&#8217;t have a degree in their field&#8212;so it may not be of much value for their coding careers anyways. </p>



<p class="wp-block-paragraph">Also, about one out of four don&#8217;t have a formal degree and still succeeds in their field! You certainly don&#8217;t need a degree if you&#8217;re committed to your own success!</p>



<h2 class="wp-block-heading" id="freelancing-vs-employment-status">Freelancing vs Employment Status</h2>



<p class="wp-block-paragraph">The percentage of <a href="https://blog.finxter.com/freelance-developer/" data-type="post" data-id="5912" target="_blank" rel="noreferrer noopener">freelance developers</a> increases steadily. The fraction of freelance developers has already reached 11.21%! </p>



<p class="wp-block-paragraph">This indicates that more and more work will be done in a more flexible work environment&#8212;and fewer and fewer companies and clients want to hire inflexible talent. </p>



<p class="wp-block-paragraph">Here are the stats from the StackOverflow developer survey (<a rel="noreferrer noopener" href="https://insights.stackoverflow.com/survey/2021#employment-employment-prof" data-type="URL" data-id="https://insights.stackoverflow.com/survey/2021#employment-employment-prof" target="_blank">source</a>):</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="780" height="538" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-47.png" alt="" class="wp-image-163234" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-47.png 780w, https://blog.finxter.com/wp-content/uploads/2022/01/image-47-300x207.png 300w, https://blog.finxter.com/wp-content/uploads/2022/01/image-47-768x530.png 768w" sizes="auto, (max-width: 780px) 100vw, 780px" /></figure></div>



<p class="wp-block-paragraph">Do you want to become a professional freelance developer and earn some money on the side or as your primary source of income?</p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><strong>Resource</strong>: Check out our <a rel="noreferrer noopener" href="https://blog.finxter.com/become-python-freelancer-course/" data-type="URL" data-id="https://blog.finxter.com/become-python-freelancer-course/" target="_blank">freelance developer course</a>&#8212;it&#8217;s the best freelance developer course in the world with the highest student success rate in the industry!</p>



<div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex">
<div class="wp-block-button aligncenter has-custom-width wp-block-button__width-100"><a class="wp-block-button__link" href="https://blog.finxter.com/become-python-freelancer-course/" target="_blank" rel="noreferrer noopener">Become Freelance Developer (Course)</a></div>
</div>



<h2 class="wp-block-heading" id="other-programming-languages-used-by-professional-developers">Other Programming Languages Used by Professional Developers</h2>



<p class="wp-block-paragraph">The StackOverflow developer survey collected 58000 responses about the following question (<a href="https://insights.stackoverflow.com/survey/2021#most-popular-technologies-language-prof" data-type="URL" data-id="https://insights.stackoverflow.com/survey/2021#most-popular-technologies-language-prof" target="_blank" rel="noreferrer noopener">source</a>):</p>



<p class="wp-block-paragraph"><em><strong>Which programming, scripting, and markup languages have you done extensive development work in over the past year, and which do you want to work in over the next year?</strong></em></p>



<p class="wp-block-paragraph">These are the languages you want to focus on when starting out as a coder:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="372" height="1024" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-38-372x1024.png" alt="" class="wp-image-163026" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-38-372x1024.png 372w, https://blog.finxter.com/wp-content/uploads/2022/01/image-38-109x300.png 109w, https://blog.finxter.com/wp-content/uploads/2022/01/image-38-768x2114.png 768w, https://blog.finxter.com/wp-content/uploads/2022/01/image-38-558x1536.png 558w, https://blog.finxter.com/wp-content/uploads/2022/01/image-38-744x2048.png 744w, https://blog.finxter.com/wp-content/uploads/2022/01/image-38.png 780w" sizes="auto, (max-width: 372px) 100vw, 372px" /></figure>



<p class="wp-block-paragraph">And don&#8217;t worry&#8212;if you feel stuck or struggle with a nasty bug. We all go through it. Here&#8217;s what SO survey respondents and professional developers do when they&#8217;re stuck:</p>



<p class="wp-block-paragraph"><strong>What do you do when you get stuck on a problem? Select all that apply. </strong>(<a href="https://insights.stackoverflow.com/survey/2021#most-loved-dreaded-and-wanted-language-love-dread" data-type="URL" data-id="https://insights.stackoverflow.com/survey/2021#most-loved-dreaded-and-wanted-language-love-dread" target="_blank" rel="noreferrer noopener">source</a>)</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="846" height="684" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-39.png" alt="" class="wp-image-163044" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-39.png 846w, https://blog.finxter.com/wp-content/uploads/2022/01/image-39-300x243.png 300w, https://blog.finxter.com/wp-content/uploads/2022/01/image-39-768x621.png 768w" sizes="auto, (max-width: 846px) 100vw, 846px" /></figure>



<h2 class="wp-block-heading" id="related-tutorials">Related Tutorials</h2>



<p class="wp-block-paragraph">To get started with some of the fundamentals and industry concepts, feel free to check out these articles:</p>



<ul class="wp-block-list"><li><a rel="noreferrer noopener" href="https://blog.finxter.com/freelance-developer/" data-type="URL" data-id="https://blog.finxter.com/freelance-developer/" target="_blank">Freelance Developer – How to Code From Home and Earn Six Figures [Industry Report]</a></li><li><a rel="noreferrer noopener" href="https://blog.finxter.com/how-to-earn-1000-on-the-side-as-a-python-freelancer-a-step-by-step-tutorial/" data-type="URL" data-id="https://blog.finxter.com/how-to-earn-1000-on-the-side-as-a-python-freelancer-a-step-by-step-tutorial/" target="_blank">How to Become a Python Freelancer—and Earn $1,000 on the Side? [A Step-by-Step Tutorial]</a></li><li><a rel="noreferrer noopener" href="https://blog.finxter.com/how-adam-earns-5000-per-month-as-a-python-freelancer-on-upwork-month-4/" data-type="URL" data-id="https://blog.finxter.com/how-adam-earns-5000-per-month-as-a-python-freelancer-on-upwork-month-4/" target="_blank">How Adam Earns $5000 per Month as a Python Freelancer on Upwork [Month 4]</a></li><li><a rel="noreferrer noopener" href="https://en.wikipedia.org/wiki/Database" data-type="URL" target="_blank">Database Wikipedia</a></li><li><a rel="noreferrer noopener" href="https://www.google.com/search?q=Database" data-type="URL" data-id="https://www.google.com/search?q=learn+Database " target="_blank">Learn Database Google</a></li></ul>



<h2 class="wp-block-heading">Where to Go From Here?</h2>



<p class="wp-block-paragraph">Enough theory. Let’s get some practice!</p>



<p class="wp-block-paragraph">Coders get paid six figures and more because they can solve problems more effectively using machine intelligence and automation. </p>



<p class="wp-block-paragraph">To become more successful in coding, solve more real problems for real people. That’s how you polish the skills you really need in practice. After all, what’s the use of learning theory that nobody ever needs?</p>



<p class="wp-block-paragraph"><strong>You build high-value coding skills by working on practical coding projects!</strong></p>



<p class="wp-block-paragraph">Do you want to stop learning with toy projects and focus on practical code projects that earn you money and solve real problems for people?</p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> If your answer is <strong><em>YES!</em></strong>, consider becoming a <a rel="noreferrer noopener" href="https://blog.finxter.com/become-python-freelancer-course/" data-type="page" data-id="2072" target="_blank">Python freelance developer</a>! It’s the best way of approaching the task of improving your Python skills—even if you are a complete beginner.</p>



<p class="wp-block-paragraph">If you just want to learn about the freelancing opportunity, feel free to watch my free webinar <a rel="noreferrer noopener" href="https://blog.finxter.com/webinar-freelancer/" target="_blank">“How to Build Your High-Income Skill Python”</a> and learn how I grew my coding business online and how you can, too—from the comfort of your own home.</p>



<p class="wp-block-paragraph"><a href="https://blog.finxter.com/webinar-freelancer/" target="_blank" rel="noreferrer noopener">Join the free webinar now!</a></p>



<h2 class="wp-block-heading">References</h2>



<p class="wp-block-paragraph">[1] The figure was generated using the following code snippet:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">import matplotlib.pyplot as plt
import numpy as np
import math

data = [91541,
        107844,
        120961,
        135000,
        106037,
        88419,
        107141,
        110987,
        96058,
        72536]

labels = ['Glassdoor.com',
          'ZipRecruiter.com',
          'BuiltIn.com',
          'Talent.com',
          'Indeed.com',
          'PayScale.com',
          'SalaryExpert.com',
          'Comparably.com',
          'Zippia.com',
          'Salary.com']

median = np.median(data)
average = np.average(data)
print(median, average)
n = len(data)

plt.plot(range(n), [median] * n, color='black', label='Median: $' + str(int(median)))
plt.plot(range(n), [average] * n, '--', color='red', label='Average: $' + str(int(average)))
plt.bar(range(len(data)), data)
plt.xticks(range(len(data)), labels, rotation='vertical', position = (0,0.45), color='white', weight='bold')
plt.ylabel('Average Income ($)')
plt.title('Database Engineer Annual Income - by Finxter')
plt.legend()
plt.show()
</pre>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Database Engineer &#8212; Income and Opportunity</title>
		<link>https://blog.finxter.com/database-engineer/</link>
		
		<dc:creator><![CDATA[Chris]]></dc:creator>
		<pubDate>Tue, 17 May 2022 11:46:43 +0000</pubDate>
				<category><![CDATA[Career]]></category>
		<category><![CDATA[Coding Business]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Freelancing]]></category>
		<category><![CDATA[Productivity]]></category>
		<guid isPermaLink="false">https://blog.finxter.com/?p=372392</guid>

					<description><![CDATA[Before we learn about the money, let&#8217;s get this question out of the way: What is a Database Engineer? A database engineer is responsible for providing the data infrastructure of a company or organization. This involves designing, creating, installing, configuring, debugging, optimizing, securing, and managing databases. Database engineers can either work as employees or as ... <a title="Database Engineer &#8212; Income and Opportunity" class="read-more" href="https://blog.finxter.com/database-engineer/" aria-label="Read more about Database Engineer &#8212; Income and Opportunity">Read more</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Before we learn about the money, let&#8217;s get this question out of the way:</p>



<h2 class="wp-block-heading">What is a Database Engineer?</h2>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="684" src="https://blog.finxter.com/wp-content/uploads/2022/05/image-180-1024x684.png" alt="" class="wp-image-372455" srcset="https://blog.finxter.com/wp-content/uploads/2022/05/image-180-1024x684.png 1024w, https://blog.finxter.com/wp-content/uploads/2022/05/image-180-300x200.png 300w, https://blog.finxter.com/wp-content/uploads/2022/05/image-180-768x513.png 768w, https://blog.finxter.com/wp-content/uploads/2022/05/image-180.png 1026w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure></div>



<p class="has-global-color-8-background-color has-background wp-block-paragraph">A database engineer is responsible for providing the data infrastructure of a company or organization. This involves designing, creating, installing, configuring, debugging, optimizing, securing, and managing databases. Database engineers can either work as employees or as freelancers remotely or onsite.</p>



<h2 class="wp-block-heading">What Does a Database Engineer Do?</h2>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="682" src="https://blog.finxter.com/wp-content/uploads/2022/05/image-181-1024x682.png" alt="" class="wp-image-372457" srcset="https://blog.finxter.com/wp-content/uploads/2022/05/image-181-1024x682.png 1024w, https://blog.finxter.com/wp-content/uploads/2022/05/image-181-300x200.png 300w, https://blog.finxter.com/wp-content/uploads/2022/05/image-181-768x512.png 768w, https://blog.finxter.com/wp-content/uploads/2022/05/image-181.png 1028w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure></div>



<p class="wp-block-paragraph">As already indicated, a database engineer is responsible for providing the data infrastructure of a company or organization.</p>



<p class="wp-block-paragraph">In particular, a database engineer has many <strong>responsibilities</strong>, such as the following <strong>15 most popular activities performed by a database engineer today</strong>:</p>



<ol class="wp-block-list"><li>Creating a new database system.</li><li>Finding a database system tailored to the needs of an organization. </li><li>Designing the data models.</li><li>Accessing the data with scripting languages including SQL-like syntax.</li><li>Installing an existing database software system onsite.</li><li>Configuring a database system.</li><li>Optimizing a database management system for performance, speed, or reliability.</li><li>Consulting management regarding data management issues.</li><li>Keeping databases secure and providing proper access control to users.</li><li>Monitoring and managing an existing database system to keep it running smoothly.</li><li>Debugging potential bugs, errors, and security issues detected at runtime.</li><li>Testing and deploying a database system on a public cloud infrastructure such as AWS. </li><li>Handling distribution issues in the case of a distributed database management system.</li><li>Ensuring budget adherence when running on a public cloud and estimating costs for private database solutions.</li><li>Communicating and negotiating with salespeople (e.g., from Oracle).</li></ol>



<p class="wp-block-paragraph">These are only some of the most common activities frequently handled by database engineers.</p>



<h2 class="wp-block-heading">Database Engineer vs Data Engineer</h2>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="914" height="685" src="https://blog.finxter.com/wp-content/uploads/2022/05/image-182.png" alt="" class="wp-image-372463" srcset="https://blog.finxter.com/wp-content/uploads/2022/05/image-182.png 914w, https://blog.finxter.com/wp-content/uploads/2022/05/image-182-300x225.png 300w, https://blog.finxter.com/wp-content/uploads/2022/05/image-182-768x576.png 768w" sizes="auto, (max-width: 914px) 100vw, 914px" /></figure></div>



<p class="wp-block-paragraph">A <strong>database engineer</strong> is responsible for providing the data infrastructure of a company or organization. This involves designing, creating, installing, configuring, debugging, optimizing, securing, and managing databases. Database engineers can either work as employees or as freelancers remotely or onsite.</p>



<p class="wp-block-paragraph">A <strong>data engineer</strong> prepares data to be used in <a href="https://blog.finxter.com/data-scientist-income-and-opportunity/" data-type="post" data-id="332478">data </a><a href="https://blog.finxter.com/data-scientist-income-and-opportunity/" data-type="post" data-id="332478" target="_blank" rel="noreferrer noopener">a</a><a href="https://blog.finxter.com/data-scientist-income-and-opportunity/" data-type="post" data-id="332478">nalytics</a> and operations, essentially providing <a href="https://blog.finxter.com/web-scraping-with-beautifulsoup-in-python/" data-type="post" data-id="17311" target="_blank" rel="noreferrer noopener">automated</a> or semi-automated ways for data collection and creating pipelines that connect various data sources to database management systems such as the ones managed by a database engineer.</p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph">A <strong>data engineer</strong> focuses on filling data into a database system whereas a <strong>database engineer</strong> is focused on providing the database system in the first place. There are intersection points between data engineers and database engineers at the interface between data sources and data management.</p>



<h2 class="wp-block-heading">Database Engineer vs Database Administrator</h2>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="682" src="https://blog.finxter.com/wp-content/uploads/2022/05/image-183-1024x682.png" alt="" class="wp-image-372464" srcset="https://blog.finxter.com/wp-content/uploads/2022/05/image-183-1024x682.png 1024w, https://blog.finxter.com/wp-content/uploads/2022/05/image-183-300x200.png 300w, https://blog.finxter.com/wp-content/uploads/2022/05/image-183-768x512.png 768w, https://blog.finxter.com/wp-content/uploads/2022/05/image-183.png 1028w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure></div>



<p class="wp-block-paragraph">Database administrators perform a similar role to database engineers in that they are responsible for setting up, installing, configuring, securing, and managing a database management system. </p>



<p class="wp-block-paragraph">The focus is more on the technical maintenance of existing systems than the theoretical development of new solutions. </p>



<p class="wp-block-paragraph">But the lines between those two job descriptions are blurry and often overlap significantly.</p>



<h2 class="wp-block-heading" id="annual-income">Annual Income of Database Engineer (US)</h2>



<p class="wp-block-paragraph">How much does a <strong>Database Engineer</strong> make per year?</p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4ac.png" alt="💬" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Question</strong>: How much does a Database Engineer in the US make per year?</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="893" height="536" src="https://blog.finxter.com/wp-content/uploads/2022/05/image-176.png" alt="" class="wp-image-372422" srcset="https://blog.finxter.com/wp-content/uploads/2022/05/image-176.png 893w, https://blog.finxter.com/wp-content/uploads/2022/05/image-176-300x180.png 300w, https://blog.finxter.com/wp-content/uploads/2022/05/image-176-768x461.png 768w" sizes="auto, (max-width: 893px) 100vw, 893px" /><figcaption><strong>Figure</strong>: Average Income of a Database Engineer in the US by Source. [1]</figcaption></figure></div>



<p class="has-global-color-8-background-color has-background wp-block-paragraph">The average annual income of a <strong>Database Engineer</strong> in the United States is between <strong>$72,536</strong> and <strong>$135,000</strong>, with an average of <strong>$103,652 </strong>and a statistical median of <strong>$106,589</strong> per year.</p>



<p class="wp-block-paragraph">This data is based on our meta-study of ten (10) salary aggregators sources such as Glassdoor, ZipRecruiter, and PayScale.</p>



<figure class="wp-block-table is-style-stripes"><table><thead><tr><th>Source</th><th>Average Income</th></tr></thead><tbody><tr><td><a href="https://www.glassdoor.com/Salaries/database-engineer-salary-SRCH_KO0,17.htm" data-type="URL" data-id="https://www.glassdoor.com/Salaries/database-engineer-salary-SRCH_KO0,17.htm" target="_blank" rel="noreferrer noopener">Glassdoor.com</a></td><td>$91,541</td></tr><tr><td><a href="https://www.ziprecruiter.com/Salaries/Database-Engineer-Salary" data-type="URL" data-id="https://www.ziprecruiter.com/Salaries/Database-Engineer-Salary" target="_blank" rel="noreferrer noopener">ZipRecruiter.com</a></td><td>$107,844</td></tr><tr><td><a href="https://builtin.com/salaries/data-analytics/data-engineer" data-type="URL" data-id="https://builtin.com/salaries/data-analytics/data-engineer" target="_blank" rel="noreferrer noopener">BuiltIn.com</a></td><td>$120,961</td></tr><tr><td><a href="https://www.talent.com/salary?job=senior+database+engineer" data-type="URL" data-id="https://www.talent.com/salary?job=senior+database+engineer" target="_blank" rel="noreferrer noopener">Talent.com</a></td><td>$135,000</td></tr><tr><td><a href="https://www.indeed.com/career/database-engineer/salaries" data-type="URL" data-id="https://www.indeed.com/career/database-engineer/salaries" target="_blank" rel="noreferrer noopener">Indeed.com</a></td><td>$106,037</td></tr><tr><td><a href="https://www.payscale.com/research/US/Job=Database_Engineer/Salary" data-type="URL" data-id="https://www.payscale.com/research/US/Job=Database_Engineer/Salary" target="_blank" rel="noreferrer noopener">PayScale.com</a></td><td>$88,419</td></tr><tr><td><a href="https://www.salaryexpert.com/salary/job/database-engineer/united-states" data-type="URL" data-id="https://www.salaryexpert.com/salary/job/database-engineer/united-states" target="_blank" rel="noreferrer noopener">SalaryExpert.com</a></td><td>$107,141</td></tr><tr><td><a href="https://www.comparably.com/salaries/salaries-for-database-engineer" data-type="URL" data-id="https://www.comparably.com/salaries/salaries-for-database-engineer" target="_blank" rel="noreferrer noopener">Comparably.com</a></td><td>$110,987</td></tr><tr><td><a href="https://www.zippia.com/database-engineer-jobs/salary/" data-type="URL" data-id="https://www.zippia.com/database-engineer-jobs/salary/" target="_blank" rel="noreferrer noopener">Zippia.com</a></td><td>$96,058</td></tr><tr><td><a href="https://www.salary.com/research/salary/benchmark/database-engineer-i-salary" data-type="URL" data-id="https://www.salary.com/research/salary/benchmark/database-engineer-i-salary" target="_blank" rel="noreferrer noopener">Salary.com</a></td><td>$72,536</td></tr></tbody></table><figcaption><strong>Table</strong>: Average Income of a Database Engineer in the US by Source.</figcaption></figure>



<p class="wp-block-paragraph"></p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Note</strong>: This is the <strong>most comprehensive salary meta-study</strong> of database engineer income in the world, to the best of my knowledge!</p>



<p class="wp-block-paragraph">Let&#8217;s have a look at the hourly rate of Database Engineers next!</p>



<h2 class="wp-block-heading" id="hourly-rate">Hourly Rate</h2>



<p class="wp-block-paragraph">Database Engineers are well-paid on freelancing platforms such as <a rel="noreferrer noopener" href="https://blog.finxter.com/upwork-vs-fiverr/" data-type="post" data-id="11152" target="_blank">Upwork or Fiverr</a>.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Managing NoSQL Databases for $64/h on Upwork as a SysAdmin Freelancer" width="937" height="527" src="https://www.youtube.com/embed/BqGiqoLmxnY?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<ul class="wp-block-list"><li><strong>Related Article</strong>: <a href="https://blog.finxter.com/best-python-freelancer-platforms/" data-type="post" data-id="3382" target="_blank" rel="noreferrer noopener">What&#8217;s the best freelancing platform?</a></li></ul>



<p class="has-global-color-8-background-color has-background wp-block-paragraph">If you decide to go the route as a freelance Database Developer, you can expect to make between $30 and $130 per hour on Upwork (<a href="https://www.upwork.com/ab/profiles/search/?nss=90&amp;q=Database%20engineer&amp;top_rated_plus=yes&amp;top_rated_status=top_rated" data-type="URL" data-id="https://www.upwork.com/ab/profiles/search/?nss=90&amp;q=Database%20engineer&amp;top_rated_plus=yes&amp;top_rated_status=top_rated" target="_blank" rel="noreferrer noopener">source</a>). Assuming an annual workload of 2000 hours, you can expect to make between $60,000 and $260,000 per year.</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="781" height="1010" src="https://blog.finxter.com/wp-content/uploads/2022/05/image-177.png" alt="" class="wp-image-372431" srcset="https://blog.finxter.com/wp-content/uploads/2022/05/image-177.png 781w, https://blog.finxter.com/wp-content/uploads/2022/05/image-177-232x300.png 232w, https://blog.finxter.com/wp-content/uploads/2022/05/image-177-768x993.png 768w" sizes="auto, (max-width: 781px) 100vw, 781px" /></figure></div>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a1.png" alt="⚡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Note</strong>: Do you want to create your own thriving coding business online? Feel free to check out our <a href="https://blog.finxter.com/become-python-freelancer-course/" data-type="page" data-id="2072" target="_blank" rel="noreferrer noopener">freelance developer course</a> &#8212; the world&#8217;s #1 best-selling freelance developer course that specifically shows you how to succeed on Upwork and Fiverr!</p>



<div class="wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-fe48e5de wp-block-buttons-is-layout-flex">
<div class="wp-block-button has-custom-width wp-block-button__width-50 is-style-fill"><a class="wp-block-button__link has-accent-background-color has-background" href="https://blog.finxter.com/become-python-freelancer-course/" target="_blank" rel="noreferrer noopener">Join Freelancer Course</a></div>
</div>



<h2 class="wp-block-heading" id="industry-demand">Industry Demand</h2>



<p class="wp-block-paragraph">But is there enough demand? Let&#8217;s have a look at Google trends to find out how interest evolves over time (<a rel="noreferrer noopener" href="https://trends.google.com/trends/explore?date=all&amp;q=Database" target="_blank">source</a>):</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="477" src="https://blog.finxter.com/wp-content/uploads/2022/05/image-178-1024x477.png" alt="" class="wp-image-372432" srcset="https://blog.finxter.com/wp-content/uploads/2022/05/image-178-1024x477.png 1024w, https://blog.finxter.com/wp-content/uploads/2022/05/image-178-300x140.png 300w, https://blog.finxter.com/wp-content/uploads/2022/05/image-178-768x358.png 768w, https://blog.finxter.com/wp-content/uploads/2022/05/image-178-1536x716.png 1536w, https://blog.finxter.com/wp-content/uploads/2022/05/image-178.png 1760w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure></div>



<p class="wp-block-paragraph">The interest in database engineering has remained relatively stable over the last two decades.</p>



<p class="wp-block-paragraph">If you compare the interest with &#8220;database administration&#8221;, you can see that &#8220;database engineering&#8221; actually wins in relative importance (<a href="https://trends.google.com/trends/explore?date=all&amp;q=Database%20engineer,database%20administrator" data-type="URL" data-id="https://trends.google.com/trends/explore?date=all&amp;q=Database%20engineer,database%20administrator" target="_blank" rel="noreferrer noopener">source</a>):</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="475" src="https://blog.finxter.com/wp-content/uploads/2022/05/image-179-1024x475.png" alt="" class="wp-image-372434" srcset="https://blog.finxter.com/wp-content/uploads/2022/05/image-179-1024x475.png 1024w, https://blog.finxter.com/wp-content/uploads/2022/05/image-179-300x139.png 300w, https://blog.finxter.com/wp-content/uploads/2022/05/image-179-768x356.png 768w, https://blog.finxter.com/wp-content/uploads/2022/05/image-179-1536x712.png 1536w, https://blog.finxter.com/wp-content/uploads/2022/05/image-179.png 1758w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure></div>



<h2 class="wp-block-heading" id="learning-path-skills-and-education-requirements">Learning Path, Skills, and Education Requirements</h2>



<p class="wp-block-paragraph">Do you want to become a Database Endineer? Here&#8217;s a step-by-step learning path I&#8217;d propose to get started with Database :</p>



<ul class="wp-block-list"><li><strong>Step 1</strong>: <a rel="noreferrer noopener" href="https://pll.harvard.edu/course/cs50-introduction-computer-science?delta=0" data-type="URL" data-id="https://pll.harvard.edu/course/cs50-introduction-computer-science?delta=0" target="_blank">Introduction to Computer Science</a> (~40 hours)</li><li><strong>Step 2</strong>: <a rel="noreferrer noopener" href="https://blog.finxter.com/distributed-systems-engineer/" data-type="post" data-id="359888" target="_blank">Introduction to Distributed Systems</a> (~20 hours)</li><li><strong>Step 3</strong>: <a rel="noreferrer noopener" href="https://www.youtube.com/results?search_query=introduction+to+Database +programming" data-type="URL" data-id="https://www.youtube.com/results?search_query=introduction+to+Database +programming" target="_blank">Introduction to Databases (Free Video Courses)</a> (~10 hours)</li><li><strong>Step 4</strong>: <a rel="noreferrer noopener" href="https://blog.finxter.com/mongodb-developer-income-and-opportunity/" data-type="post" data-id="169746" target="_blank">Introduction to MongoDB</a> (~10 hours)</li><li><strong>Step 5</strong>: <a rel="noreferrer noopener" href="https://blog.finxter.com/sql-developer-income-and-opportunity/" data-type="post" data-id="189359" target="_blank">Introduction to SQL</a> (~10 hours)</li><li><strong>Step 6</strong>: <a rel="noreferrer noopener" href="https://blog.finxter.com/mariadb-developer-income-and-opportunity/" data-type="post" data-id="178901" target="_blank">Introduction to MariaDB</a> (~10 hours)</li></ul>



<p class="wp-block-paragraph">Here you can already start with the first step &#8212; do it now! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="SQL Tutorial - Full Database Course for Beginners" width="937" height="527" src="https://www.youtube.com/embed/HXV3zeQKqGY?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph">You can find many additional computer science courses on the <a rel="noreferrer noopener" href="https://academy.finxter.com/" data-type="URL" data-id="https://academy.finxter.com/" target="_blank">Finxter Computer Science Academy</a> (flatrate model).</p>



<p class="wp-block-paragraph">But don&#8217;t wait too long to acquire practical experience! </p>



<p class="wp-block-paragraph">Even if you have little skills, it&#8217;s best to get started as a <strong>freelance developer</strong> and learn as you work on real projects for clients &#8212; <strong>earning income as you learn</strong> and gaining motivation through real-world feedback.</p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Tip</strong>: An excellent start to turbo-charge your freelancing career (earning more in less time) is our <a rel="noreferrer noopener" href="https://blog.finxter.com/become-python-freelancer-course/" data-type="page" data-id="2072" target="_blank">Finxter Freelancer Course</a>. The goal of the course is to pay for itself! </p>



<h2 class="wp-block-heading" id="related-video">Related Video</h2>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="$75/h as a DB admin in a dying niche on Upwork?" width="937" height="527" src="https://www.youtube.com/embed/JfCQrVGvznI?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph">You can find more job descriptions for coders, programmers, and computer scientists in our detailed overview guide:</p>



<ul class="wp-block-list"><li><a href="https://blog.finxter.com/get-your-job-in-it-overview/" data-type="post" data-id="186255" target="_blank" rel="noreferrer noopener">Get Your Job in IT [Overview]</a></li></ul>



<h2 class="wp-block-heading" id="related-income-of-professional-developers">Related Income of Professional Developers</h2>



<p class="wp-block-paragraph">The following statistic shows the self-reported income from 9,649 US-based professional developers (<a rel="noreferrer noopener" href="https://insights.stackoverflow.com/survey/2021#salary-comp-total-usa" data-type="URL" data-id="https://insights.stackoverflow.com/survey/2021#salary-comp-total-usa" target="_blank">source</a>).</p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> The average annual income of professional developers in the US is between <strong>$70,000</strong> and <strong>$177,500</strong> for various programming languages.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="641" height="1024" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-48-641x1024.png" alt="" class="wp-image-163242" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-48-641x1024.png 641w, https://blog.finxter.com/wp-content/uploads/2022/01/image-48-188x300.png 188w, https://blog.finxter.com/wp-content/uploads/2022/01/image-48-768x1227.png 768w, https://blog.finxter.com/wp-content/uploads/2022/01/image-48.png 876w" sizes="auto, (max-width: 641px) 100vw, 641px" /></figure></div>



<p class="wp-block-paragraph"><strong>Question</strong>: <em>What is your current total compensation (salary, bonuses, and perks, before taxes and deductions)? Please enter a whole number in the box below, without any punctuation. If you are paid hourly, please estimate an equivalent weekly, monthly, or yearly salary.</em> (<a href="https://insights.stackoverflow.com/survey/2021#most-loved-dreaded-and-wanted-language-love-dread" data-type="URL" data-id="https://insights.stackoverflow.com/survey/2021#most-loved-dreaded-and-wanted-language-love-dread" target="_blank" rel="noreferrer noopener">source</a>)</p>



<p class="wp-block-paragraph">The following statistic compares the self-reported income from 46,693 professional programmers as conducted by StackOverflow.</p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> The average annual income of professional developers worldwide (US and non-US) is between <strong>$33,000</strong> and <strong>$95,000</strong> for various programming languages. </p>



<p class="wp-block-paragraph">Here&#8217;s a screenshot of a more detailed overview of each programming language considered in the report:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="350" height="1024" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-41-350x1024.png" alt="" class="wp-image-163206" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-41-350x1024.png 350w, https://blog.finxter.com/wp-content/uploads/2022/01/image-41-103x300.png 103w, https://blog.finxter.com/wp-content/uploads/2022/01/image-41-525x1536.png 525w, https://blog.finxter.com/wp-content/uploads/2022/01/image-41-701x2048.png 701w, https://blog.finxter.com/wp-content/uploads/2022/01/image-41.png 745w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>



<p class="wp-block-paragraph">Here&#8217;s what different database professionals earn:</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="893" height="878" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-42.png" alt="" class="wp-image-163220" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-42.png 893w, https://blog.finxter.com/wp-content/uploads/2022/01/image-42-300x295.png 300w, https://blog.finxter.com/wp-content/uploads/2022/01/image-42-768x755.png 768w" sizes="auto, (max-width: 893px) 100vw, 893px" /></figure></div>



<p class="wp-block-paragraph">Here&#8217;s an overview of different cloud solutions experts:</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="848" height="433" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-43.png" alt="" class="wp-image-163225" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-43.png 848w, https://blog.finxter.com/wp-content/uploads/2022/01/image-43-300x153.png 300w, https://blog.finxter.com/wp-content/uploads/2022/01/image-43-768x392.png 768w" sizes="auto, (max-width: 848px) 100vw, 848px" /></figure></div>



<p class="wp-block-paragraph">Here&#8217;s what professionals in web frameworks earn:</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="740" height="1024" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-44-740x1024.png" alt="" class="wp-image-163226" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-44-740x1024.png 740w, https://blog.finxter.com/wp-content/uploads/2022/01/image-44-217x300.png 217w, https://blog.finxter.com/wp-content/uploads/2022/01/image-44.png 755w" sizes="auto, (max-width: 740px) 100vw, 740px" /></figure></div>



<p class="wp-block-paragraph">There are many other interesting frameworks&#8212;that pay well!</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="816" height="757" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-45.png" alt="" class="wp-image-163229" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-45.png 816w, https://blog.finxter.com/wp-content/uploads/2022/01/image-45-300x278.png 300w, https://blog.finxter.com/wp-content/uploads/2022/01/image-45-768x712.png 768w" sizes="auto, (max-width: 816px) 100vw, 816px" /></figure></div>



<p class="wp-block-paragraph">Look at those tools:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="793" height="825" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-46.png" alt="" class="wp-image-163230" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-46.png 793w, https://blog.finxter.com/wp-content/uploads/2022/01/image-46-288x300.png 288w, https://blog.finxter.com/wp-content/uploads/2022/01/image-46-768x799.png 768w" sizes="auto, (max-width: 793px) 100vw, 793px" /></figure>



<p class="wp-block-paragraph">Okay, but what do you need to do to get there? What are the skill requirements and qualifications to make you become a professional developer in the area you desire?</p>



<p class="wp-block-paragraph">Let&#8217;s find out next!</p>



<h2 class="wp-block-heading" id="general-qualifications-of-professionals">General Qualifications of Professionals</h2>



<p class="wp-block-paragraph">StackOverflow performs an annual survey asking professionals, coders, developers, researchers, and engineers various questions about their background and job satisfaction on their website.</p>



<p class="wp-block-paragraph">Interestingly, when aggregating the data of the developers&#8217; educational background, a good three quarters have an academic background.</p>



<p class="wp-block-paragraph">Here&#8217;s the question asked by StackOverflow (<a href="https://insights.stackoverflow.com/survey/2021#education-ed-level-prof" data-type="URL" data-id="https://insights.stackoverflow.com/survey/2021#education-ed-level-prof" target="_blank" rel="noreferrer noopener">source</a>): </p>



<p class="wp-block-paragraph"><strong>Which of the following best describes the highest level of formal education that you’ve completed?</strong></p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="589" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-37-1024x589.png" alt="" class="wp-image-163017" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-37-1024x589.png 1024w, https://blog.finxter.com/wp-content/uploads/2022/01/image-37-300x173.png 300w, https://blog.finxter.com/wp-content/uploads/2022/01/image-37-768x442.png 768w, https://blog.finxter.com/wp-content/uploads/2022/01/image-37.png 1057w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure></div>



<p class="wp-block-paragraph">However, if you don&#8217;t have a formal degree, don&#8217;t fear! Many of the respondents with degrees don&#8217;t have a degree in their field&#8212;so it may not be of much value for their coding careers anyways. </p>



<p class="wp-block-paragraph">Also, about one out of four don&#8217;t have a formal degree and still succeeds in their field! You certainly don&#8217;t need a degree if you&#8217;re committed to your own success!</p>



<h2 class="wp-block-heading" id="freelancing-vs-employment-status">Freelancing vs Employment Status</h2>



<p class="wp-block-paragraph">The percentage of <a href="https://blog.finxter.com/freelance-developer/" data-type="post" data-id="5912" target="_blank" rel="noreferrer noopener">freelance developers</a> increases steadily. The fraction of freelance developers has already reached 11.21%! </p>



<p class="wp-block-paragraph">This indicates that more and more work will be done in a more flexible work environment&#8212;and fewer and fewer companies and clients want to hire inflexible talent. </p>



<p class="wp-block-paragraph">Here are the stats from the StackOverflow developer survey (<a rel="noreferrer noopener" href="https://insights.stackoverflow.com/survey/2021#employment-employment-prof" data-type="URL" data-id="https://insights.stackoverflow.com/survey/2021#employment-employment-prof" target="_blank">source</a>):</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="780" height="538" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-47.png" alt="" class="wp-image-163234" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-47.png 780w, https://blog.finxter.com/wp-content/uploads/2022/01/image-47-300x207.png 300w, https://blog.finxter.com/wp-content/uploads/2022/01/image-47-768x530.png 768w" sizes="auto, (max-width: 780px) 100vw, 780px" /></figure></div>



<p class="wp-block-paragraph">Do you want to become a professional freelance developer and earn some money on the side or as your primary source of income?</p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><strong>Resource</strong>: Check out our <a rel="noreferrer noopener" href="https://blog.finxter.com/become-python-freelancer-course/" data-type="URL" data-id="https://blog.finxter.com/become-python-freelancer-course/" target="_blank">freelance developer course</a>&#8212;it&#8217;s the best freelance developer course in the world with the highest student success rate in the industry!</p>



<div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex">
<div class="wp-block-button aligncenter has-custom-width wp-block-button__width-100"><a class="wp-block-button__link" href="https://blog.finxter.com/become-python-freelancer-course/" target="_blank" rel="noreferrer noopener">Become Freelance Developer (Course)</a></div>
</div>



<h2 class="wp-block-heading" id="other-programming-languages-used-by-professional-developers">Other Programming Languages Used by Professional Developers</h2>



<p class="wp-block-paragraph">The StackOverflow developer survey collected 58000 responses about the following question (<a href="https://insights.stackoverflow.com/survey/2021#most-popular-technologies-language-prof" data-type="URL" data-id="https://insights.stackoverflow.com/survey/2021#most-popular-technologies-language-prof" target="_blank" rel="noreferrer noopener">source</a>):</p>



<p class="wp-block-paragraph"><em><strong>Which programming, scripting, and markup languages have you done extensive development work in over the past year, and which do you want to work in over the next year?</strong></em></p>



<p class="wp-block-paragraph">These are the languages you want to focus on when starting out as a coder:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="372" height="1024" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-38-372x1024.png" alt="" class="wp-image-163026" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-38-372x1024.png 372w, https://blog.finxter.com/wp-content/uploads/2022/01/image-38-109x300.png 109w, https://blog.finxter.com/wp-content/uploads/2022/01/image-38-768x2114.png 768w, https://blog.finxter.com/wp-content/uploads/2022/01/image-38-558x1536.png 558w, https://blog.finxter.com/wp-content/uploads/2022/01/image-38-744x2048.png 744w, https://blog.finxter.com/wp-content/uploads/2022/01/image-38.png 780w" sizes="auto, (max-width: 372px) 100vw, 372px" /></figure>



<p class="wp-block-paragraph">And don&#8217;t worry&#8212;if you feel stuck or struggle with a nasty bug. We all go through it. Here&#8217;s what SO survey respondents and professional developers do when they&#8217;re stuck:</p>



<p class="wp-block-paragraph"><strong>What do you do when you get stuck on a problem? Select all that apply. </strong>(<a href="https://insights.stackoverflow.com/survey/2021#most-loved-dreaded-and-wanted-language-love-dread" data-type="URL" data-id="https://insights.stackoverflow.com/survey/2021#most-loved-dreaded-and-wanted-language-love-dread" target="_blank" rel="noreferrer noopener">source</a>)</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="846" height="684" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-39.png" alt="" class="wp-image-163044" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-39.png 846w, https://blog.finxter.com/wp-content/uploads/2022/01/image-39-300x243.png 300w, https://blog.finxter.com/wp-content/uploads/2022/01/image-39-768x621.png 768w" sizes="auto, (max-width: 846px) 100vw, 846px" /></figure>



<h2 class="wp-block-heading" id="related-tutorials">Related Tutorials</h2>



<p class="wp-block-paragraph">To get started with some of the fundamentals and industry concepts, feel free to check out these articles:</p>



<ul class="wp-block-list"><li><a rel="noreferrer noopener" href="https://blog.finxter.com/freelance-developer/" data-type="URL" data-id="https://blog.finxter.com/freelance-developer/" target="_blank">Freelance Developer – How to Code From Home and Earn Six Figures [Industry Report]</a></li><li><a rel="noreferrer noopener" href="https://blog.finxter.com/how-to-earn-1000-on-the-side-as-a-python-freelancer-a-step-by-step-tutorial/" data-type="URL" data-id="https://blog.finxter.com/how-to-earn-1000-on-the-side-as-a-python-freelancer-a-step-by-step-tutorial/" target="_blank">How to Become a Python Freelancer—and Earn $1,000 on the Side? [A Step-by-Step Tutorial]</a></li><li><a rel="noreferrer noopener" href="https://blog.finxter.com/how-adam-earns-5000-per-month-as-a-python-freelancer-on-upwork-month-4/" data-type="URL" data-id="https://blog.finxter.com/how-adam-earns-5000-per-month-as-a-python-freelancer-on-upwork-month-4/" target="_blank">How Adam Earns $5000 per Month as a Python Freelancer on Upwork [Month 4]</a></li><li><a rel="noreferrer noopener" href="https://en.wikipedia.org/wiki/Database" data-type="URL" target="_blank">Database Wikipedia</a></li><li><a rel="noreferrer noopener" href="https://www.google.com/search?q=Database" data-type="URL" data-id="https://www.google.com/search?q=learn+Database " target="_blank">Learn Database Google</a></li></ul>



<h2 class="wp-block-heading">Where to Go From Here?</h2>



<p class="wp-block-paragraph">Enough theory. Let’s get some practice!</p>



<p class="wp-block-paragraph">Coders get paid six figures and more because they can solve problems more effectively using machine intelligence and automation. </p>



<p class="wp-block-paragraph">To become more successful in coding, solve more real problems for real people. That’s how you polish the skills you really need in practice. After all, what’s the use of learning theory that nobody ever needs?</p>



<p class="wp-block-paragraph"><strong>You build high-value coding skills by working on practical coding projects!</strong></p>



<p class="wp-block-paragraph">Do you want to stop learning with toy projects and focus on practical code projects that earn you money and solve real problems for people?</p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> If your answer is <strong><em>YES!</em></strong>, consider becoming a <a rel="noreferrer noopener" href="https://blog.finxter.com/become-python-freelancer-course/" data-type="page" data-id="2072" target="_blank">Python freelance developer</a>! It’s the best way of approaching the task of improving your Python skills—even if you are a complete beginner.</p>



<p class="wp-block-paragraph">If you just want to learn about the freelancing opportunity, feel free to watch my free webinar <a rel="noreferrer noopener" href="https://blog.finxter.com/webinar-freelancer/" target="_blank">“How to Build Your High-Income Skill Python”</a> and learn how I grew my coding business online and how you can, too—from the comfort of your own home.</p>



<p class="wp-block-paragraph"><a href="https://blog.finxter.com/webinar-freelancer/" target="_blank" rel="noreferrer noopener">Join the free webinar now!</a></p>



<h2 class="wp-block-heading">References</h2>



<p class="wp-block-paragraph">[1] The figure was generated using the following code snippet:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">import matplotlib.pyplot as plt
import numpy as np
import math

data = [91541,
        107844,
        120961,
        135000,
        106037,
        88419,
        107141,
        110987,
        96058,
        72536]

labels = ['Glassdoor.com',
          'ZipRecruiter.com',
          'BuiltIn.com',
          'Talent.com',
          'Indeed.com',
          'PayScale.com',
          'SalaryExpert.com',
          'Comparably.com',
          'Zippia.com',
          'Salary.com']

median = np.median(data)
average = np.average(data)
print(median, average)
n = len(data)

plt.plot(range(n), [median] * n, color='black', label='Median: $' + str(int(median)))
plt.plot(range(n), [average] * n, '--', color='red', label='Average: $' + str(int(average)))
plt.bar(range(len(data)), data)
plt.xticks(range(len(data)), labels, rotation='vertical', position = (0,0.45), color='white', weight='bold')
plt.ylabel('Average Income ($)')
plt.title('Database Engineer Annual Income - by Finxter')
plt.legend()
plt.show()
</pre>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Full-Stack Web Developer &#8212; Income and Opportunity</title>
		<link>https://blog.finxter.com/full-stack-web-developer-income-and-opportunity/</link>
		
		<dc:creator><![CDATA[Chris]]></dc:creator>
		<pubDate>Tue, 26 Apr 2022 09:24:44 +0000</pubDate>
				<category><![CDATA[Coding Business]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Distributed Systems]]></category>
		<category><![CDATA[Freelancing]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Web Development]]></category>
		<guid isPermaLink="false">https://blog.finxter.com/?p=326336</guid>

					<description><![CDATA[Before we learn about the money, let&#8217;s get this question out of the way: What Is a Full-Stack Web Developer? A full-stack web developer works both with back-end and front-end web technologies. Full-stack developers have skills in all those fields so they often take crucial roles in overseeing the technical implementation of large web projects. ... <a title="Full-Stack Web Developer &#8212; Income and Opportunity" class="read-more" href="https://blog.finxter.com/full-stack-web-developer-income-and-opportunity/" aria-label="Read more about Full-Stack Web Developer &#8212; Income and Opportunity">Read more</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Before we learn about the money, let&#8217;s get this question out of the way:</p>



<h2 class="wp-block-heading">What Is a Full-Stack Web Developer?</h2>



<p class="wp-block-paragraph">A <strong>full-stack web developer</strong> works both with back-end and front-end web technologies. </p>



<ul class="wp-block-list">
<li>The <strong>back-end</strong> consists of the webserver infrastructure, databases, and code function integration to facilitate a smooth and secure serving of user requests. </li>



<li>The <strong>front-end</strong> focuses on the graphical user interface (GUI) of the website using <a rel="noreferrer noopener" href="https://blog.finxter.com/html-developer-income-and-opportunity/" data-type="post" data-id="191232" target="_blank">HTML</a>, <a href="https://blog.finxter.com/css-developer-income-and-opportunity/" data-type="post" data-id="193134">C</a><a rel="noreferrer noopener" href="https://blog.finxter.com/css-developer-income-and-opportunity/" data-type="post" data-id="193134" target="_blank">S</a><a href="https://blog.finxter.com/css-developer-income-and-opportunity/" data-type="post" data-id="193134">S</a>, and <a rel="noreferrer noopener" href="https://blog.finxter.com/javascript-developer-income-and-opportunity/" data-type="post" data-id="191233" target="_blank">JavaScript</a> with the goal of setting up the whole technology stack to enable users to view and interact with the website. </li>
</ul>



<p class="wp-block-paragraph">Full-stack developers have skills in all those fields so they often take crucial roles in overseeing the technical implementation of large web projects.</p>



<hr class="wp-block-separator has-css-opacity"/>



<p class="wp-block-paragraph">A <strong>web developer</strong> is a programmer who specializes in the development of websites or applications viewed on web browsers, mobile devices, and large desktop screens that are transported over private or public networks such as the Internet.</p>



<p class="wp-block-paragraph">A <strong>back-end web developer</strong> focuses on the implementation and deployment of the &#8220;back-end&#8221; of a web application. The back-end consists of the webserver infrastructure, databases, and code function integration to facilitate a smooth and secure serving of user requests. Back-end developers often operate behind the scenes (from a user perspective) but work closely in teams with database administrators, distributed systems experts and front-end web developers.</p>



<p class="wp-block-paragraph">A <strong>front-end web developer</strong> focuses on the graphical user interface (GUI) of the website using <a rel="noreferrer noopener" href="https://blog.finxter.com/html-developer-income-and-opportunity/" data-type="post" data-id="191232" target="_blank">HTML</a>, <a href="https://blog.finxter.com/css-developer-income-and-opportunity/" data-type="post" data-id="193134">C</a><a rel="noreferrer noopener" href="https://blog.finxter.com/css-developer-income-and-opportunity/" data-type="post" data-id="193134" target="_blank">S</a><a href="https://blog.finxter.com/css-developer-income-and-opportunity/" data-type="post" data-id="193134">S</a>, and <a rel="noreferrer noopener" href="https://blog.finxter.com/javascript-developer-income-and-opportunity/" data-type="post" data-id="191233" target="_blank">JavaScript</a> with the goal of setting up the whole technology stack to enable users to view and interact with the website.</p>



<hr class="wp-block-separator has-css-opacity"/>



<p class="wp-block-paragraph">This video nicely explains some of the most important technologies and skills you need as a back-end web developer:</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Backend Development explained in 2 minutes // Tech in 2" width="937" height="527" src="https://www.youtube.com/embed/cbSrsYiRamo?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph">And this video nicely explains some of the most important technologies and skills you need as a front-end web developer:</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="5 Front-end Development Skills to Land Your First Job" width="937" height="527" src="https://www.youtube.com/embed/-_X6PhkjpzU?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<h2 class="wp-block-heading">Who Do Full-Stack Web Developers Work For?</h2>



<p class="has-global-color-8-background-color has-background wp-block-paragraph">Full-stack web developers either work independently as freelancers or as employees for companies, government organizations, crypto projects, or non-profits. </p>



<p class="wp-block-paragraph">Lately, many full-stack web developers have started to work for decentralized autonomous organizations (DAOs) in the <a rel="noreferrer noopener" href="https://blog.finxter.com/crypto-trading-bot-developer-income-and-opportunity/" data-type="post" data-id="175039" target="_blank">crypto</a> ecosystem due to their expertise in native web technologies, distributed systems, databases, and web philosophies.</p>



<p class="wp-block-paragraph">In those web3 projects, both front-end and back-end skills are needed and full-stack developers can shine!</p>



<p class="wp-block-paragraph">In fact, the whole Blockchain technology stack is built around &#8220;back-end&#8221; web technologies&#8212;the Blockchain can be seen as a distributed, decentralized, and secure database that is replicated among thousands of participants. It&#8217;s the world of back-end web developers! </p>



<p class="wp-block-paragraph">Almost all decentralized projects (including <a rel="noreferrer noopener" href="https://blog.finxter.com/3-steps-to-use-bitcoin-as-a-treasury-reserve-assets/" data-type="post" data-id="30680" target="_blank">Bitcoin</a> and <a href="https://blog.finxter.com/ethereum-top-10-articles-to-get-started/" data-type="post" data-id="53284">Ethereum</a>) only focus on <strong>decentralized back-end development</strong> whereas the front-ends run on a centralized infrastructure!</p>



<p class="wp-block-paragraph">Almost all decentralized projects (including Ethereum) only focus on decentralized back-end development whereas the front-ends run on a centralized infrastructure!</p>



<p class="wp-block-paragraph">That&#8217;s why decentralized web3 apps still require front-end skills such as <a rel="noreferrer noopener" href="https://blog.finxter.com/html-developer-income-and-opportunity/" data-type="post" data-id="191232" target="_blank">HTML</a>, <a href="https://blog.finxter.com/css-developer-income-and-opportunity/" data-type="post" data-id="193134">C</a><a rel="noreferrer noopener" href="https://blog.finxter.com/css-developer-income-and-opportunity/" data-type="post" data-id="193134" target="_blank">S</a><a href="https://blog.finxter.com/css-developer-income-and-opportunity/" data-type="post" data-id="193134">S</a>, and <a rel="noreferrer noopener" href="https://blog.finxter.com/javascript-developer-income-and-opportunity/" data-type="post" data-id="191233" target="_blank">JavaScript</a>.</p>



<h2 class="wp-block-heading" id="annual-income">Annual Income</h2>



<p class="wp-block-paragraph"><strong>How much does a Full-Stack Web Developer make per year?</strong></p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph">The average annual income of a <strong>Full-Stack Web Developer</strong> in the United States is between <strong>$79,584</strong> and <strong>$108,984</strong> with an average income of <strong>$98,454</strong> and a median income of <strong>$99,274</strong> per year according to our meta-study of 7 aggregated data sources such as Glassdoor and Indeed. </p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="997" height="680" src="https://blog.finxter.com/wp-content/uploads/2022/04/image-243.png" alt="Figure: Average Income of a Full-Stack Developer in the US by Source." class="wp-image-326363" srcset="https://blog.finxter.com/wp-content/uploads/2022/04/image-243.png 997w, https://blog.finxter.com/wp-content/uploads/2022/04/image-243-300x205.png 300w, https://blog.finxter.com/wp-content/uploads/2022/04/image-243-768x524.png 768w" sizes="auto, (max-width: 997px) 100vw, 997px" /><figcaption class="wp-element-caption"><strong>Figure</strong>: Average Income of a Full-Stack Developer in the US by Source. [1]</figcaption></figure>
</div>


<p class="wp-block-paragraph">So, a full-stack developer tends to make 2-10% more income as either a back-end or a front-end developer due to the increased breadth of required technical skills.</p>



<ul class="wp-block-list">
<li><strong>Back-end web developers</strong> make on average <strong>$96,545</strong> (median: $97,522). </li>



<li><strong>Front-end web developers</strong> make on average <strong>$89,683</strong> (median: $90,499) per year. </li>



<li><strong>Full-Stack web developers</strong> make on average <strong><strong>$98,454</strong></strong> (median: $99,274) per year. </li>
</ul>



<p class="wp-block-paragraph">If you need the raw data for the income of a back-end web developer in the US, this is it:</p>



<figure class="wp-block-table is-style-stripes"><table><thead><tr><th>Source</th><th>Average Income</th></tr></thead><tbody><tr><td><a href="https://www.glassdoor.com/Salaries/full-stack-developer-salary-SRCH_KO0,20.htm" data-type="URL" data-id="https://www.glassdoor.com/Salaries/full-stack-developer-salary-SRCH_KO0,20.htm" target="_blank" rel="noreferrer noopener">Glassdoor.com</a></td><td>$99,274</td></tr><tr><td><a href="https://www.ziprecruiter.com/Salaries/Full-Stack-Web-Developer-Salary" data-type="URL" data-id="https://www.ziprecruiter.com/Salaries/Full-Stack-Web-Developer-Salary" target="_blank" rel="noreferrer noopener">ZipRecruiter.com</a></td><td>$88,133</td></tr><tr><td><a href="https://kinsta.com/blog/full-stack-developers-salary/" data-type="URL" data-id="https://kinsta.com/blog/full-stack-developers-salary/" target="_blank" rel="noreferrer noopener">Kinsta.com</a></td><td>$108,000</td></tr><tr><td><a href="https://www.indeed.com/career/full-stack-developer/salaries" data-type="URL" data-id="https://www.indeed.com/career/full-stack-developer/salaries" target="_blank" rel="noreferrer noopener">Indeed.com</a></td><td>$106,934</td></tr><tr><td><a href="https://www.salary.com/research/salary/listing/full-stack-developer-salary" data-type="URL" data-id="https://www.salary.com/research/salary/listing/full-stack-developer-salary" target="_blank" rel="noreferrer noopener">Salary.com</a></td><td>$98,271</td></tr><tr><td><a href="https://www.payscale.com/research/US/Job=Full_Stack_Software_Developer/Salary" data-type="URL" data-id="https://www.payscale.com/research/US/Job=Full_Stack_Software_Developer/Salary" target="_blank" rel="noreferrer noopener">PayScale.com</a></td><td>$79,584</td></tr><tr><td><a href="https://careerkarma.com/blog/entry-level-full-stack-developer-salary/" data-type="URL" data-id="https://careerkarma.com/blog/entry-level-full-stack-developer-salary/" target="_blank" rel="noreferrer noopener">CareerKarma.com</a></td><td>$108,984</td></tr></tbody></table><figcaption class="wp-element-caption"><strong>Table</strong>: Average Income of a Back-end Web Developer in the US by Source.</figcaption></figure>



<p class="wp-block-paragraph">Let&#8217;s have a look at the hourly rate of Full-Stack Web Developers next!</p>



<h2 class="wp-block-heading" id="hourly-rate">Hourly Rate</h2>



<p class="wp-block-paragraph">Full-Stack Developers also work on freelancing platforms such as <a rel="noreferrer noopener" href="https://blog.finxter.com/upwork-vs-fiverr/" data-type="post" data-id="11152" target="_blank">Upwork or Fiverr</a>.</p>



<ul class="wp-block-list">
<li><strong>Related Article</strong>: <a href="https://blog.finxter.com/best-python-freelancer-platforms/" data-type="post" data-id="3382" target="_blank" rel="noreferrer noopener">What&#8217;s the best freelancing platform?</a></li>
</ul>



<p class="has-global-color-8-background-color has-background wp-block-paragraph">If you decide to go the route as a freelance Full-Stack Web Developer, you can expect to make between $35 and $60 per hour on Upwork (<a rel="noreferrer noopener" href="https://www.upwork.com/ab/profiles/search/?nss=90&amp;q=full%20stack%20dedveloper" data-type="URL" data-id="https://www.upwork.com/ab/profiles/search/?nss=90&amp;q=full%20stack%20dedveloper" target="_blank">source</a>). Assuming an annual workload of 2000 hours, you can expect to make between $70,000 and $120,000 per year.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="781" height="991" src="https://blog.finxter.com/wp-content/uploads/2022/04/image-244.png" alt="" class="wp-image-326370" srcset="https://blog.finxter.com/wp-content/uploads/2022/04/image-244.png 781w, https://blog.finxter.com/wp-content/uploads/2022/04/image-244-236x300.png 236w, https://blog.finxter.com/wp-content/uploads/2022/04/image-244-768x975.png 768w" sizes="auto, (max-width: 781px) 100vw, 781px" /></figure>
</div>


<p class="has-global-color-8-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a1.png" alt="⚡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Note</strong>: Do you want to create your own thriving coding business online? Feel free to check out our <a rel="noreferrer noopener" href="https://blog.finxter.com/become-python-freelancer-course/" data-type="page" data-id="2072" target="_blank">freelance developer course</a> &#8212; the world&#8217;s #1 best-selling freelance developer course that specifically shows you how to succeed on Upwork and Fiverr!</p>



<div class="wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-fe48e5de wp-block-buttons-is-layout-flex">
<div class="wp-block-button has-custom-width wp-block-button__width-50 is-style-fill"><a class="wp-block-button__link has-accent-background-color has-background wp-element-button" href="https://blog.finxter.com/become-python-freelancer-course/" target="_blank" rel="noreferrer noopener">Join Freelancer Course</a></div>
</div>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Monetizing Your JavaScript Skills for $80/h on Upwork as a Top-Rated Freelance Developer" width="937" height="527" src="https://www.youtube.com/embed/MgPWPkPdnQY?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<h2 class="wp-block-heading" id="industry-demand">Industry Demand</h2>



<p class="wp-block-paragraph">But is there enough demand? Let&#8217;s have a look at Google trends to find out how interest evolves over time (<a href="https://trends.google.com/trends/explore?date=all&amp;q=Full-Stack%20Developer" data-type="URL" data-id="https://trends.google.com/trends/explore?date=all&amp;q=Full-Stack%20Developer" target="_blank" rel="noreferrer noopener">source</a>):</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="482" src="https://blog.finxter.com/wp-content/uploads/2022/04/image-245-1024x482.png" alt="" class="wp-image-326372" srcset="https://blog.finxter.com/wp-content/uploads/2022/04/image-245-1024x482.png 1024w, https://blog.finxter.com/wp-content/uploads/2022/04/image-245-300x141.png 300w, https://blog.finxter.com/wp-content/uploads/2022/04/image-245-768x361.png 768w, https://blog.finxter.com/wp-content/uploads/2022/04/image-245-1536x722.png 1536w, https://blog.finxter.com/wp-content/uploads/2022/04/image-245.png 1748w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p class="wp-block-paragraph">This graphic shows that the <strong>supply</strong> of people interested in learning web development has increased since 2013. </p>



<p class="wp-block-paragraph">However, if you look at the <strong>demand</strong> for web developers&#8212;it has grown even more in recent years!</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="477" src="https://blog.finxter.com/wp-content/uploads/2022/04/image-246-1024x477.png" alt="" class="wp-image-326374" srcset="https://blog.finxter.com/wp-content/uploads/2022/04/image-246-1024x477.png 1024w, https://blog.finxter.com/wp-content/uploads/2022/04/image-246-300x140.png 300w, https://blog.finxter.com/wp-content/uploads/2022/04/image-246-768x358.png 768w, https://blog.finxter.com/wp-content/uploads/2022/04/image-246-1536x716.png 1536w, https://blog.finxter.com/wp-content/uploads/2022/04/image-246.png 1740w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption"><a href="https://trends.google.com/trends/explore?date=all&amp;q=hire%20full%20stack" data-type="URL" data-id="https://trends.google.com/trends/explore?date=all&amp;q=hire%20full%20stack" target="_blank" rel="noreferrer noopener">source</a></figcaption></figure>
</div>


<p class="wp-block-paragraph">As in any market, if demand outstrips supply, prices of this resource tend to increase. That&#8217;s why it can be a super lucrative decision to become a backend web developer in the 2020s, 2030s, and beyond.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="$120/h on Upwork as a Backend Web Developer" width="937" height="527" src="https://www.youtube.com/embed/SVw9SROOKa0?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<h2 class="wp-block-heading" id="learning-path-skills-and-education-requirements">Learning Path, Skills, and Education Requirements</h2>



<p class="wp-block-paragraph">Do you want to become a <strong>Full-Stack Web Developer</strong>? Learn both <a href="https://blog.finxter.com/front-end-web-developer-income-and-opportunity/" data-type="URL" data-id="https://blog.finxter.com/front-end-web-developer-income-and-opportunity/" target="_blank" rel="noreferrer noopener">front-end</a> and <a href="https://blog.finxter.com/back-end-web-developer-income-and-opportunity/" data-type="URL" data-id="https://blog.finxter.com/back-end-web-developer-income-and-opportunity/" target="_blank" rel="noreferrer noopener">back-end</a> skills!</p>



<p class="wp-block-paragraph">Here&#8217;s a step-by-step learning path I&#8217;d propose to get started with the most crucial front-end web developments tools:</p>



<ul class="wp-block-list">
<li><strong>Step 1</strong>: <a rel="noreferrer noopener" href="https://www.w3schools.com/html/html_intro.asp" target="_blank">Introduction to HTML</a> (~20 hours)</li>



<li><strong>Step 2</strong>: <a rel="noreferrer noopener" href="https://www.w3schools.com/css/css_intro.asp" target="_blank">Introduction to CSS</a> (~20 hours)</li>



<li><strong>Step 3</strong>: <a rel="noreferrer noopener" href="https://www.w3schools.com/js/js_intro.asp" target="_blank">Introduction to JavaScript</a> (~20 hours)</li>



<li><strong>Step 4</strong>: <a rel="noreferrer noopener" href="https://blog.finxter.com/angular-developer-income-and-opportunity/" data-type="post" data-id="248181" target="_blank">Angular</a> (~20 hours)</li>



<li><strong>Step 5</strong>: <a href="https://blog.finxter.com/bootstrap-developer-income-and-opportunity/" data-type="post" data-id="217919" target="_blank" rel="noreferrer noopener">Bootstrap</a><a rel="noreferrer noopener" href="https://www.w3schools.com/js/js_intro.asp" target="_blank"></a> (~20 hours)</li>



<li><strong>Step 6</strong>: <a href="https://blog.finxter.com/react-js-developer-income-and-opportunity/" data-type="post" data-id="246095" target="_blank" rel="noreferrer noopener">React</a> (~20 hours)</li>
</ul>



<p class="wp-block-paragraph">Here&#8217;s a <strong>step-by-step learning path</strong> I&#8217;d propose to get started with the most crucial back-end web developments tools and fundamental skills (master basics first! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f393.png" alt="🎓" class="wp-smiley" style="height: 1em; max-height: 1em;" />):</p>



<ul class="wp-block-list">
<li><strong>Step 1</strong>: <a href="https://www.google.com/search?q=Learn+Distributed+Systems" data-type="URL" data-id="https://www.google.com/search?q=Learn+Distributed+Systems" target="_blank" rel="noreferrer noopener">Learn Distributed Systems</a> (~10h)</li>



<li><strong>Step 2</strong>: <a href="https://www.google.com/search?q=Learn+Databases+%2526+SQL" data-type="URL" data-id="https://www.google.com/search?q=Learn+Databases+%2526+SQL" target="_blank" rel="noreferrer noopener">Learn Databases &amp; SQL</a> (~10h)</li>



<li><strong>Step 3</strong>: <a href="https://blog.finxter.com/email-academy/" data-type="page" data-id="12278" target="_blank" rel="noreferrer noopener">Learn Python</a> (~10h)</li>



<li><strong>Step 4</strong>: <a href="https://www.google.com/search?q=Learn+Flask" data-type="URL" data-id="https://www.google.com/search?q=Learn+Flask" target="_blank" rel="noreferrer noopener">Learn Flask</a> (~10h)</li>



<li><strong>Step 5</strong>: <a href="https://www.google.com/search?q=Learn+JavaScript" data-type="URL" data-id="https://www.google.com/search?q=Learn+JavaScript" target="_blank" rel="noreferrer noopener">Learn JavaScript</a> (~10h)</li>



<li><strong>Step 6</strong>: <a href="https://www.google.com/search?q=Learn+Node.js" data-type="URL" data-id="https://www.google.com/search?q=Learn+Node.js" target="_blank" rel="noreferrer noopener">Learn Node.js</a> (~10h)</li>
</ul>



<p class="wp-block-paragraph">You can find many additional computer science courses on the <a rel="noreferrer noopener" href="https://academy.finxter.com/" data-type="URL" data-id="https://academy.finxter.com/" target="_blank">Finxter Computer Science Academy</a> (flatrate model).</p>



<p class="wp-block-paragraph">But don&#8217;t wait too long to acquire practical experience! </p>



<p class="wp-block-paragraph">Even if you have few skills, it&#8217;s best to get started as a <strong>freelance developer</strong> and learn as you work on real projects for clients &#8212; <strong>earning income as you learn</strong> and gaining motivation through real-world feedback.</p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Tip</strong>: An excellent start to turbo-charge your freelancing career (earning more in less time) is our <a rel="noreferrer noopener" href="https://blog.finxter.com/become-python-freelancer-course/" data-type="page" data-id="2072" target="_blank">Finxter Freelancer Course</a>. The goal of the course is to pay for itself! </p>



<h2 class="wp-block-heading" id="related-video">Related Video</h2>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Find &#x267e; Infinite Opportunity in the Metaverse as a Freelance Coder ... to Tom" width="937" height="527" src="https://www.youtube.com/embed/ZS_pM7Yp_Xk?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph">You can find more job descriptions for coders, programmers, and computer scientists in our detailed overview guide:</p>



<ul class="wp-block-list">
<li><a rel="noreferrer noopener" href="https://blog.finxter.com/get-your-job-in-it-overview/" data-type="post" data-id="186255" target="_blank">Get Your Job in IT [Overview]</a></li>
</ul>



<h2 class="wp-block-heading" id="related-income-of-professional-developers">Related Income of Professional Developers</h2>



<p class="wp-block-paragraph">The following statistic shows the self-reported income from 9,649 US-based professional developers (<a rel="noreferrer noopener" href="https://insights.stackoverflow.com/survey/2021#salary-comp-total-usa" data-type="URL" data-id="https://insights.stackoverflow.com/survey/2021#salary-comp-total-usa" target="_blank">source</a>).</p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> The average annual income of professional developers in the US is between <strong>$70,000</strong> and <strong>$177,500</strong> for various programming languages.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="641" height="1024" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-48-641x1024.png" alt="" class="wp-image-163242" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-48-641x1024.png 641w, https://blog.finxter.com/wp-content/uploads/2022/01/image-48-188x300.png 188w, https://blog.finxter.com/wp-content/uploads/2022/01/image-48-768x1227.png 768w, https://blog.finxter.com/wp-content/uploads/2022/01/image-48.png 876w" sizes="auto, (max-width: 641px) 100vw, 641px" /></figure>
</div>


<p class="wp-block-paragraph"><strong>Question</strong>: <em>What is your current total compensation (salary, bonuses, and perks, before taxes and deductions)? Please enter a whole number in the box below, without any punctuation. If you are paid hourly, please estimate an equivalent weekly, monthly, or yearly salary.</em> (<a href="https://insights.stackoverflow.com/survey/2021#most-loved-dreaded-and-wanted-language-love-dread" data-type="URL" data-id="https://insights.stackoverflow.com/survey/2021#most-loved-dreaded-and-wanted-language-love-dread" target="_blank" rel="noreferrer noopener">source</a>)</p>



<p class="wp-block-paragraph">The following statistic compares the self-reported income from 46,693 professional programmers as conducted by StackOverflow.</p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> The average annual income of professional developers worldwide (US and non-US) is between <strong>$33,000</strong> and <strong>$95,000</strong> for various programming languages. </p>



<p class="wp-block-paragraph">Here&#8217;s a screenshot of a more detailed overview of each programming language considered in the report:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="350" height="1024" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-41-350x1024.png" alt="" class="wp-image-163206" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-41-350x1024.png 350w, https://blog.finxter.com/wp-content/uploads/2022/01/image-41-103x300.png 103w, https://blog.finxter.com/wp-content/uploads/2022/01/image-41-525x1536.png 525w, https://blog.finxter.com/wp-content/uploads/2022/01/image-41-701x2048.png 701w, https://blog.finxter.com/wp-content/uploads/2022/01/image-41.png 745w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>



<p class="wp-block-paragraph">Here&#8217;s what different database professionals earn:</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="893" height="878" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-42.png" alt="" class="wp-image-163220" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-42.png 893w, https://blog.finxter.com/wp-content/uploads/2022/01/image-42-300x295.png 300w, https://blog.finxter.com/wp-content/uploads/2022/01/image-42-768x755.png 768w" sizes="auto, (max-width: 893px) 100vw, 893px" /></figure>
</div>


<p class="wp-block-paragraph">Here&#8217;s an overview of different cloud solutions experts:</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="848" height="433" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-43.png" alt="" class="wp-image-163225" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-43.png 848w, https://blog.finxter.com/wp-content/uploads/2022/01/image-43-300x153.png 300w, https://blog.finxter.com/wp-content/uploads/2022/01/image-43-768x392.png 768w" sizes="auto, (max-width: 848px) 100vw, 848px" /></figure>
</div>


<p class="wp-block-paragraph">Here&#8217;s what professionals in web frameworks earn:</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="740" height="1024" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-44-740x1024.png" alt="" class="wp-image-163226" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-44-740x1024.png 740w, https://blog.finxter.com/wp-content/uploads/2022/01/image-44-217x300.png 217w, https://blog.finxter.com/wp-content/uploads/2022/01/image-44.png 755w" sizes="auto, (max-width: 740px) 100vw, 740px" /></figure>
</div>


<p class="wp-block-paragraph">There are many other interesting frameworks&#8212;that pay well!</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="816" height="757" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-45.png" alt="" class="wp-image-163229" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-45.png 816w, https://blog.finxter.com/wp-content/uploads/2022/01/image-45-300x278.png 300w, https://blog.finxter.com/wp-content/uploads/2022/01/image-45-768x712.png 768w" sizes="auto, (max-width: 816px) 100vw, 816px" /></figure>
</div>


<p class="wp-block-paragraph">Look at those tools:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="793" height="825" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-46.png" alt="" class="wp-image-163230" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-46.png 793w, https://blog.finxter.com/wp-content/uploads/2022/01/image-46-288x300.png 288w, https://blog.finxter.com/wp-content/uploads/2022/01/image-46-768x799.png 768w" sizes="auto, (max-width: 793px) 100vw, 793px" /></figure>



<p class="wp-block-paragraph">Okay, but what do you need to do to get there? What are the skill requirements and qualifications to make you become a professional developer in the area you desire?</p>



<p class="wp-block-paragraph">Let&#8217;s find out next!</p>



<h2 class="wp-block-heading" id="general-qualifications-of-professionals">General Qualifications of Professionals</h2>



<p class="wp-block-paragraph">StackOverflow performs an annual survey asking professionals, coders, developers, researchers, and engineers various questions about their background and job satisfaction on their website.</p>



<p class="wp-block-paragraph">Interestingly, when aggregating the data of the developers&#8217; educational background, a good three quarters have an academic background.</p>



<p class="wp-block-paragraph">Here&#8217;s the question asked by StackOverflow (<a href="https://insights.stackoverflow.com/survey/2021#education-ed-level-prof" data-type="URL" data-id="https://insights.stackoverflow.com/survey/2021#education-ed-level-prof" target="_blank" rel="noreferrer noopener">source</a>): </p>



<p class="wp-block-paragraph"><strong>Which of the following best describes the highest level of formal education that you’ve completed?</strong></p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="589" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-37-1024x589.png" alt="" class="wp-image-163017" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-37-1024x589.png 1024w, https://blog.finxter.com/wp-content/uploads/2022/01/image-37-300x173.png 300w, https://blog.finxter.com/wp-content/uploads/2022/01/image-37-768x442.png 768w, https://blog.finxter.com/wp-content/uploads/2022/01/image-37.png 1057w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p class="wp-block-paragraph">However, if you don&#8217;t have a formal degree, don&#8217;t fear! Many of the respondents with degrees don&#8217;t have a degree in their field&#8212;so it may not be of much value for their coding careers anyways. </p>



<p class="wp-block-paragraph">Also, about one out of four don&#8217;t have a formal degree and still succeeds in their field! You certainly don&#8217;t need a degree if you&#8217;re committed to your own success!</p>



<h2 class="wp-block-heading" id="freelancing-vs-employment-status">Freelancing vs Employment Status</h2>



<p class="wp-block-paragraph">The percentage of <a href="https://blog.finxter.com/freelance-developer/" data-type="post" data-id="5912" target="_blank" rel="noreferrer noopener">freelance developers</a> increases steadily. The fraction of freelance developers has already reached 11.21%! </p>



<p class="wp-block-paragraph">This indicates that more and more work will be done in a more flexible work environment&#8212;and fewer and fewer companies and clients want to hire inflexible talent. </p>



<p class="wp-block-paragraph">Here are the stats from the StackOverflow developer survey (<a rel="noreferrer noopener" href="https://insights.stackoverflow.com/survey/2021#employment-employment-prof" data-type="URL" data-id="https://insights.stackoverflow.com/survey/2021#employment-employment-prof" target="_blank">source</a>):</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="780" height="538" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-47.png" alt="" class="wp-image-163234" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-47.png 780w, https://blog.finxter.com/wp-content/uploads/2022/01/image-47-300x207.png 300w, https://blog.finxter.com/wp-content/uploads/2022/01/image-47-768x530.png 768w" sizes="auto, (max-width: 780px) 100vw, 780px" /></figure>
</div>


<p class="wp-block-paragraph">Do you want to become a professional freelance developer and earn some money on the side or as your primary source of income?</p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><strong>Resource</strong>: Check out our <a rel="noreferrer noopener" href="https://blog.finxter.com/become-python-freelancer-course/" data-type="URL" data-id="https://blog.finxter.com/become-python-freelancer-course/" target="_blank">freelance developer course</a>&#8212;it&#8217;s the best freelance developer course in the world with the highest student success rate in the industry!</p>



<div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex">
<div class="wp-block-button has-custom-width wp-block-button__width-100 aligncenter"><a class="wp-block-button__link wp-element-button" href="https://blog.finxter.com/become-python-freelancer-course/" target="_blank" rel="noreferrer noopener">Become Freelance Developer (Course)</a></div>
</div>



<h2 class="wp-block-heading" id="other-programming-languages-used-by-professional-developers">Other Programming Languages Used by Professional Developers</h2>



<p class="wp-block-paragraph">The StackOverflow developer survey collected 58000 responses about the following question (<a href="https://insights.stackoverflow.com/survey/2021#most-popular-technologies-language-prof" data-type="URL" data-id="https://insights.stackoverflow.com/survey/2021#most-popular-technologies-language-prof" target="_blank" rel="noreferrer noopener">source</a>):</p>



<p class="wp-block-paragraph"><em><strong>Which programming, scripting, and markup languages have you done extensive development work in over the past year, and which do you want to work in over the next year?</strong></em></p>



<p class="wp-block-paragraph">These are the languages you want to focus on when starting out as a coder:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="372" height="1024" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-38-372x1024.png" alt="" class="wp-image-163026" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-38-372x1024.png 372w, https://blog.finxter.com/wp-content/uploads/2022/01/image-38-109x300.png 109w, https://blog.finxter.com/wp-content/uploads/2022/01/image-38-768x2114.png 768w, https://blog.finxter.com/wp-content/uploads/2022/01/image-38-558x1536.png 558w, https://blog.finxter.com/wp-content/uploads/2022/01/image-38-744x2048.png 744w, https://blog.finxter.com/wp-content/uploads/2022/01/image-38.png 780w" sizes="auto, (max-width: 372px) 100vw, 372px" /></figure>



<p class="wp-block-paragraph">And don&#8217;t worry&#8212;if you feel stuck or struggle with a nasty bug. We all go through it. Here&#8217;s what SO survey respondents and professional developers do when they&#8217;re stuck:</p>



<p class="wp-block-paragraph"><strong>What do you do when you get stuck on a problem? Select all that apply. </strong>(<a href="https://insights.stackoverflow.com/survey/2021#most-loved-dreaded-and-wanted-language-love-dread" data-type="URL" data-id="https://insights.stackoverflow.com/survey/2021#most-loved-dreaded-and-wanted-language-love-dread" target="_blank" rel="noreferrer noopener">source</a>)</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="846" height="684" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-39.png" alt="" class="wp-image-163044" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-39.png 846w, https://blog.finxter.com/wp-content/uploads/2022/01/image-39-300x243.png 300w, https://blog.finxter.com/wp-content/uploads/2022/01/image-39-768x621.png 768w" sizes="auto, (max-width: 846px) 100vw, 846px" /></figure>



<h2 class="wp-block-heading" id="related-tutorials">Related Tutorials</h2>



<p class="wp-block-paragraph">To get started with some of the fundamentals and industry concepts, feel free to check out these articles:</p>



<ul class="wp-block-list">
<li><a rel="noreferrer noopener" href="https://blog.finxter.com/freelance-developer/" data-type="URL" data-id="https://blog.finxter.com/freelance-developer/" target="_blank">Freelance Developer – How to Code From Home and Earn Six Figures [Industry Report]</a></li>



<li><a rel="noreferrer noopener" href="https://blog.finxter.com/how-to-earn-1000-on-the-side-as-a-python-freelancer-a-step-by-step-tutorial/" data-type="URL" data-id="https://blog.finxter.com/how-to-earn-1000-on-the-side-as-a-python-freelancer-a-step-by-step-tutorial/" target="_blank">How to Become a Python Freelancer—and Earn $1,000 on the Side? [A Step-by-Step Tutorial]</a></li>



<li><a rel="noreferrer noopener" href="https://blog.finxter.com/how-adam-earns-5000-per-month-as-a-python-freelancer-on-upwork-month-4/" data-type="URL" data-id="https://blog.finxter.com/how-adam-earns-5000-per-month-as-a-python-freelancer-on-upwork-month-4/" target="_blank">How Adam Earns $5000 per Month as a Python Freelancer on Upwork [Month 4]</a></li>



<li><a href="https://en.wikipedia.org/wiki/web_development" data-type="URL" data-id="https://en.wikipedia.org/wiki/web_development" target="_blank" rel="noreferrer noopener">Web Development Wikipedia</a></li>
</ul>



<h2 class="wp-block-heading">Where to Go From Here?</h2>



<p class="wp-block-paragraph">Enough theory. Let’s get some practice!</p>



<p class="wp-block-paragraph">Coders get paid six figures and more because they can solve problems more effectively using machine intelligence and automation. </p>



<p class="wp-block-paragraph">To become more successful in coding, solve more real problems for real people. That’s how you polish the skills you really need in practice. After all, what’s the use of learning theory that nobody ever needs?</p>



<p class="wp-block-paragraph"><strong>You build high-value coding skills by working on practical coding projects!</strong></p>



<p class="wp-block-paragraph">Do you want to stop learning with toy projects and focus on practical code projects that earn you money and solve real problems for people?</p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> If your answer is <strong><em>YES!</em></strong>, consider becoming a <a rel="noreferrer noopener" href="https://blog.finxter.com/become-python-freelancer-course/" data-type="page" data-id="2072" target="_blank">Python freelance developer</a>! It’s the best way of approaching the task of improving your Python skills—even if you are a complete beginner.</p>



<p class="wp-block-paragraph">If you just want to learn about the freelancing opportunity, feel free to watch my free webinar <a rel="noreferrer noopener" href="https://blog.finxter.com/webinar-freelancer/" target="_blank">“How to Build Your High-Income Skill Python”</a> and learn how I grew my coding business online and how you can, too—from the comfort of your own home.</p>



<p class="wp-block-paragraph"><a href="https://blog.finxter.com/webinar-freelancer/" target="_blank" rel="noreferrer noopener">Join the free webinar now!</a></p>



<h2 class="wp-block-heading">Resources</h2>



<p class="wp-block-paragraph">[1] We used the following code to create the income graphic:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">import matplotlib.pyplot as plt
import numpy as np
import math

data = [99274,
        88133,
        108000,
        106934,
        98271,
        79584,
        108984]

labels = ['Glassdoor.com',
          'ZipRecruiter.com',
          'Kinsta.com',
          'Indeed.com',
          'Salary.com',
          'PayScale.com',
          'CareerKarma.com']

median = np.median(data)
average = np.average(data)
print(median, average)
n = len(data)

plt.plot(range(n), [median] * n, color='black', label='Median: $' + str(int(median)))
plt.plot(range(n), [average] * n, '--', color='red', label='Average: $' + str(int(average)))
plt.bar(range(len(data)), data)
plt.xticks(range(len(data)), labels, rotation='vertical', position = (0,0.45), color='white', weight='bold')
plt.ylabel('Average Income ($)')
plt.title('Full-Stack Developer Annual Income - by Finxter')
plt.legend()
plt.show()
        
</pre>



<p class="wp-block-paragraph">You can check out our <a rel="noreferrer noopener" href="https://blog.finxter.com/matplotlib-full-guide/" data-type="post" data-id="20151" target="_blank">article on Matplotlib</a> to better understand the code.</p>



<h2 class="wp-block-heading">Creating Frontends in the Crypto Space</h2>



<p class="wp-block-paragraph">In the following video, Finxter Mikio shows how to create a front-end of a crypto-related website using Python Brownie:</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Smart Contract - Create Web Frontend using Python Brownie react-mix" width="937" height="527" src="https://www.youtube.com/embed/zVJStyepjhw?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph">If you&#8217;re interested in creating crypto front-end projects, also check out our course at the <a href="https://academy.finxter.com/university/creating-an-nft-marketplace/" data-type="URL" data-id="https://academy.finxter.com/university/creating-an-nft-marketplace/" target="_blank" rel="noreferrer noopener">Finxter Computer Science Academy</a>:</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><a href="https://academy.finxter.com/university/creating-an-nft-marketplace/" target="_blank" rel="noopener"><img loading="lazy" decoding="async" width="363" height="650" src="https://blog.finxter.com/wp-content/uploads/2022/02/image-21.png" alt="" class="wp-image-170334" srcset="https://blog.finxter.com/wp-content/uploads/2022/02/image-21.png 363w, https://blog.finxter.com/wp-content/uploads/2022/02/image-21-168x300.png 168w" sizes="auto, (max-width: 363px) 100vw, 363px" /></a></figure></div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Back-End Web Developer &#8212; Income and Opportunity</title>
		<link>https://blog.finxter.com/back-end-web-developer-income-and-opportunity/</link>
		
		<dc:creator><![CDATA[Chris]]></dc:creator>
		<pubDate>Fri, 22 Apr 2022 09:30:34 +0000</pubDate>
				<category><![CDATA[Coding Business]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Distributed Systems]]></category>
		<category><![CDATA[Freelancing]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Web Development]]></category>
		<guid isPermaLink="false">https://blog.finxter.com/?p=318777</guid>

					<description><![CDATA[Before we learn about the money, let&#8217;s get this question out of the way: What Is a Back-end Web Developer? A web developer is a programmer who specializes in the development of websites or applications viewed on web browsers, mobile devices, and large desktop screens that are transported over private or public networks such as ... <a title="Back-End Web Developer &#8212; Income and Opportunity" class="read-more" href="https://blog.finxter.com/back-end-web-developer-income-and-opportunity/" aria-label="Read more about Back-End Web Developer &#8212; Income and Opportunity">Read more</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Before we learn about the money, let&#8217;s get this question out of the way:</p>



<h2 class="wp-block-heading">What Is a Back-end Web Developer?</h2>



<p class="has-global-color-8-background-color has-background wp-block-paragraph">A <strong>web developer</strong> is a programmer who specializes in the development of websites or applications viewed on web browsers, mobile devices, and large desktop screens that are transported over private or public networks such as the Internet.</p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph">A <strong>back-end web developer</strong> focuses on the implementation and deployment of the &#8220;back-end&#8221; of a web application. The back-end consists of the webserver infrastructure, databases, and code function integration to facilitate a smooth and secure serving of user requests. Back-end developers often operate behind the scenes (from a user perspective) but work closely in teams with database administrators, distributed systems experts and front-end web developers.</p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph">A <strong>front-end web developer</strong> focuses on the graphical user interface (GUI) of the website using <a rel="noreferrer noopener" href="https://blog.finxter.com/html-developer-income-and-opportunity/" data-type="post" data-id="191232" target="_blank">HTML</a>, <a href="https://blog.finxter.com/css-developer-income-and-opportunity/" data-type="post" data-id="193134">C</a><a rel="noreferrer noopener" href="https://blog.finxter.com/css-developer-income-and-opportunity/" data-type="post" data-id="193134" target="_blank">S</a><a href="https://blog.finxter.com/css-developer-income-and-opportunity/" data-type="post" data-id="193134">S</a>, and <a rel="noreferrer noopener" href="https://blog.finxter.com/javascript-developer-income-and-opportunity/" data-type="post" data-id="191233" target="_blank">JavaScript</a> with the goal of setting up the whole technology stack to enable users to view and interact with the website.</p>



<p class="wp-block-paragraph">This video nicely explains some of the most important technologies and skills you need as a back-end web developer:</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Backend Development explained in 2 minutes // Tech in 2" width="937" height="527" src="https://www.youtube.com/embed/cbSrsYiRamo?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<h2 class="wp-block-heading">Who Do Back-end Web Developers Work For?</h2>



<p class="has-global-color-8-background-color has-background wp-block-paragraph">Back-end web developers either work independently as freelancers or as employees for companies, government organizations, crypto projects, or non-profits. </p>



<p class="wp-block-paragraph">Lately, many back-end web developers have started to work for decentralized autonomous organizations (DAOs) in the <a rel="noreferrer noopener" href="https://blog.finxter.com/crypto-trading-bot-developer-income-and-opportunity/" data-type="post" data-id="175039" target="_blank">crypto</a> ecosystem due to their expertise in native web technologies, distributed systems, databases, and web philosophies.</p>



<p class="wp-block-paragraph">In fact, the whole Blockchain technology stack is built around &#8220;back-end&#8221; web technologies&#8212;the Blockchain can be seen as a distributed, decentralized, and secure database that is replicated among thousands of participants. It&#8217;s the world of back-end web developers! </p>



<p class="wp-block-paragraph">Almost all decentralized projects (including <a rel="noreferrer noopener" href="https://blog.finxter.com/3-steps-to-use-bitcoin-as-a-treasury-reserve-assets/" data-type="post" data-id="30680" target="_blank">Bitcoin</a> and <a href="https://blog.finxter.com/ethereum-top-10-articles-to-get-started/" data-type="post" data-id="53284">Ethereum</a>) only focus on <strong>decentralized back-end development</strong> whereas the front-ends run on a centralized infrastructure!</p>



<p class="wp-block-paragraph">Now that you know about <strong><em>what it is</em></strong>, let&#8217;s have a look at <strong><em>what it earns</em></strong> next!</p>



<h2 class="wp-block-heading" id="annual-income">Annual Income</h2>



<p class="wp-block-paragraph"><strong>How much does a Back-end Web Developer make per year?</strong></p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph">The average annual income of a <strong>Back-End Web Developer</strong> in the United States is between <strong>$72,484</strong> and <strong>$140,000</strong> with an average income of <strong>$96,545</strong> and a median income of <strong>$97,522</strong> per year according to our meta-study of 9 aggregated data sources such as Glassdoor and Indeed. </p>



<p class="wp-block-paragraph">The following graphic shows the individual data sources, as well as the average and median income level of a back-end web developer in the US:</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="973" height="572" src="https://blog.finxter.com/wp-content/uploads/2022/04/image-187.png" alt="Average Income of a Back-End Web Developer in the US by Source." class="wp-image-318794" srcset="https://blog.finxter.com/wp-content/uploads/2022/04/image-187.png 973w, https://blog.finxter.com/wp-content/uploads/2022/04/image-187-300x176.png 300w, https://blog.finxter.com/wp-content/uploads/2022/04/image-187-768x451.png 768w" sizes="auto, (max-width: 973px) 100vw, 973px" /><figcaption><strong>Figure</strong>: Average Income of a Back-End Web Developer in the US by Source. [1]</figcaption></figure></div>



<p class="wp-block-paragraph">Interestingly, there is a statistically significant difference in both the median and the average income of a back-end web developer versus a front-end web developer and a general web developer. </p>



<ul class="wp-block-list"><li><strong>Back-end web developers</strong> make on average <strong>$96,545</strong> (median: $97,522). </li><li><strong>Front-end web developers</strong> make on average <strong>$89,683</strong> (median: $90,499) per year. </li><li><strong>General web developers</strong> make on average <strong>$88,054</strong> (median: $90,000) per year. </li></ul>



<p class="wp-block-paragraph">Here&#8217;s the income of a front-end web developer for comparison:</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="569" src="https://blog.finxter.com/wp-content/uploads/2022/04/image-183-1024x569.png" alt="Average Income of a Front-End Web Developer in the US by Source" class="wp-image-316598" srcset="https://blog.finxter.com/wp-content/uploads/2022/04/image-183-1024x569.png 1024w, https://blog.finxter.com/wp-content/uploads/2022/04/image-183-300x167.png 300w, https://blog.finxter.com/wp-content/uploads/2022/04/image-183-768x427.png 768w, https://blog.finxter.com/wp-content/uploads/2022/04/image-183.png 1027w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption><strong>Figure</strong>: Average Income of a <a href="https://blog.finxter.com/front-end-web-developer-income-and-opportunity/" data-type="post" data-id="316587" target="_blank" rel="noreferrer noopener">Front-End Web Developer</a> in the US by Source.</figcaption></figure></div>



<p class="wp-block-paragraph">Here&#8217;s the income of a general web developer for comparison:</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="867" height="540" src="https://blog.finxter.com/wp-content/uploads/2022/04/image-175.png" alt="Average and Median Income of a Web Developer in the US by Source" class="wp-image-314663" srcset="https://blog.finxter.com/wp-content/uploads/2022/04/image-175.png 867w, https://blog.finxter.com/wp-content/uploads/2022/04/image-175-300x187.png 300w, https://blog.finxter.com/wp-content/uploads/2022/04/image-175-768x478.png 768w" sizes="auto, (max-width: 867px) 100vw, 867px" /><figcaption><strong>Figure</strong>: Average Income of a <a href="https://blog.finxter.com/web-developer-income-and-opportunity/" data-type="post" data-id="314633" target="_blank" rel="noreferrer noopener">Web Developer</a> in the US by Source.</figcaption></figure></div>



<p class="wp-block-paragraph">If you need the raw data for the income of a back-end web developer in the US, this is it:</p>



<figure class="wp-block-table is-style-stripes"><table><thead><tr><th>Source</th><th>Average Income</th></tr></thead><tbody><tr><td><a href="https://www.glassdoor.com/Salaries/back-end-web-developer-salary-SRCH_KO0,22.htm" data-type="URL" data-id="https://www.glassdoor.com/Salaries/back-end-web-developer-salary-SRCH_KO0,22.htm" target="_blank" rel="noreferrer noopener">Glassdoor.com</a></td><td>$94,455</td></tr><tr><td><a href="https://www.ziprecruiter.com/Salaries/BACK-END-WEB-Developer-Salary" data-type="URL" data-id="https://www.ziprecruiter.com/Salaries/BACK-END-WEB-Developer-Salary" target="_blank" rel="noreferrer noopener">ZipRecruiter.com</a></td><td>$83,770</td></tr><tr><td><a href="https://kinsta.com/blog/backend-developer-salary/" data-type="URL" data-id="https://kinsta.com/blog/backend-developer-salary/" target="_blank" rel="noreferrer noopener">Kinsta.com</a></td><td>$80,713</td></tr><tr><td><a href="https://www.indeed.com/career/back-end-developer/salaries" data-type="URL" data-id="https://www.indeed.com/career/back-end-developer/salaries" target="_blank" rel="noreferrer noopener">Indeed.com</a></td><td>$97,522</td></tr><tr><td><a href="https://www.salary.com/research/salary/recruiting/back-end-developer-salary" data-type="URL" data-id="https://www.salary.com/research/salary/recruiting/back-end-developer-salary" target="_blank" rel="noreferrer noopener">Salary.com</a></td><td>$102,958</td></tr><tr><td><a href="https://www.comparably.com/salaries/salaries-for-back-end-web-developer" data-type="URL" data-id="https://www.comparably.com/salaries/salaries-for-back-end-web-developer" target="_blank" rel="noreferrer noopener">Comparably.com</a></td><td>$110,000</td></tr><tr><td><a href="https://www.payscale.com/research/US/Job=Back_End_Developer%2F_Engineer/Salary" data-type="URL" data-id="https://www.payscale.com/research/US/Job=Back_End_Developer%2F_Engineer/Salary" target="_blank" rel="noreferrer noopener">PayScale.com</a></td><td>$87,009</td></tr><tr><td><a href="https://www.talent.com/salary?job=senior+backend+developer" data-type="URL" data-id="https://www.talent.com/salary?job=senior+backend+developer" target="_blank" rel="noreferrer noopener">Talent.com</a></td><td>$140,000</td></tr><tr><td><a href="https://arc.dev/salaries/back-end-developers" data-type="URL" data-id="https://arc.dev/salaries/back-end-developers" target="_blank" rel="noreferrer noopener">Arc.dev</a></td><td>$72,484</td></tr></tbody></table><figcaption><strong>Table</strong>: Average Income of a Back-end Web Developer in the US by Source.</figcaption></figure>



<p class="wp-block-paragraph">Let&#8217;s have a look at the hourly rate of Back-end Web Developers next!</p>



<h2 class="wp-block-heading" id="hourly-rate">Hourly Rate</h2>



<p class="wp-block-paragraph">Back-end Web Developers also work on freelancing platforms such as <a rel="noreferrer noopener" href="https://blog.finxter.com/upwork-vs-fiverr/" data-type="post" data-id="11152" target="_blank">Upwork or Fiverr</a>.</p>



<ul class="wp-block-list"><li><strong>Related Article</strong>: <a href="https://blog.finxter.com/best-python-freelancer-platforms/" data-type="post" data-id="3382" target="_blank" rel="noreferrer noopener">What&#8217;s the best freelancing platform?</a></li></ul>



<p class="has-global-color-8-background-color has-background wp-block-paragraph">If you decide to go the route as a freelance Back-End Web Developer, you can expect to make between $25 and $50 per hour on Upwork (<a href="https://www.upwork.com/ab/profiles/search/?nss=90&amp;q=Back-end%20web%20developer" data-type="URL" data-id="https://www.upwork.com/ab/profiles/search/?nss=90&amp;q=Back-end%20web%20developer" target="_blank" rel="noreferrer noopener">source</a>). Assuming an annual workload of 2000 hours, you can expect to make between $50,000 and $100,000 per year.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="768" height="1024" src="https://blog.finxter.com/wp-content/uploads/2022/04/image-188-768x1024.png" alt="" class="wp-image-318808" srcset="https://blog.finxter.com/wp-content/uploads/2022/04/image-188-768x1025.png 768w, https://blog.finxter.com/wp-content/uploads/2022/04/image-188-225x300.png 225w, https://blog.finxter.com/wp-content/uploads/2022/04/image-188.png 781w" sizes="auto, (max-width: 768px) 100vw, 768px" /></figure></div>



<p class="wp-block-paragraph">This is one of the rare cases where it may be better to work as an employee compared to working as a freelancer. The reason is that only few companies would give external freelancers the keys to their &#8220;back-end&#8221; kingdoms! </p>



<p class="wp-block-paragraph">It is much easier for a business to hire an external freelancer for front-end user interfaces (CSS, HTML, JavaScript) than to hire a freelancer to handle proprietary and privacy-sensitive customer data, for instance.</p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a1.png" alt="⚡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Note</strong>: Do you want to create your own thriving coding business online? Feel free to check out our <a rel="noreferrer noopener" href="https://blog.finxter.com/become-python-freelancer-course/" data-type="page" data-id="2072" target="_blank">freelance developer course</a> &#8212; the world&#8217;s #1 best-selling freelance developer course that specifically shows you how to succeed on Upwork and Fiverr!</p>



<div class="wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-fe48e5de wp-block-buttons-is-layout-flex">
<div class="wp-block-button has-custom-width wp-block-button__width-50 is-style-fill"><a class="wp-block-button__link has-accent-background-color has-background" href="https://blog.finxter.com/become-python-freelancer-course/" target="_blank" rel="noreferrer noopener">Join Freelancer Course</a></div>
</div>



<h2 class="wp-block-heading" id="industry-demand">Industry Demand</h2>



<p class="wp-block-paragraph">But is there enough demand? Let&#8217;s have a look at Google trends to find out how interest evolves over time (<a href="https://trends.google.com/trends/explore?date=all&amp;q=Back-end%20Web%20Developer" data-type="URL" data-id="https://trends.google.com/trends/explore?date=all&amp;q=Back-end%20Web%20Developer" target="_blank" rel="noreferrer noopener">source</a>):</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="471" src="https://blog.finxter.com/wp-content/uploads/2022/04/image-189-1024x471.png" alt="" class="wp-image-318812" srcset="https://blog.finxter.com/wp-content/uploads/2022/04/image-189-1024x471.png 1024w, https://blog.finxter.com/wp-content/uploads/2022/04/image-189-300x138.png 300w, https://blog.finxter.com/wp-content/uploads/2022/04/image-189-768x353.png 768w, https://blog.finxter.com/wp-content/uploads/2022/04/image-189-1536x707.png 1536w, https://blog.finxter.com/wp-content/uploads/2022/04/image-189.png 1752w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure></div>



<p class="wp-block-paragraph">This graphic shows that the <strong>supply</strong> of people interested in learning web development has increased since 2013. </p>



<p class="wp-block-paragraph">However, if you look at the <strong>demand</strong> for web developers&#8212;it has exploded in recent years!</p>



<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><a href="https://trends.google.com/trends/explore?date=all&amp;q=hire%20backend%20developer" target="_blank" rel="noopener"><img loading="lazy" decoding="async" src="https://blog.finxter.com/wp-content/uploads/2022/04/image-190-1024x459.png" alt="" class="wp-image-318813" width="700" height="313" srcset="https://blog.finxter.com/wp-content/uploads/2022/04/image-190-1024x459.png 1024w, https://blog.finxter.com/wp-content/uploads/2022/04/image-190-300x135.png 300w, https://blog.finxter.com/wp-content/uploads/2022/04/image-190-768x344.png 768w, https://blog.finxter.com/wp-content/uploads/2022/04/image-190-1536x689.png 1536w, https://blog.finxter.com/wp-content/uploads/2022/04/image-190.png 1755w" sizes="auto, (max-width: 700px) 100vw, 700px" /></a><figcaption>source</figcaption></figure></div>



<p class="wp-block-paragraph">As in any market, if demand outstrips supply, prices of this resource tend to increase. That&#8217;s why it can be a super lucrative decision to become a backend web developer in the 2020s, 2030s, and beyond.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="$120/h on Upwork as a Backend Web Developer" width="937" height="527" src="https://www.youtube.com/embed/SVw9SROOKa0?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<h2 class="wp-block-heading" id="learning-path-skills-and-education-requirements">Learning Path, Skills, and Education Requirements</h2>



<p class="wp-block-paragraph">Do you want to become a Back-end Web Developer? </p>



<p class="wp-block-paragraph">Here&#8217;s a <strong>step-by-step learning path</strong> I&#8217;d propose to get started with the most crucial back-end web developments tools and fundamental skills (master basics first! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f393.png" alt="🎓" class="wp-smiley" style="height: 1em; max-height: 1em;" />):</p>



<ul class="wp-block-list"><li><strong>Step 1</strong>: <a href="https://www.google.com/search?q=Learn+Distributed+Systems" data-type="URL" data-id="https://www.google.com/search?q=Learn+Distributed+Systems" target="_blank" rel="noreferrer noopener">Learn Distributed Systems</a> (~10h)</li><li><strong>Step 2</strong>: <a href="https://www.google.com/search?q=Learn+Databases+%2526+SQL" data-type="URL" data-id="https://www.google.com/search?q=Learn+Databases+%2526+SQL" target="_blank" rel="noreferrer noopener">Learn Databases &amp; SQL</a> (~10h)</li><li><strong>Step 3</strong>: <a href="https://blog.finxter.com/email-academy/" data-type="page" data-id="12278" target="_blank" rel="noreferrer noopener">Learn Python</a> (~10h)</li><li><strong>Step 4</strong>: <a href="https://www.google.com/search?q=Learn+Flask" data-type="URL" data-id="https://www.google.com/search?q=Learn+Flask" target="_blank" rel="noreferrer noopener">Learn Flask</a> (~10h)</li><li><strong>Step 5</strong>: <a href="https://www.google.com/search?q=Learn+JavaScript" data-type="URL" data-id="https://www.google.com/search?q=Learn+JavaScript" target="_blank" rel="noreferrer noopener">Learn JavaScript</a> (~10h)</li><li><strong>Step 6</strong>: <a href="https://www.google.com/search?q=Learn+Node.js" data-type="URL" data-id="https://www.google.com/search?q=Learn+Node.js" target="_blank" rel="noreferrer noopener">Learn Node.js</a> (~10h)</li></ul>



<p class="wp-block-paragraph">You can find many additional computer science courses on the <a rel="noreferrer noopener" href="https://academy.finxter.com/" data-type="URL" data-id="https://academy.finxter.com/" target="_blank">Finxter Computer Science Academy</a> (flatrate model).</p>



<p class="wp-block-paragraph">But don&#8217;t wait too long to acquire practical experience! </p>



<p class="wp-block-paragraph">Even if you have few skills, it&#8217;s best to get started as a <strong>freelance developer</strong> and learn as you work on real projects for clients &#8212; <strong>earning income as you learn</strong> and gaining motivation through real-world feedback.</p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Tip</strong>: An excellent start to turbo-charge your freelancing career (earning more in less time) is our <a rel="noreferrer noopener" href="https://blog.finxter.com/become-python-freelancer-course/" data-type="page" data-id="2072" target="_blank">Finxter Freelancer Course</a>. The goal of the course is to pay for itself! </p>



<h2 class="wp-block-heading" id="related-video">Related Video</h2>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Find &#x267e; Infinite Opportunity in the Metaverse as a Freelance Coder ... to Tom" width="937" height="527" src="https://www.youtube.com/embed/ZS_pM7Yp_Xk?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph">You can find more job descriptions for coders, programmers, and computer scientists in our detailed overview guide:</p>



<ul class="wp-block-list"><li><a rel="noreferrer noopener" href="https://blog.finxter.com/get-your-job-in-it-overview/" data-type="post" data-id="186255" target="_blank">Get Your Job in IT [Overview]</a></li></ul>



<h2 class="wp-block-heading">Web Developer Comparisons</h2>



<h3 class="wp-block-heading">web developer vs web designer</h3>



<p class="has-global-color-8-background-color has-background wp-block-paragraph">A <strong>web developer</strong> creates the core functionality of a website whereas a <strong>web designer</strong> is a graphic artist responsible for designing the layout, usability, and visual appearance of a website. A successful web designer often has outstanding skills in creativity, graphic design, and technical understanding.</p>



<ul class="wp-block-list"><li>The average income of a <strong>web developer</strong> in the US is <strong><a href="https://blog.finxter.com/web-developer-income-and-opportunity/" data-type="post" data-id="314633" target="_blank" rel="noreferrer noopener">$88,054</a></strong> per year.</li><li>The average income of a <strong>web designer</strong> in the US is <strong><a rel="noreferrer noopener" href="https://www.talent.com/salary?job=web+designer" data-type="URL" data-id="https://www.talent.com/salary?job=web+designer" target="_blank">$60,000</a></strong> per year.</li></ul>



<h3 class="wp-block-heading">web developer vs front-end developer</h3>



<p class="has-global-color-8-background-color has-background wp-block-paragraph">A <strong>web developer</strong> creates the core functionality of a website whereas a <strong>front-end developer</strong> is concerned with the functionality of the user interface on the browser. Compared to a web designer, a front-end developer is more concerned with the functionality and user experience (e.g., implementing buttons and user inputs functionality rather than designing them).</p>



<ul class="wp-block-list"><li>The average income of a <strong>web developer</strong> in the US is <strong>$88,054</strong> per year.</li><li>The average income of a<strong> front-end developer</strong> in the US is <strong><strong><strong>$89,683</strong></strong></strong> per year.</li></ul>



<h3 class="wp-block-heading">web developer vs software developer (programmer, software engineer)</h3>



<p class="has-global-color-8-background-color has-background wp-block-paragraph">A <strong>web developer</strong> specializes in web applications such as websites, e-commerce, and mobile apps, whereas a <strong>software developer</strong> (engineer) specializes in creating software for the underlying operating system, network, or platform. </p>



<p class="wp-block-paragraph">All web developers are software developers but not all software developers are web developers!</p>



<ul class="wp-block-list"><li>The average income of a <strong>web developer</strong> in the US is <strong>$88,054</strong> per year.</li><li>The average income of a <strong>software developer</strong> in the US is <strong><a href="https://money.usnews.com/careers/best-jobs/software-developer/salary" data-type="URL" data-id="https://money.usnews.com/careers/best-jobs/software-developer/salary" target="_blank" rel="noreferrer noopener">$110,140</a></strong> per year.</li></ul>



<h3 class="wp-block-heading">web developer vs data analyst</h3>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><strong>Web developers</strong> create websites and web apps for companies whereas <strong><a href="https://blog.finxter.com/freelance-data-science/" data-type="post" data-id="16658" target="_blank" rel="noreferrer noopener">data scientists</a></strong> (data analysts) draw insights from structured and unstructured data using a multitude of tools such as <a href="https://blog.finxter.com/machine-learning-engineer-income-and-opportunity/" data-type="post" data-id="306050" target="_blank" rel="noreferrer noopener">machine learning</a>, visualization, and statistical analysis. </p>



<ul class="wp-block-list"><li>The average income of a <strong>web developer</strong> in the US is <strong>$88,054</strong> per year.</li><li>The average income of a <strong>data scientist</strong> in the US is <strong><strong><a rel="noreferrer noopener" href="https://blog.finxter.com/freelance-data-science/" data-type="URL" data-id="https://blog.finxter.com/freelance-data-science/" target="_blank">$122,700</a></strong></strong> per year.</li></ul>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="How Much Can You Earn as a Data Science Freelancer? (It&#039;s Between $0 and $400,000 per Year)" width="937" height="527" src="https://www.youtube.com/embed/zj2coGmyLOQ?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<h2 class="wp-block-heading" id="related-income-of-professional-developers">Related Income of Professional Developers</h2>



<p class="wp-block-paragraph">The following statistic shows the self-reported income from 9,649 US-based professional developers (<a rel="noreferrer noopener" href="https://insights.stackoverflow.com/survey/2021#salary-comp-total-usa" data-type="URL" data-id="https://insights.stackoverflow.com/survey/2021#salary-comp-total-usa" target="_blank">source</a>).</p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> The average annual income of professional developers in the US is between <strong>$70,000</strong> and <strong>$177,500</strong> for various programming languages.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="641" height="1024" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-48-641x1024.png" alt="" class="wp-image-163242" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-48-641x1024.png 641w, https://blog.finxter.com/wp-content/uploads/2022/01/image-48-188x300.png 188w, https://blog.finxter.com/wp-content/uploads/2022/01/image-48-768x1227.png 768w, https://blog.finxter.com/wp-content/uploads/2022/01/image-48.png 876w" sizes="auto, (max-width: 641px) 100vw, 641px" /></figure></div>



<p class="wp-block-paragraph"><strong>Question</strong>: <em>What is your current total compensation (salary, bonuses, and perks, before taxes and deductions)? Please enter a whole number in the box below, without any punctuation. If you are paid hourly, please estimate an equivalent weekly, monthly, or yearly salary.</em> (<a href="https://insights.stackoverflow.com/survey/2021#most-loved-dreaded-and-wanted-language-love-dread" data-type="URL" data-id="https://insights.stackoverflow.com/survey/2021#most-loved-dreaded-and-wanted-language-love-dread" target="_blank" rel="noreferrer noopener">source</a>)</p>



<p class="wp-block-paragraph">The following statistic compares the self-reported income from 46,693 professional programmers as conducted by StackOverflow.</p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> The average annual income of professional developers worldwide (US and non-US) is between <strong>$33,000</strong> and <strong>$95,000</strong> for various programming languages. </p>



<p class="wp-block-paragraph">Here&#8217;s a screenshot of a more detailed overview of each programming language considered in the report:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="350" height="1024" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-41-350x1024.png" alt="" class="wp-image-163206" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-41-350x1024.png 350w, https://blog.finxter.com/wp-content/uploads/2022/01/image-41-103x300.png 103w, https://blog.finxter.com/wp-content/uploads/2022/01/image-41-525x1536.png 525w, https://blog.finxter.com/wp-content/uploads/2022/01/image-41-701x2048.png 701w, https://blog.finxter.com/wp-content/uploads/2022/01/image-41.png 745w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>



<p class="wp-block-paragraph">Here&#8217;s what different database professionals earn:</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="893" height="878" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-42.png" alt="" class="wp-image-163220" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-42.png 893w, https://blog.finxter.com/wp-content/uploads/2022/01/image-42-300x295.png 300w, https://blog.finxter.com/wp-content/uploads/2022/01/image-42-768x755.png 768w" sizes="auto, (max-width: 893px) 100vw, 893px" /></figure></div>



<p class="wp-block-paragraph">Here&#8217;s an overview of different cloud solutions experts:</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="848" height="433" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-43.png" alt="" class="wp-image-163225" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-43.png 848w, https://blog.finxter.com/wp-content/uploads/2022/01/image-43-300x153.png 300w, https://blog.finxter.com/wp-content/uploads/2022/01/image-43-768x392.png 768w" sizes="auto, (max-width: 848px) 100vw, 848px" /></figure></div>



<p class="wp-block-paragraph">Here&#8217;s what professionals in web frameworks earn:</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="740" height="1024" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-44-740x1024.png" alt="" class="wp-image-163226" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-44-740x1024.png 740w, https://blog.finxter.com/wp-content/uploads/2022/01/image-44-217x300.png 217w, https://blog.finxter.com/wp-content/uploads/2022/01/image-44.png 755w" sizes="auto, (max-width: 740px) 100vw, 740px" /></figure></div>



<p class="wp-block-paragraph">There are many other interesting frameworks&#8212;that pay well!</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="816" height="757" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-45.png" alt="" class="wp-image-163229" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-45.png 816w, https://blog.finxter.com/wp-content/uploads/2022/01/image-45-300x278.png 300w, https://blog.finxter.com/wp-content/uploads/2022/01/image-45-768x712.png 768w" sizes="auto, (max-width: 816px) 100vw, 816px" /></figure></div>



<p class="wp-block-paragraph">Look at those tools:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="793" height="825" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-46.png" alt="" class="wp-image-163230" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-46.png 793w, https://blog.finxter.com/wp-content/uploads/2022/01/image-46-288x300.png 288w, https://blog.finxter.com/wp-content/uploads/2022/01/image-46-768x799.png 768w" sizes="auto, (max-width: 793px) 100vw, 793px" /></figure>



<p class="wp-block-paragraph">Okay, but what do you need to do to get there? What are the skill requirements and qualifications to make you become a professional developer in the area you desire?</p>



<p class="wp-block-paragraph">Let&#8217;s find out next!</p>



<h2 class="wp-block-heading" id="general-qualifications-of-professionals">General Qualifications of Professionals</h2>



<p class="wp-block-paragraph">StackOverflow performs an annual survey asking professionals, coders, developers, researchers, and engineers various questions about their background and job satisfaction on their website.</p>



<p class="wp-block-paragraph">Interestingly, when aggregating the data of the developers&#8217; educational background, a good three quarters have an academic background.</p>



<p class="wp-block-paragraph">Here&#8217;s the question asked by StackOverflow (<a href="https://insights.stackoverflow.com/survey/2021#education-ed-level-prof" data-type="URL" data-id="https://insights.stackoverflow.com/survey/2021#education-ed-level-prof" target="_blank" rel="noreferrer noopener">source</a>): </p>



<p class="wp-block-paragraph"><strong>Which of the following best describes the highest level of formal education that you’ve completed?</strong></p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="589" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-37-1024x589.png" alt="" class="wp-image-163017" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-37-1024x589.png 1024w, https://blog.finxter.com/wp-content/uploads/2022/01/image-37-300x173.png 300w, https://blog.finxter.com/wp-content/uploads/2022/01/image-37-768x442.png 768w, https://blog.finxter.com/wp-content/uploads/2022/01/image-37.png 1057w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure></div>



<p class="wp-block-paragraph">However, if you don&#8217;t have a formal degree, don&#8217;t fear! Many of the respondents with degrees don&#8217;t have a degree in their field&#8212;so it may not be of much value for their coding careers anyways. </p>



<p class="wp-block-paragraph">Also, about one out of four don&#8217;t have a formal degree and still succeeds in their field! You certainly don&#8217;t need a degree if you&#8217;re committed to your own success!</p>



<h2 class="wp-block-heading" id="freelancing-vs-employment-status">Freelancing vs Employment Status</h2>



<p class="wp-block-paragraph">The percentage of <a href="https://blog.finxter.com/freelance-developer/" data-type="post" data-id="5912" target="_blank" rel="noreferrer noopener">freelance developers</a> increases steadily. The fraction of freelance developers has already reached 11.21%! </p>



<p class="wp-block-paragraph">This indicates that more and more work will be done in a more flexible work environment&#8212;and fewer and fewer companies and clients want to hire inflexible talent. </p>



<p class="wp-block-paragraph">Here are the stats from the StackOverflow developer survey (<a rel="noreferrer noopener" href="https://insights.stackoverflow.com/survey/2021#employment-employment-prof" data-type="URL" data-id="https://insights.stackoverflow.com/survey/2021#employment-employment-prof" target="_blank">source</a>):</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="780" height="538" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-47.png" alt="" class="wp-image-163234" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-47.png 780w, https://blog.finxter.com/wp-content/uploads/2022/01/image-47-300x207.png 300w, https://blog.finxter.com/wp-content/uploads/2022/01/image-47-768x530.png 768w" sizes="auto, (max-width: 780px) 100vw, 780px" /></figure></div>



<p class="wp-block-paragraph">Do you want to become a professional freelance developer and earn some money on the side or as your primary source of income?</p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><strong>Resource</strong>: Check out our <a rel="noreferrer noopener" href="https://blog.finxter.com/become-python-freelancer-course/" data-type="URL" data-id="https://blog.finxter.com/become-python-freelancer-course/" target="_blank">freelance developer course</a>&#8212;it&#8217;s the best freelance developer course in the world with the highest student success rate in the industry!</p>



<div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex">
<div class="wp-block-button aligncenter has-custom-width wp-block-button__width-100"><a class="wp-block-button__link" href="https://blog.finxter.com/become-python-freelancer-course/" target="_blank" rel="noreferrer noopener">Become Freelance Developer (Course)</a></div>
</div>



<h2 class="wp-block-heading" id="other-programming-languages-used-by-professional-developers">Other Programming Languages Used by Professional Developers</h2>



<p class="wp-block-paragraph">The StackOverflow developer survey collected 58000 responses about the following question (<a href="https://insights.stackoverflow.com/survey/2021#most-popular-technologies-language-prof" data-type="URL" data-id="https://insights.stackoverflow.com/survey/2021#most-popular-technologies-language-prof" target="_blank" rel="noreferrer noopener">source</a>):</p>



<p class="wp-block-paragraph"><em><strong>Which programming, scripting, and markup languages have you done extensive development work in over the past year, and which do you want to work in over the next year?</strong></em></p>



<p class="wp-block-paragraph">These are the languages you want to focus on when starting out as a coder:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="372" height="1024" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-38-372x1024.png" alt="" class="wp-image-163026" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-38-372x1024.png 372w, https://blog.finxter.com/wp-content/uploads/2022/01/image-38-109x300.png 109w, https://blog.finxter.com/wp-content/uploads/2022/01/image-38-768x2114.png 768w, https://blog.finxter.com/wp-content/uploads/2022/01/image-38-558x1536.png 558w, https://blog.finxter.com/wp-content/uploads/2022/01/image-38-744x2048.png 744w, https://blog.finxter.com/wp-content/uploads/2022/01/image-38.png 780w" sizes="auto, (max-width: 372px) 100vw, 372px" /></figure>



<p class="wp-block-paragraph">And don&#8217;t worry&#8212;if you feel stuck or struggle with a nasty bug. We all go through it. Here&#8217;s what SO survey respondents and professional developers do when they&#8217;re stuck:</p>



<p class="wp-block-paragraph"><strong>What do you do when you get stuck on a problem? Select all that apply. </strong>(<a href="https://insights.stackoverflow.com/survey/2021#most-loved-dreaded-and-wanted-language-love-dread" data-type="URL" data-id="https://insights.stackoverflow.com/survey/2021#most-loved-dreaded-and-wanted-language-love-dread" target="_blank" rel="noreferrer noopener">source</a>)</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="846" height="684" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-39.png" alt="" class="wp-image-163044" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-39.png 846w, https://blog.finxter.com/wp-content/uploads/2022/01/image-39-300x243.png 300w, https://blog.finxter.com/wp-content/uploads/2022/01/image-39-768x621.png 768w" sizes="auto, (max-width: 846px) 100vw, 846px" /></figure>



<h2 class="wp-block-heading" id="related-tutorials">Related Tutorials</h2>



<p class="wp-block-paragraph">To get started with some of the fundamentals and industry concepts, feel free to check out these articles:</p>



<ul class="wp-block-list"><li><a rel="noreferrer noopener" href="https://blog.finxter.com/freelance-developer/" data-type="URL" data-id="https://blog.finxter.com/freelance-developer/" target="_blank">Freelance Developer – How to Code From Home and Earn Six Figures [Industry Report]</a></li><li><a rel="noreferrer noopener" href="https://blog.finxter.com/how-to-earn-1000-on-the-side-as-a-python-freelancer-a-step-by-step-tutorial/" data-type="URL" data-id="https://blog.finxter.com/how-to-earn-1000-on-the-side-as-a-python-freelancer-a-step-by-step-tutorial/" target="_blank">How to Become a Python Freelancer—and Earn $1,000 on the Side? [A Step-by-Step Tutorial]</a></li><li><a rel="noreferrer noopener" href="https://blog.finxter.com/how-adam-earns-5000-per-month-as-a-python-freelancer-on-upwork-month-4/" data-type="URL" data-id="https://blog.finxter.com/how-adam-earns-5000-per-month-as-a-python-freelancer-on-upwork-month-4/" target="_blank">How Adam Earns $5000 per Month as a Python Freelancer on Upwork [Month 4]</a></li><li><a rel="noreferrer noopener" href="https://en.wikipedia.org/wiki/Front-end_web_development" data-type="URL" data-id="https://en.wikipedia.org/wiki/Front-end_web_development" target="_blank">Web Development Wikipedia</a></li></ul>



<h2 class="wp-block-heading">Where to Go From Here?</h2>



<p class="wp-block-paragraph">Enough theory. Let’s get some practice!</p>



<p class="wp-block-paragraph">Coders get paid six figures and more because they can solve problems more effectively using machine intelligence and automation. </p>



<p class="wp-block-paragraph">To become more successful in coding, solve more real problems for real people. That’s how you polish the skills you really need in practice. After all, what’s the use of learning theory that nobody ever needs?</p>



<p class="wp-block-paragraph"><strong>You build high-value coding skills by working on practical coding projects!</strong></p>



<p class="wp-block-paragraph">Do you want to stop learning with toy projects and focus on practical code projects that earn you money and solve real problems for people?</p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> If your answer is <strong><em>YES!</em></strong>, consider becoming a <a rel="noreferrer noopener" href="https://blog.finxter.com/become-python-freelancer-course/" data-type="page" data-id="2072" target="_blank">Python freelance developer</a>! It’s the best way of approaching the task of improving your Python skills—even if you are a complete beginner.</p>



<p class="wp-block-paragraph">If you just want to learn about the freelancing opportunity, feel free to watch my free webinar <a rel="noreferrer noopener" href="https://blog.finxter.com/webinar-freelancer/" target="_blank">“How to Build Your High-Income Skill Python”</a> and learn how I grew my coding business online and how you can, too—from the comfort of your own home.</p>



<p class="wp-block-paragraph"><a href="https://blog.finxter.com/webinar-freelancer/" target="_blank" rel="noreferrer noopener">Join the free webinar now!</a></p>



<h2 class="wp-block-heading">Resources</h2>



<p class="wp-block-paragraph">[1] We used the following code to create the income graphic:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">import matplotlib.pyplot as plt
import numpy as np
import math

data = [94455,
        83770,
        80713,
        97522,
        102958,
        110000,
        87009,
        140000,
        72484]

labels = ['Glassdoor.com',
          'ZipRecruiter.com',
          'Kinsta.com',
          'Indeed.com',
          'Salary.com',
          'Comparably.com',
          'PayScale.com',
          'Talent.com',
          'Arc.dev']

median = sorted(data)[math.ceil(len(data)/2)]
average = sum(data)/len(data)
print(median, average)
n = len(data)

plt.plot(range(n), [median] * n, color='black', label='Median: $' + str(int(median)))
plt.plot(range(n), [average] * n, '--', color='red', label='Average: $' + str(int(average)))
plt.bar(range(len(data)), data)
plt.xticks(range(len(data)), labels, rotation='vertical', position = (0,0.45), color='white', weight='bold')
plt.ylabel('Average Income ($)')
plt.title('Back Web Developer Annual Income - by Finxter')
plt.legend()
plt.show()
        
</pre>



<p class="wp-block-paragraph">You can check out our <a rel="noreferrer noopener" href="https://blog.finxter.com/matplotlib-full-guide/" data-type="post" data-id="20151" target="_blank">article on Matplotlib</a> to better understand the code.</p>



<h2 class="wp-block-heading">Creating Frontends in the Crypto Space</h2>



<p class="wp-block-paragraph">In the following video, Finxter Mikio shows how to create a front-end of a crypto-related website using Python Brownie:</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Smart Contract - Create Web Frontend using Python Brownie react-mix" width="937" height="527" src="https://www.youtube.com/embed/zVJStyepjhw?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph">If you&#8217;re interested in creating crypto front-end projects, also check out our course at the <a href="https://academy.finxter.com/university/creating-an-nft-marketplace/" data-type="URL" data-id="https://academy.finxter.com/university/creating-an-nft-marketplace/" target="_blank" rel="noreferrer noopener">Finxter Computer Science Academy</a>:</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><a href="https://academy.finxter.com/university/creating-an-nft-marketplace/" target="_blank" rel="noopener"><img loading="lazy" decoding="async" width="363" height="650" src="https://blog.finxter.com/wp-content/uploads/2022/02/image-21.png" alt="" class="wp-image-170334" srcset="https://blog.finxter.com/wp-content/uploads/2022/02/image-21.png 363w, https://blog.finxter.com/wp-content/uploads/2022/02/image-21-168x300.png 168w" sizes="auto, (max-width: 363px) 100vw, 363px" /></a></figure></div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>RavenDB Developer &#8211; Income and Opportunity</title>
		<link>https://blog.finxter.com/ravendb-developer-income-and-opportunity/</link>
		
		<dc:creator><![CDATA[Chris]]></dc:creator>
		<pubDate>Mon, 07 Mar 2022 09:44:31 +0000</pubDate>
				<category><![CDATA[Coding Business]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Freelancing]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Web Development]]></category>
		<guid isPermaLink="false">https://blog.finxter.com/?p=227132</guid>

					<description><![CDATA[Annual Income How much does a RavenDB Developer make per year? The average annual income of a RavenDB Developer is hard to estimate given the limited data availability. However, RavenDB developers are NoSQL developers who earn between $101,000 (25th percentile) and $130,500 (75th percentile) with an average of $119,105 per year in the US according ... <a title="RavenDB Developer &#8211; Income and Opportunity" class="read-more" href="https://blog.finxter.com/ravendb-developer-income-and-opportunity/" aria-label="Read more about RavenDB Developer &#8211; Income and Opportunity">Read more</a>]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading" id="annual-income">Annual Income</h2>



<p class="wp-block-paragraph">How much does a RavenDB Developer make per year?</p>



<p class="wp-block-paragraph">The average annual income of a <strong>RavenDB Developer</strong> is hard to estimate given the limited data availability. However, RavenDB developers are NoSQL developers who earn between <strong>$101,000</strong> (25th percentile) and <strong>$130,500</strong> (75th percentile) with an average of <strong>$119,105</strong> per year in the US according to Ziprecruiter (<a rel="noreferrer noopener" href="https://www.ziprecruiter.com/Salaries/Nosql-Developer-Salary" data-type="URL" data-id="https://www.ziprecruiter.com/Salaries/Nosql-Developer-Salary" target="_blank">source</a>).</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="699" height="301" src="https://blog.finxter.com/wp-content/uploads/2022/03/image-56.png" alt="" class="wp-image-227188" srcset="https://blog.finxter.com/wp-content/uploads/2022/03/image-56.png 699w, https://blog.finxter.com/wp-content/uploads/2022/03/image-56-300x129.png 300w" sizes="auto, (max-width: 699px) 100vw, 699px" /><figcaption><a href="https://www.ziprecruiter.com/Salaries/Nosql-Developer-Salary" data-type="URL" data-id="https://www.ziprecruiter.com/Salaries/Nosql-Developer-Salary" target="_blank" rel="noreferrer noopener">source</a></figcaption></figure></div>



<p class="wp-block-paragraph">Top earners focusing on RavenDB development can make $155,500 and more!</p>



<p class="wp-block-paragraph">Let&#8217;s have a look at the hourly rate of RavenDB Developers next!</p>



<h2 class="wp-block-heading" id="hourly-rate">Hourly Rate</h2>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Managing NoSQL Databases for $64/h on Upwork as a SysAdmin Freelancer" width="937" height="527" src="https://www.youtube.com/embed/BqGiqoLmxnY?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph">RavenDB Developers are well-paid on freelancing platforms such as <a href="https://blog.finxter.com/upwork-vs-fiverr/" data-type="post" data-id="11152" target="_blank" rel="noreferrer noopener">Upwork or Fiverr</a>.</p>



<ul class="wp-block-list"><li><strong>Related Article</strong>: <a href="https://blog.finxter.com/best-python-freelancer-platforms/" data-type="post" data-id="3382" target="_blank" rel="noreferrer noopener">What&#8217;s the best freelancing platform?</a></li></ul>



<p class="has-global-color-8-background-color has-background wp-block-paragraph">If you decide to go the route as a freelance RavenDB Developer, you can expect to make between $20 and $60 per hour on Upwork (<a rel="noreferrer noopener" href="https://www.upwork.com/ab/profiles/search/?nss=90&amp;q=RavenDB" target="_blank">source</a>). Assuming an annual workload of 2000 hours, you can expect to make between $40,000 and $120,000 per year.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="749" height="1024" src="https://blog.finxter.com/wp-content/uploads/2022/03/image-57-749x1024.png" alt="" class="wp-image-227193" srcset="https://blog.finxter.com/wp-content/uploads/2022/03/image-57-749x1024.png 749w, https://blog.finxter.com/wp-content/uploads/2022/03/image-57-219x300.png 219w, https://blog.finxter.com/wp-content/uploads/2022/03/image-57-768x1050.png 768w, https://blog.finxter.com/wp-content/uploads/2022/03/image-57.png 781w" sizes="auto, (max-width: 749px) 100vw, 749px" /></figure></div>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a1.png" alt="⚡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Note</strong>: Do you want to create your own thriving coding business online? Feel free to check out our <a href="https://blog.finxter.com/become-python-freelancer-course/" data-type="page" data-id="2072" target="_blank" rel="noreferrer noopener">freelance developer course</a> &#8212; the world&#8217;s #1 best-selling freelance developer course that specifically shows you how to succeed on Upwork and Fiverr!</p>



<div class="wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-fe48e5de wp-block-buttons-is-layout-flex">
<div class="wp-block-button has-custom-width wp-block-button__width-50 is-style-fill"><a class="wp-block-button__link has-accent-background-color has-background" href="https://blog.finxter.com/become-python-freelancer-course/" target="_blank" rel="noreferrer noopener">Join Freelancer Course</a></div>
</div>



<h2 class="wp-block-heading" id="industry-demand">Industry Demand</h2>



<p class="wp-block-paragraph">But is there enough demand? Let&#8217;s have a look at Google trends to find out how interest evolves over time (<a rel="noreferrer noopener" href="https://trends.google.com/trends/explore?date=all&amp;q=RavenDB" target="_blank">source</a>):</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="470" src="https://blog.finxter.com/wp-content/uploads/2022/03/image-58-1024x470.png" alt="" class="wp-image-227195" srcset="https://blog.finxter.com/wp-content/uploads/2022/03/image-58-1024x470.png 1024w, https://blog.finxter.com/wp-content/uploads/2022/03/image-58-300x138.png 300w, https://blog.finxter.com/wp-content/uploads/2022/03/image-58-768x353.png 768w, https://blog.finxter.com/wp-content/uploads/2022/03/image-58-1536x705.png 1536w, https://blog.finxter.com/wp-content/uploads/2022/03/image-58.png 1725w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure></div>



<h2 class="wp-block-heading" id="work-description">Work Description</h2>



<p class="wp-block-paragraph">So, you may wonder: <em><strong>RavenDB Developer</strong> &#8211; what&#8217;s the definition?</em></p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><strong>RavenDB Developer Definition</strong>: A RavenDB Developer developer creates, edits, analyzes, debugs, and supervises the development of software written in the RavenDB programming language. RavenDB is a NoSQL document-oriented database written especially for the .NET framework. (<a rel="noreferrer noopener" href="https://digital.com/best-software-development-companies/most-popular-programming-languages/" data-type="URL" target="_blank">Source</a>)</p>



<h2 class="wp-block-heading" id="learning-path-skills-and-education-requirements">Learning Path, Skills, and Education Requirements</h2>



<p class="wp-block-paragraph">Do you want to become a RavenDB Developer? Here&#8217;s a step-by-step learning path I&#8217;d propose to get started with RavenDB:</p>



<ul class="wp-block-list"><li><strong>Step 1</strong>: <a rel="noreferrer noopener" href="https://pll.harvard.edu/course/cs50-introduction-computer-science?delta=0" data-type="URL" data-id="https://pll.harvard.edu/course/cs50-introduction-computer-science?delta=0" target="_blank">Introduction to Computer Science</a> (~40 hours)</li><li><strong>Step 2</strong>: <a rel="noreferrer noopener" href="https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/lecture-notes/" data-type="URL" data-id="https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/lecture-notes/" target="_blank">Introduction to Algorithms</a> (~40 hours)</li><li><strong>Step 3</strong>: <a rel="noreferrer noopener" href="https://www.google.com/search?q=introduction+to+RavenDB+programming" data-type="URL" data-id="https://www.google.com/search?q=introduction+to+RavenDB+programming" target="_blank">Introduction to RavenDB</a> (~20 hours)</li><li><strong>Step 4</strong>: <a rel="noreferrer noopener" href="https://www.youtube.com/results?search_query=introduction+to+RavenDB+programming" data-type="URL" data-id="https://www.youtube.com/results?search_query=introduction+to+RavenDB+programming" target="_blank">Introduction to RavenDB (Free Video Courses)</a> (~10 hours)</li></ul>



<p class="wp-block-paragraph">You can find many additional computer science courses on the <a rel="noreferrer noopener" href="https://academy.finxter.com/" data-type="URL" data-id="https://academy.finxter.com/" target="_blank">Finxter Computer Science Academy</a> (flatrate model).</p>



<p class="wp-block-paragraph">But don&#8217;t wait too long to acquire practical experience! </p>



<p class="wp-block-paragraph">Even if you have little skills, it&#8217;s best to get started as a <strong>freelance developer</strong> and learn as you work on real projects for clients &#8212; <strong>earning income as you learn</strong> and gaining motivation through real-world feedback.</p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Tip</strong>: An excellent start to turbo-charge your freelancing career (earning more in less time) is our <a rel="noreferrer noopener" href="https://blog.finxter.com/become-python-freelancer-course/" data-type="page" data-id="2072" target="_blank">Finxter Freelancer Course</a>. The goal of the course is to pay for itself! </p>



<h2 class="wp-block-heading" id="related-video">Related Video</h2>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Find &#x267e; Infinite Opportunity in the Metaverse as a Freelance Coder ... to Tom" width="937" height="527" src="https://www.youtube.com/embed/ZS_pM7Yp_Xk?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph">You can find more job descriptions for coders, programmers, and computer scientists in our detailed overview guide:</p>



<ul class="wp-block-list"><li><a href="https://blog.finxter.com/get-your-job-in-it-overview/" data-type="post" data-id="186255" target="_blank" rel="noreferrer noopener">Get Your Job in IT [Overview]</a></li></ul>



<h2 class="wp-block-heading" id="related-income-of-professional-developers">Related Income of Professional Developers</h2>



<p class="wp-block-paragraph">The following statistic shows the self-reported income from 9,649 US-based professional developers (<a rel="noreferrer noopener" href="https://insights.stackoverflow.com/survey/2021#salary-comp-total-usa" data-type="URL" data-id="https://insights.stackoverflow.com/survey/2021#salary-comp-total-usa" target="_blank">source</a>).</p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> The average annual income of professional developers in the US is between <strong>$70,000</strong> and <strong>$177,500</strong> for various programming languages.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="641" height="1024" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-48-641x1024.png" alt="" class="wp-image-163242" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-48-641x1024.png 641w, https://blog.finxter.com/wp-content/uploads/2022/01/image-48-188x300.png 188w, https://blog.finxter.com/wp-content/uploads/2022/01/image-48-768x1227.png 768w, https://blog.finxter.com/wp-content/uploads/2022/01/image-48.png 876w" sizes="auto, (max-width: 641px) 100vw, 641px" /></figure></div>



<p class="wp-block-paragraph"><strong>Question</strong>: <em>What is your current total compensation (salary, bonuses, and perks, before taxes and deductions)? Please enter a whole number in the box below, without any punctuation. If you are paid hourly, please estimate an equivalent weekly, monthly, or yearly salary.</em> (<a href="https://insights.stackoverflow.com/survey/2021#most-loved-dreaded-and-wanted-language-love-dread" data-type="URL" data-id="https://insights.stackoverflow.com/survey/2021#most-loved-dreaded-and-wanted-language-love-dread" target="_blank" rel="noreferrer noopener">source</a>)</p>



<p class="wp-block-paragraph">The following statistic compares the self-reported income from 46,693 professional programmers as conducted by StackOverflow.</p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> The average annual income of professional developers worldwide (US and non-US) is between <strong>$33,000</strong> and <strong>$95,000</strong> for various programming languages. </p>



<p class="wp-block-paragraph">Here&#8217;s a screenshot of a more detailed overview of each programming language considered in the report:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="350" height="1024" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-41-350x1024.png" alt="" class="wp-image-163206" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-41-350x1024.png 350w, https://blog.finxter.com/wp-content/uploads/2022/01/image-41-103x300.png 103w, https://blog.finxter.com/wp-content/uploads/2022/01/image-41-525x1536.png 525w, https://blog.finxter.com/wp-content/uploads/2022/01/image-41-701x2048.png 701w, https://blog.finxter.com/wp-content/uploads/2022/01/image-41.png 745w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>



<p class="wp-block-paragraph">Here&#8217;s what different database professionals earn:</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="893" height="878" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-42.png" alt="" class="wp-image-163220" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-42.png 893w, https://blog.finxter.com/wp-content/uploads/2022/01/image-42-300x295.png 300w, https://blog.finxter.com/wp-content/uploads/2022/01/image-42-768x755.png 768w" sizes="auto, (max-width: 893px) 100vw, 893px" /></figure></div>



<p class="wp-block-paragraph">Here&#8217;s an overview of different cloud solutions experts:</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="848" height="433" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-43.png" alt="" class="wp-image-163225" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-43.png 848w, https://blog.finxter.com/wp-content/uploads/2022/01/image-43-300x153.png 300w, https://blog.finxter.com/wp-content/uploads/2022/01/image-43-768x392.png 768w" sizes="auto, (max-width: 848px) 100vw, 848px" /></figure></div>



<p class="wp-block-paragraph">Here&#8217;s what professionals in web frameworks earn:</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="740" height="1024" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-44-740x1024.png" alt="" class="wp-image-163226" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-44-740x1024.png 740w, https://blog.finxter.com/wp-content/uploads/2022/01/image-44-217x300.png 217w, https://blog.finxter.com/wp-content/uploads/2022/01/image-44.png 755w" sizes="auto, (max-width: 740px) 100vw, 740px" /></figure></div>



<p class="wp-block-paragraph">There are many other interesting frameworks&#8212;that pay well!</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="816" height="757" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-45.png" alt="" class="wp-image-163229" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-45.png 816w, https://blog.finxter.com/wp-content/uploads/2022/01/image-45-300x278.png 300w, https://blog.finxter.com/wp-content/uploads/2022/01/image-45-768x712.png 768w" sizes="auto, (max-width: 816px) 100vw, 816px" /></figure></div>



<p class="wp-block-paragraph">Look at those tools:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="793" height="825" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-46.png" alt="" class="wp-image-163230" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-46.png 793w, https://blog.finxter.com/wp-content/uploads/2022/01/image-46-288x300.png 288w, https://blog.finxter.com/wp-content/uploads/2022/01/image-46-768x799.png 768w" sizes="auto, (max-width: 793px) 100vw, 793px" /></figure>



<p class="wp-block-paragraph">Okay, but what do you need to do to get there? What are the skill requirements and qualifications to make you become a professional developer in the area you desire?</p>



<p class="wp-block-paragraph">Let&#8217;s find out next!</p>



<h2 class="wp-block-heading" id="general-qualifications-of-professionals">General Qualifications of Professionals</h2>



<p class="wp-block-paragraph">StackOverflow performs an annual survey asking professionals, coders, developers, researchers, and engineers various questions about their background and job satisfaction on their website.</p>



<p class="wp-block-paragraph">Interestingly, when aggregating the data of the developers&#8217; educational background, a good three quarters have an academic background.</p>



<p class="wp-block-paragraph">Here&#8217;s the question asked by StackOverflow (<a href="https://insights.stackoverflow.com/survey/2021#education-ed-level-prof" data-type="URL" data-id="https://insights.stackoverflow.com/survey/2021#education-ed-level-prof" target="_blank" rel="noreferrer noopener">source</a>): </p>



<p class="wp-block-paragraph"><strong>Which of the following best describes the highest level of formal education that you’ve completed?</strong></p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="589" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-37-1024x589.png" alt="" class="wp-image-163017" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-37-1024x589.png 1024w, https://blog.finxter.com/wp-content/uploads/2022/01/image-37-300x173.png 300w, https://blog.finxter.com/wp-content/uploads/2022/01/image-37-768x442.png 768w, https://blog.finxter.com/wp-content/uploads/2022/01/image-37.png 1057w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure></div>



<p class="wp-block-paragraph">However, if you don&#8217;t have a formal degree, don&#8217;t fear! Many of the respondents with degrees don&#8217;t have a degree in their field&#8212;so it may not be of much value for their coding careers anyways. </p>



<p class="wp-block-paragraph">Also, about one out of four don&#8217;t have a formal degree and still succeeds in their field! You certainly don&#8217;t need a degree if you&#8217;re committed to your own success!</p>



<h2 class="wp-block-heading" id="freelancing-vs-employment-status">Freelancing vs Employment Status</h2>



<p class="wp-block-paragraph">The percentage of <a href="https://blog.finxter.com/freelance-developer/" data-type="post" data-id="5912" target="_blank" rel="noreferrer noopener">freelance developers</a> increases steadily. The fraction of freelance developers has already reached 11.21%! </p>



<p class="wp-block-paragraph">This indicates that more and more work will be done in a more flexible work environment&#8212;and fewer and fewer companies and clients want to hire inflexible talent. </p>



<p class="wp-block-paragraph">Here are the stats from the StackOverflow developer survey (<a rel="noreferrer noopener" href="https://insights.stackoverflow.com/survey/2021#employment-employment-prof" data-type="URL" data-id="https://insights.stackoverflow.com/survey/2021#employment-employment-prof" target="_blank">source</a>):</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="780" height="538" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-47.png" alt="" class="wp-image-163234" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-47.png 780w, https://blog.finxter.com/wp-content/uploads/2022/01/image-47-300x207.png 300w, https://blog.finxter.com/wp-content/uploads/2022/01/image-47-768x530.png 768w" sizes="auto, (max-width: 780px) 100vw, 780px" /></figure></div>



<p class="wp-block-paragraph">Do you want to become a professional freelance developer and earn some money on the side or as your primary source of income?</p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><strong>Resource</strong>: Check out our <a rel="noreferrer noopener" href="https://blog.finxter.com/become-python-freelancer-course/" data-type="URL" data-id="https://blog.finxter.com/become-python-freelancer-course/" target="_blank">freelance developer course</a>&#8212;it&#8217;s the best freelance developer course in the world with the highest student success rate in the industry!</p>



<div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex">
<div class="wp-block-button aligncenter has-custom-width wp-block-button__width-100"><a class="wp-block-button__link" href="https://blog.finxter.com/become-python-freelancer-course/" target="_blank" rel="noreferrer noopener">Become Freelance Developer (Course)</a></div>
</div>



<h2 class="wp-block-heading" id="other-programming-languages-used-by-professional-developers">Other Programming Languages Used by Professional Developers</h2>



<p class="wp-block-paragraph">The StackOverflow developer survey collected 58000 responses about the following question (<a href="https://insights.stackoverflow.com/survey/2021#most-popular-technologies-language-prof" data-type="URL" data-id="https://insights.stackoverflow.com/survey/2021#most-popular-technologies-language-prof" target="_blank" rel="noreferrer noopener">source</a>):</p>



<p class="wp-block-paragraph"><em><strong>Which programming, scripting, and markup languages have you done extensive development work in over the past year, and which do you want to work in over the next year?</strong></em></p>



<p class="wp-block-paragraph">These are the languages you want to focus on when starting out as a coder:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="372" height="1024" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-38-372x1024.png" alt="" class="wp-image-163026" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-38-372x1024.png 372w, https://blog.finxter.com/wp-content/uploads/2022/01/image-38-109x300.png 109w, https://blog.finxter.com/wp-content/uploads/2022/01/image-38-768x2114.png 768w, https://blog.finxter.com/wp-content/uploads/2022/01/image-38-558x1536.png 558w, https://blog.finxter.com/wp-content/uploads/2022/01/image-38-744x2048.png 744w, https://blog.finxter.com/wp-content/uploads/2022/01/image-38.png 780w" sizes="auto, (max-width: 372px) 100vw, 372px" /></figure>



<p class="wp-block-paragraph">And don&#8217;t worry&#8212;if you feel stuck or struggle with a nasty bug. We all go through it. Here&#8217;s what SO survey respondents and professional developers do when they&#8217;re stuck:</p>



<p class="wp-block-paragraph"><strong>What do you do when you get stuck on a problem? Select all that apply. </strong>(<a href="https://insights.stackoverflow.com/survey/2021#most-loved-dreaded-and-wanted-language-love-dread" data-type="URL" data-id="https://insights.stackoverflow.com/survey/2021#most-loved-dreaded-and-wanted-language-love-dread" target="_blank" rel="noreferrer noopener">source</a>)</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="846" height="684" src="https://blog.finxter.com/wp-content/uploads/2022/01/image-39.png" alt="" class="wp-image-163044" srcset="https://blog.finxter.com/wp-content/uploads/2022/01/image-39.png 846w, https://blog.finxter.com/wp-content/uploads/2022/01/image-39-300x243.png 300w, https://blog.finxter.com/wp-content/uploads/2022/01/image-39-768x621.png 768w" sizes="auto, (max-width: 846px) 100vw, 846px" /></figure>



<h2 class="wp-block-heading" id="related-tutorials">Related Tutorials</h2>



<p class="wp-block-paragraph">To get started with some of the fundamentals and industry concepts, feel free to check out these articles:</p>



<ul class="wp-block-list"><li><a rel="noreferrer noopener" href="https://blog.finxter.com/freelance-developer/" data-type="URL" data-id="https://blog.finxter.com/freelance-developer/" target="_blank">Freelance Developer – How to Code From Home and Earn Six Figures [Industry Report]</a></li><li><a rel="noreferrer noopener" href="https://blog.finxter.com/how-to-earn-1000-on-the-side-as-a-python-freelancer-a-step-by-step-tutorial/" data-type="URL" data-id="https://blog.finxter.com/how-to-earn-1000-on-the-side-as-a-python-freelancer-a-step-by-step-tutorial/" target="_blank">How to Become a Python Freelancer—and Earn $1,000 on the Side? [A Step-by-Step Tutorial]</a></li><li><a rel="noreferrer noopener" href="https://blog.finxter.com/how-adam-earns-5000-per-month-as-a-python-freelancer-on-upwork-month-4/" data-type="URL" data-id="https://blog.finxter.com/how-adam-earns-5000-per-month-as-a-python-freelancer-on-upwork-month-4/" target="_blank">How Adam Earns $5000 per Month as a Python Freelancer on Upwork [Month 4]</a></li><li><a rel="noreferrer noopener" href="https://en.wikipedia.org/wiki/RavenDB" data-type="URL" target="_blank">RavenDB Wikipedia</a></li><li><a href="https://www.google.com/search?q=RavenDB" data-type="URL" data-id="https://www.google.com/search?q=learn+RavenDB" target="_blank" rel="noreferrer noopener">Learn RavenDB Google</a></li></ul>



<h2 class="wp-block-heading">Where to Go From Here?</h2>



<p class="wp-block-paragraph">Enough theory. Let’s get some practice!</p>



<p class="wp-block-paragraph">Coders get paid six figures and more because they can solve problems more effectively using machine intelligence and automation. </p>



<p class="wp-block-paragraph">To become more successful in coding, solve more real problems for real people. That’s how you polish the skills you really need in practice. After all, what’s the use of learning theory that nobody ever needs?</p>



<p class="wp-block-paragraph"><strong>You build high-value coding skills by working on practical coding projects!</strong></p>



<p class="wp-block-paragraph">Do you want to stop learning with toy projects and focus on practical code projects that earn you money and solve real problems for people?</p>



<p class="has-global-color-8-background-color has-background wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> If your answer is <strong><em>YES!</em></strong>, consider becoming a <a rel="noreferrer noopener" href="https://blog.finxter.com/become-python-freelancer-course/" data-type="page" data-id="2072" target="_blank">Python freelance developer</a>! It’s the best way of approaching the task of improving your Python skills—even if you are a complete beginner.</p>



<p class="wp-block-paragraph">If you just want to learn about the freelancing opportunity, feel free to watch my free webinar <a rel="noreferrer noopener" href="https://blog.finxter.com/webinar-freelancer/" target="_blank">“How to Build Your High-Income Skill Python”</a> and learn how I grew my coding business online and how you can, too—from the comfort of your own home.</p>



<p class="wp-block-paragraph"><a href="https://blog.finxter.com/webinar-freelancer/" target="_blank" rel="noreferrer noopener">Join the free webinar now!</a></p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Page Caching using Disk: Enhanced 
Minified using Disk

Served from: blog.finxter.com @ 2026-10-27 12:48:35 by W3 Total Cache
-->