<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Tech Pickle]]></title><description><![CDATA[Tech Pickle]]></description><link>https://techpickle.com</link><generator>RSS for Node</generator><lastBuildDate>Sun, 19 Apr 2026 04:20:23 GMT</lastBuildDate><atom:link href="https://techpickle.com/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[STTN Hacktoberfest 2022]]></title><description><![CDATA[Introduction
Have you thought about contributing to open-source software but haven't gotten around to it? Maybe you are already a seasoned contributor and looking for your next project.
The Self-Taught Tech Network is here to help.
With Hacktoberfest...]]></description><link>https://techpickle.com/sttn-hacktoberfest-2022</link><guid isPermaLink="true">https://techpickle.com/sttn-hacktoberfest-2022</guid><category><![CDATA[#hacktoberfest ]]></category><category><![CDATA[hacktoberfest2022]]></category><category><![CDATA[Open Source]]></category><category><![CDATA[community]]></category><category><![CDATA[Beginner Developers]]></category><dc:creator><![CDATA[Joel Pickin]]></dc:creator><pubDate>Sat, 01 Oct 2022 09:30:37 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1664563267504/DXWZKoU8A.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1 id="heading-introduction">Introduction</h1>
<p>Have you thought about contributing to open-source software but haven't gotten around to it? Maybe you are already a seasoned contributor and looking for your next project.</p>
<p>The Self-Taught Tech Network is here to help.</p>
<p>With Hacktoberfest 2022 just around the corner, there has never been a better time to take the leap and start contributing to open-source software. There are lots of resources available to support your learning, but even then the idea of contributing can be intimidating. </p>
<p>That's why the community is here to support you through the process and offer a couple of welcoming, no-pressure projects to make your first taste of open-source a pleasant one.</p>
<h1 id="heading-what-is-hacktoberfest">What is Hacktoberfest?</h1>
<p>Hacktoberfest is an initiative that was created to get more developers contributing to open-source software. The event is hosted by Digital Ocean and runs throughout October. It brings together developers from a range of backgrounds and skill sets from all over the world.</p>
<p>You can contribute by submitting a pull request (PR) to any project that has the hacktoberfest tag. This year, the first 40,000 people to complete 4 PRs will have the option of winning a Digital Ocean t-shirt or having a tree planted in their name.</p>
<h1 id="heading-why-contribute">Why Contribute?</h1>
<ul>
<li>Improve your coding skills.</li>
<li>Get a feel of what it's like to work on a real-life project with a similar process used by professional development teams.</li>
<li>Get free swag or plant a world-saving tree!</li>
<li>Build your network by collaborating with other developers.</li>
<li>Find mentorship &amp; guidance.</li>
<li>Depending on the project, you can make a difference by having an impact on charitable causes.</li>
<li>It can make a nice change from working on your own projects.</li>
</ul>
<h1 id="heading-what-is-sttn">What is STTN?</h1>
<p>Learning to code and transitioning into tech can be a daunting task to undertake alone. This is why The Self-Taught Tech Network (STTN) was created. It is a welcoming place open to self-taught developers at every level.</p>
<p>Teaching yourself to code isn't easy and it's not meant to be, or everyone would be doing it. Whilst we won't be able to do the hard work for you, we do offer you a place for support and guidance whilst growing your professional network.</p>
<p>All developers are self-taught in one way or another -there is no judgement here- you can openly ask any question.</p>
<p>If it sounds like your kind of place, come and join using the link below.</p>
<p><a href="https://discord.gg/KWbN3FsY">STTN Discord</a></p>
<h1 id="heading-how-do-i-contribute">How do I contribute?</h1>
<ul>
<li>Head over to GitHub</li>
<li>Find a project tagged 'hacktoberfest'</li>
<li>Read the CONTRIBUTING file</li>
<li>Go to the issues list</li>
<li>Select an issue you want to tackle (If you are new it can be good to select issues with the tag 'good first issue')</li>
<li>Fork and clone the repo</li>
<li>Open in your favourite IDE</li>
<li>Make your changes</li>
<li>Create a pull request</li>
<li>Listen to feedback from the maintainers and make any relevant changes</li>
<li>Complete the pull request</li>
<li>Reach developer level 9000</li>
</ul>
<p>This is just a quick rundown, if you want to dig further, check out these resources as an intro to open-source.</p>
<ul>
<li>Digital Ocean: <a href="https://www.digitalocean.com/community/tutorial_series/an-introduction-to-open-source">INTRODUCTION TO GITHUB AND OPEN-SOURCE PROJECTS</a></li>
<li>GitHub: <a href="https://opensource.guide/how-to-contribute/">HOW TO CONTRIBUTE TO OPEN SOURCE</a></li>
<li>DigitalOcean: <a href="https://www.digitalocean.com/community/tutorials/what-is-open-source">WHAT IS OPEN SOURCE</a></li>
<li>DigitalOcean: <a href="https://www.digitalocean.com/community/cheatsheets/how-to-use-git-a-reference-guide">HOW TO USE GIT</a></li>
<li>GitHub repository: <a href="https://github.com/firstcontributions/first-contributions">FIRST-CONTRIBUTIONS</a></li>
</ul>
<h1 id="heading-sttn-projects-to-contribute-to">STTN Projects To Contribute To</h1>
<p>The Self-Taught Tech Network will offer support and guidance to anyone wanting to contribute.</p>
<p>Making your first contributions to open-source can be intimidating, that's why we created a few projects to help ease you into making your first PR.</p>
<h2 id="heading-project-o-matic">Project-O-Matic</h2>
<h4 id="heading-perfect-for-developers-of-any-level-and-language">Perfect for: Developers of any level and language</h4>
<h4 id="heading-built-with-blazor-c-html-css">Built with: Blazor, C#, HTML, CSS</h4>
<p>Don't let the tech stack intimidate you the focus here isn't on your Blazor/C# knowledge. Sure you can fix bugs and improve the site, but the main purpose of this project is to introduce you to open-source alongside improving your technical writing. No matter your skill level or choice of language you can get involved.</p>
<p>All the info to contribute is covered in the README attached to the project on the GitHub repo here - <a href="https://github.com/JoelPickin/ProjectOMatic">https://github.com/JoelPickin/ProjectOMatic</a></p>
<h3 id="heading-projects">Projects</h3>
<p>The project-o-matic is a discovery tool. A place for developers to find inspiration for their next build. The projects are added via markdown files. These files give a brief overview of the idea and a list of each of the features.</p>
<p>We need developers to dig deep into their idea bank and create new project ideas for future developers to draw on as inspiration. This can be anything you can think of, from a ToDo list to a bug tracker.</p>
<p>The only skills you need to have here are the ability to type and be able to follow the instructions outlined in the GitHub repo to add the file to the correct place with the correct naming conventions.</p>
<h3 id="heading-solutions">Solutions</h3>
<p>Each of the projects that are randomly shown to users can have a solution attached. This works differently from how the projects are loaded but are just as easy to contribute with.</p>
<p>Solutions are a way to share what you have built whilst also improving your technical writing abilities.</p>
<p>You start by creating an account on <a href="https://hashnode.com/">Hashnode</a>, or if you have an account already, create a new post. Using the Hashnode markdown editor, write up the steps you took to create a project, including any links, libraries, images etc, then hit publish.</p>
<p>Submit the details of your created post to the project by following the template provided on the repo page. Then make sure there is a relevant project available for your solution, if there isn't, add one following the steps above.</p>
<h2 id="heading-station">STaTioN</h2>
<p>https://station-team.netlify.app/</p>
<h4 id="heading-perfect-for-a-bit-of-fun-and-the-fundamentals">Perfect for: A bit of fun and the fundamentals</h4>
<h4 id="heading-built-with-html-css-javascript">Built with: HTML, CSS, JavaScript</h4>
<p>This project was the brainchild of Self-Taught Tech Network member <a href="https://twitter.com/radridersdesign">Jeffrey</a>. This is an easy starting point with no pressure for new developers to get to grips with making open-source contributions.</p>
<p>Here is what you can contribute to this project...</p>
<p>Anything.</p>
<p>That's it. Anything you like.</p>
<p>You can add a link to another website/project you're working on, make the links pink, flip a div upside-down, add to the readme file. Anything.</p>
<p><strong>You are encouraged to get involved, make mistakes, and break things.</strong></p>
<p>We're all learning here and like many things in the coding world, you learn best by <em>doing</em>. So do!</p>
<p>There isn't much more to cover here other than just have fun, be curious and good luck with making your first contributions.</p>
<p>Oh... and don't be the person that did this 😂</p>
<p>  <img src="https://media.giphy.com/media/lgcUUCXgC8mEo/giphy.gif" alt="Rick Astley" /></p>
<p>If you want to get involved, check out the GitHub repo here - https://github.com/jeffreycharters/station</p>
<h2 id="heading-other-projects">Other Projects</h2>
<p>The projects above aren't the only ones you can contribute to. Check out the links below for other options of projects open to first-time contributors.</p>
<ul>
<li>List of beginner repositories: <a href="https://up-for-grabs.net/#/">UP-FOR-GRABS.NET</a></li>
<li>GitHub repository: <a href="https://github.com/mungell/awesome-for-beginners">AWESOME-FOR-BEGINNERS</a></li>
</ul>
<h2 id="heading-further-reading">Further Reading</h2>
<p>These resources are provided on the Digital Ocean website to further increase your understanding of open-source.</p>
<ul>
<li><a href="https://github.github.com/training-kit/">GITHUB TRAINING KIT</a></li>
<li><a href="https://guides.github.com/introduction/flow/">UNDERSTANDING THE GITHUB FLOW</a></li>
<li><a href="https://about.gitlab.com/get-started/">GETTING STARTED WITH GITLAB</a></li>
<li><a href="https://www.digitalocean.com/community/tutorial_series/an-introduction-to-open-source">AN INTRODUCTION TO OPEN SOURCE</a></li>
<li><a href="https://opensource.com/article/19/5/how-get-job-doing-open-source">HOW OPEN SOURCE CONTRIBUTIONS CAN BOOST YOUR CAREER</a></li>
<li><a href="https://github.blog/2015-01-21-how-to-write-the-perfect-pull-request/">HOW TO WRITE THE PERFECT PULL REQUEST</a></li>
<li><a href="https://dev.to/chrissiemhrk/git-commit-message-5e21">HOW TO WRITE A GOOD COMMIT MESSAGE</a></li>
<li><a href="https://desktop.github.com/">GITHUB DESKTOP</a></li>
<li><a href="https://discord.gg/hacktoberfest">COMMUNITY HELP IN OUR HACKTOBERFEST DISCORD SERVER</a></li>
</ul>
<h2 id="heading-thanks-for-reading-and-happy-building">Thanks for reading and happy building!</h2>
<p>Any questions or suggestions please get in touch on Twitter <a href="https://twitter.com/TechPickleJoel">@TechPickleJoel</a> or through the community.</p>
]]></content:encoded></item><item><title><![CDATA[Introducing: Project-O-Matic]]></title><description><![CDATA[Inspiration
A couple of months ago I launched The Self-Taught Tech Network. 
A community focused on helping self-taught developers of all levels feel supported, ask for advice and find their place in tech.
Through this, I have had a lot of discussion...]]></description><link>https://techpickle.com/introducing-project-o-matic</link><guid isPermaLink="true">https://techpickle.com/introducing-project-o-matic</guid><category><![CDATA[PlanetScale]]></category><category><![CDATA[PlanetScaleHackathon]]></category><dc:creator><![CDATA[Joel Pickin]]></dc:creator><pubDate>Mon, 01 Aug 2022 05:19:34 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1659330958148/DMkKhPBja.PNG" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1 id="heading-inspiration">Inspiration</h1>
<p>A couple of months ago I launched The Self-Taught Tech Network. </p>
<p>A community focused on helping self-taught developers of all levels feel supported, ask for advice and find their place in tech.</p>
<p>Through this, I have had a lot of discussions with aspiring developers. The most prominent way, outside of reading tutorials to cement your coding skills is by building actual projects. </p>
<p>One of the main issues I heard when speaking to developers was that they lacked inspiration when thinking of a project to create. </p>
<p>This is where the initial idea for the Project-O-Matic came to mind.</p>
<p>Enter your skill level, language and framework, and then like magic (Which is all coding really is) outcomes your next project idea!</p>
<p><img src="https://media.giphy.com/media/3o84U6421OOWegpQhq/giphy.gif" alt="Magic waving hands" /></p>
<p>I didn't want it to stop there. </p>
<p>I didn't want just the finite number of projects that I can think up to be the only options. </p>
<p>That's when it occurred to me... the other things that these developers of the future mentioned, how do they contribute to open-source, and how do they get into technical writing.</p>
<h1 id="heading-how-does-this-help-people-contribute-to-open-source">How does this help people contribute to open-source?</h1>
<p>Contributing to open-source is well-known to help developers is several ways.</p>
<ul>
<li>It strengthens resumes, adding real projects that you can discuss in interviews.</li>
<li>Improves coding ability, as it allows you to practice your skills, as well as adhere to someone else coding standards.</li>
<li>Gives experience akin to working in a development environment, as you have to read and understand someone else's code, as well as opening you up to feedback when your code is reviewed.</li>
</ul>
<p>As much as it has many positives, contributing to open-source can be a daunting task for anyone who is new to it, especially someone who is just getting to grips with the coding fundamentals. Alongside finding projects to contribute to, it can be an intimidating experience opening yourself up to scrutiny, as well as learning the ins and outs of how GitHub works. This is where the project-o-matic open-source collaboration effort can help.</p>
<p>It is a welcoming project for developers of all levels. Offering the chance to get to grips with the GitHub UI/process as well as make their first open-source contribution. Projects are loaded via local markdown files added to the app and solutions are added via a JSON file. These are the ways you can make your first contributions. If you want to find out more, or steps on how to contribute, head over to the GitHub page.</p>
<p>Read below on how you can improve your technical writing using Hashnode.</p>
<h1 id="heading-how-does-this-help-people-learn-technical-writing">How does this help people learn technical writing?</h1>
<p>The best way to improve your coding knowledge is to build projects. The second best way is to share what you have learnt. This can benefit you as a developer in a variety of ways.</p>
<ul>
<li>It forces you to reflect on what you have learnt and explain the concepts in a way that will be understandable to the reader.</li>
<li>Sharing what you have learnt in places like Hashnode can help to build your social following, build your network and open you up to more potential opportunities.</li>
<li>It can be a fun respite from coding to switch things up and express yourself in writing.</li>
</ul>
<p>Your approach to projects can be shared with others looking for inspiration in the form of solutions. A solution is a blog post created in Hashnode. Going into detail about how you created a project in your chosen language and framework.</p>
<p>All you have to do is add the post link and your account to the Project-o-matic GitHub project. Then using their API we can pull in the data when a user requests inspiration. It gets more eyes on what you have written and is attributed to your social media account should people want to know more about you. This can be a write-up you have created especially for this project or one you have created in the past.</p>
<p>For more details on how you can contribute to open-source and improve your technical writing check out the project on <a target="_blank" href="https://github.com/JoelPickin/ProjectOMatic">GitHub</a></p>
<h1 id="heading-benefits-andamp-learning-opportunities">Benefits &amp; Learning Opportunities</h1>
<h2 id="heading-project-inspiration">Project Inspiration</h2>
<p>As I mentioned above, this project generator can be a place for developers to come to find inspiration for what to build. Never again will they be sat with an open IDE imagining all they can build is just another To-Do List app... </p>
<p>...that is one of the initial projects though... how could I resist?</p>
<h2 id="heading-contribute-to-open-source">Contribute to Open-source</h2>
<p>Contributing to open-source is beneficial for a lot of reasons. In my opinion, it opens developers up to working in actual code bases, meaning they have to understand other developers' code, as well as having them adapt to the coding conventions the project owners have in place. </p>
<p>As well as this, having worked on projects that are live can be beneficial to elevating resumes, and giving them actual project experience to discuss with potential employers.</p>
<h2 id="heading-technical-writing">Technical Writing</h2>
<p>By adding projects and solutions to the project, developers will have a place to share and improve their technical writing skills.</p>
<h2 id="heading-cementing-learning">Cementing Learning</h2>
<p>The next best thing outside of creating the project to cement your learning is to teach others. By going over the steps it has taken to make it, developers will cement their knowledge and have to find a way to express their understanding of coding concepts by finding the right way to teach it to someone else.</p>
<h1 id="heading-features">Features</h1>
<ul>
<li>Project inspiration generator based on a variety of metrics</li>
<li>Introduction to open-source by uploading markdown files</li>
<li>A job runs which adds any new files to the database</li>
<li>A random project is selected based on the criteria</li>
<li>A random solution is selected if one is available</li>
</ul>
<h1 id="heading-tech-stack">Tech Stack</h1>
<ul>
<li>Blazor Server-Side<ul>
<li>I decided to use Blazor as it's the current framework I'm learning. I have a strong understanding of C#, so I can rely on that without taking on too much, but I have also challenged myself as I'm still getting to grips with the inner workings of Blazor.</li>
</ul>
</li>
<li>Blazorise<ul>
<li>An amazing free Blazor component library. Used the modal component to save me time having to write my own UI and logic to show/hide it.</li>
</ul>
</li>
<li>Entity Framework Core<ul>
<li>Another new learning opportunity. I have only dabbled slightly in EFC in the past, so I used this as the opportunity to dig in properly, and can safely say, I love it.</li>
</ul>
</li>
<li>Markdig<ul>
<li>Markup processor for .NET</li>
</ul>
</li>
<li>HTML &amp; CSS<ul>
<li>The usual, the meat and bones.</li>
</ul>
</li>
<li>Heroku<ul>
<li>I've used Heroku for hosting a blazor server site previously, so I knew the setup would be easy, so I've used this again.</li>
</ul>
</li>
</ul>
<h1 id="heading-use-of-planetscale">Use of Planetscale</h1>
<p>I used Planetscale for my database needs. I have to say now, that this has been the easiest, most painless experience of setting up a database in my whole 5 years of being a developer.</p>
<p>The database was set up and configured in about 10 minutes. Any changes to the database can be manually done through the built-in console. Don't get me started on the branching mechanism that makes database updates between environments risk-free. Plus the fact it's a tried and tested MySql database which linked up perfectly with Entity Framework Core, so I could do any database changes from within the code.</p>
<h1 id="heading-struggles">Struggles</h1>
<p>There were a few.</p>
<h4 id="heading-life">Life</h4>
<p>One of those things - life/work got in the way, as I'm writing this I'm on vacation and it's close to midnight. I didn't get as much chance to work on it as I would have liked (Nothing stopping me from working on this after, and I plan on it).</p>
<h4 id="heading-solving-the-right-way-to-allow-people-to-upload-projects-whilst-also-having-it-as-them-contributing-to-open-source">Solving the right way to allow people to upload projects whilst also having it as them contributing to open source.</h4>
<p>I didn't want to create a backend management process as the idea is around open-source contributions, not adding stuff via a UI.</p>
<p>I played around with a few ideas, and then I remembered the Hashnode API is quite extensive. Originally I was going to try to have users tag their posts with a specific tag, which I would then use to search for the solution. Sadly the Hashnode API doesn't allow searching on specific tags. Having the users add their post slug and username to a JSON file was an even better alternative to this as it still allows them to make open-source contributions, as well as being a more performant API call as it is very specific.</p>
<h4 id="heading-design-my-old-nemesis">Design, my old nemesis.</h4>
<p>I'm a backend developer. The front end is not my friend. That doesn't mean I shy away, it just takes me time to get my head around styling things, so that slowed me down a lot!</p>
<p>I'm very proud of what I have produced, even if the more design-savvy may have some negative feedback.</p>
<h1 id="heading-future-plans">Future Plans</h1>
<p>Here is the bit I'm excited about most.</p>
<p>I'm planning on running an event as part of The Self-Taught Tech Network to introduce members to technical writing and open-source.</p>
<p>Part of that will include adding projects and creating their own solutions on Hashnode.</p>
<p>The Project-O-Matic is fed data. The members improve their technical writing and coding abilities, as well as, having an introduction to contributing to open-source.</p>
<p>I plan on adding my own over the next few days in between vacation time. </p>
<p>The next steps include writing more detailed guides on how to contribute to the project, including creating a loom walkthrough. Alongside this, I will be working on a few of the issues I am aware of, including the mobile UI scaling. I am open to anyone else getting involved in fixing these as it is an open-source project. Happy to offer guidance on Twitter if you are new to Blazor as a lot of it is just HTML &amp; CSS.</p>
<h1 id="heading-important-links">Important Links</h1>
<p><a target="_blank" href="https://project-o-matic.herokuapp.com/">Project-O-Matic</a></p>
<p><a target="_blank" href="https://github.com/JoelPickin/ProjectOMatic">GitHub</a></p>
<h1 id="heading-end">End</h1>
<p>Thanks to <a target="_blank" href="https://townhall.hashnode.com/planetscale-hackathon">Hashnode</a> and <a target="_blank" href="https://planetscale.com/">Planetscale</a> for hosting this hackathon.</p>
<p>Thanks for reading 💚</p>
<p>You can find me on Twitter <a target="_blank" href="https://twitter.com/TechPickleJoel">@TechPickleJoel</a></p>
]]></content:encoded></item><item><title><![CDATA[Testing the hashnode API]]></title><description><![CDATA[Testing the hashnode API]]></description><link>https://techpickle.com/learn-to-code-using-just-your-phone-1</link><guid isPermaLink="true">https://techpickle.com/learn-to-code-using-just-your-phone-1</guid><dc:creator><![CDATA[Joel Pickin]]></dc:creator><pubDate>Thu, 14 Jul 2022 13:17:58 GMT</pubDate><content:encoded><![CDATA[<p>Testing the hashnode API</p>
]]></content:encoded></item><item><title><![CDATA[The Self-Taught Tech Network -
Mockathon Challenge]]></title><description><![CDATA[This is your chance to be involved in the direction of The Self-Taught Tech Network.
What is a Mock-a-thon? 🎨
You've heard of a hackathon right?
Developers get together and build a project based on set criteria for the chance of glory.
Well, this is...]]></description><link>https://techpickle.com/the-self-taught-tech-network-mockathon-challenge</link><guid isPermaLink="true">https://techpickle.com/the-self-taught-tech-network-mockathon-challenge</guid><category><![CDATA[hackathon]]></category><category><![CDATA[challenge]]></category><category><![CDATA[Design]]></category><category><![CDATA[UX]]></category><category><![CDATA[UI]]></category><dc:creator><![CDATA[Joel Pickin]]></dc:creator><pubDate>Mon, 06 Jun 2022 20:16:05 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1654864042889/mcYa1hH9P.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This is your chance to be involved in the direction of The Self-Taught Tech Network.</p>
<h1 id="heading-what-is-a-mock-a-thon">What is a Mock-a-thon? 🎨</h1>
<p>You've heard of a hackathon right?</p>
<p><strong>Developers get together and build a project based on set criteria for the chance of glory.</strong></p>
<p>Well, this is exactly the same, but instead of building a project, you will be designing a mock-up using your design tool of choice.</p>
<h1 id="heading-about-sttn">About STTN 🚀</h1>
<p>The Self-Taught Tech Network is a recently launched community focused on Self-Taught/Bootcamp designers and developers.</p>
<p><strong>There is a shift happening in the tech industry. </strong></p>
<p>There are more jobs available than degree-level individuals to fill them. The self-taught community are the ones that will fill this skill gap. Going the self-taught route isn't easy and it can be incredibly lonely, but it is very rewarding.</p>
<p>STTN was created by self-taught developers for self-taught developers. We understand the struggles you must overcome by choosing to take this route into tech, and we want to be there to support you every step of the way.</p>
<p>From your first line of code, right through to your first day on the job.</p>
<p>Want to get involved? Join the <a target="_blank" href="https://discord.com/invite/aQX9kmg7kJ">Discord </a>.</p>
<h1 id="heading-how-to-participate">How to participate 💪</h1>
<p>There aren't any fancy rules... just be a member of the community. </p>
<p>That's it.</p>
<h1 id="heading-why-you-should-participate">Why you should participate 🥳</h1>
<p>The Self-Taught Tech Network is a young community, it's still fresh so there aren't any fancy swag or cash prizes on offer.</p>
<p>So why should you participate?</p>
<h3 id="heading-well-a-few-reasons-really">Well, a few reasons really...</h3>
<ul>
<li>You get to have a chance at leaving your mark on the community.</li>
<li>It's a fun little competition to show off your skills.</li>
<li>It's a learning experience. Treat this like a client has come to you requesting this website. Use your initiative and think about how you might approach their request.</li>
</ul>
<h3 id="heading-need-more-reasons">Need more reasons?</h3>
<ul>
<li>Any of the ideas you contribute to the final version will be attributed to you in the footer, including a link to your chosen social media account. </li>
<li>The entries and winners will be announced on Twitter. This is a great opportunity for exposure to grow your following or find potential opportunities.</li>
<li>You can use this as a portfolio piece.</li>
</ul>
<h1 id="heading-client-brief">Client brief 📝</h1>
<p>You have full creative freedom.</p>
<h3 id="heading-pages">Pages</h3>
<p>Single page or multi-page, it's your choice.</p>
<ul>
<li>Homepage with a CTA to join the discord, follow on Twitter and receive community updates from our newsletter.</li>
<li>About page with an explanation of our mission and the benefits of joining the community.</li>
<li>Blog page. This is where we will feature posts submitted by the community. It will have a list of posts with the ability to load more. Feel free to have creative freedom in adding filters/categories etc.</li>
</ul>
<h3 id="heading-the-logo">The Logo</h3>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1654864181095/W0CaGwHPZ.png" alt="STTN-Logo-Horizontal-01.png" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1654864154751/J16_RWu0o.png" alt="STTN-Logo-01.png" /></p>
<h3 id="heading-color-scheme">Color scheme</h3>
<p>Below are the logo colors. You have creative freedom to use them any way you like.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1654508072243/qTLAGnqss.png" alt="ColorScheme.png" /></p>
<h3 id="heading-typography">Typography</h3>
<p>Font used on the logo for reference:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1654508240011/CZ1QMcysG.PNG" alt="Typography.PNG" /></p>
<p>Feel free to use the closest possible match to this, but it's up to you. It's your design.</p>
<h3 id="heading-copy">Copy</h3>
<p>This isn't a requirement. If you have a knack for writing copy, this can be a nice little added extra. </p>
<p>Otherwise, I'm happy for you to use Lorum Ipsum... or my personal favourite - <a target="_blank" href="https://baconipsum.com/">Bacon Ipsum</a>.</p>
<h1 id="heading-faq">FAQ 🙋</h1>
<blockquote>
<p>Web or mobile?</p>
</blockquote>
<p>Both are prefered but you have the creative freedom to express your work in any way you like.</p>
<blockquote>
<p>I don't have any design skills?</p>
</blockquote>
<p>That's okay. This is just for fun. We will be sharing some of our favourite design resources in Discord and on Twitter to help.</p>
<blockquote>
<p>But, I'm a backend developer... </p>
</blockquote>
<p>This is only focused on the front-end, but don't worry, we will have challenges suited to you in the future. You could give it a try if you have wanted to improve your design skills.</p>
<blockquote>
<p>I don't want to design, I want to build!</p>
</blockquote>
<p>That's fine by me. Flex those building skills and share the hosted site/Github code instead!</p>
<h1 id="heading-important-dates-and-rules">Important dates and rules 📅</h1>
<p>(Extended)</p>
<ul>
<li>June 6th, 2022 (21:00 BST): Hackathon begins.</li>
<li>June 27th, 2022 (23:59 BST): Deadline for submissions.</li>
<li>30th June: Winners will be announced.</li>
</ul>
<p>Send your submission to joel@techpickle.com before the end date above.</p>
<p>Your submission can be in any form you choose. Live design from your chosen tool, hosted site, or screenshots in a word document. </p>
<p>The choice is yours.</p>
<h1 id="heading-need-help">Need help?</h1>
<p>Join <a target="_blank" href="https://discord.com/invite/aQX9kmg7kJ">The Self-Taught Tech Network</a> Discord server or come talk to me on Twitter <a target="_blank" href="https://twitter.com/TechPickleJoel">@TechPickleJoel</a></p>
<p>Thanks for taking part. Looking forward to seeing what you create 🔥</p>
]]></content:encoded></item><item><title><![CDATA[Project 0 - RoadToSolo.com]]></title><description><![CDATA[The Idea
Find it at RoadToSolo.com
Very soon I will be leaving work and becoming a full-time builder.
This is my personal website for the new challenge. I needed somewhere to log my progress and store my projects.
I had three main ideas in place:

Ma...]]></description><link>https://techpickle.com/project-0-roadtosolo</link><guid isPermaLink="true">https://techpickle.com/project-0-roadtosolo</guid><category><![CDATA[Entrepreneurship]]></category><category><![CDATA[side project]]></category><category><![CDATA[projects]]></category><category><![CDATA[Blazor ]]></category><category><![CDATA[Indie Maker]]></category><dc:creator><![CDATA[Joel Pickin]]></dc:creator><pubDate>Wed, 30 Mar 2022 14:37:59 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1648650463803/BB5sxIAdH.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1 id="heading-the-idea">The Idea</h1>
<p>Find it at <a target="_blank" href="https://roadtosolo.com/">RoadToSolo.com</a></p>
<p>Very soon I will be leaving work and becoming a full-time builder.</p>
<p>This is my personal website for the new challenge. I needed somewhere to log my progress and store my projects.</p>
<p>I had three main ideas in place:</p>
<ol>
<li>Make it simple &amp; clean - I didn't need too many bells and whistles.</li>
<li>Add a newsletter to share my progress.</li>
<li>Add a variety of metrics to give others the feeling of really being along for the journey.</li>
</ol>
<h1 id="heading-the-stack">The Stack</h1>
<ul>
<li>Blazor Server</li>
<li>HTML</li>
<li>CSS</li>
<li>Adobe Illustrator</li>
<li>Heroku</li>
<li>ConvertKit</li>
</ul>
<h1 id="heading-costs">Costs</h1>
<p>(In dollars as its more universally understood than the good ol' GBP)</p>
<h4 id="heading-namecheap-domain">NameCheap Domain</h4>
<p>$7.19</p>
<h4 id="heading-heroku-hosting">Heroku Hosting</h4>
<p>$7 per month - It was free until I realized I couldn't link a custom domain without a subscription so now it's $7 per month.</p>
<h4 id="heading-adobe-illustrator">Adobe Illustrator</h4>
<p>Me and Adobe had a fall-out a while back, so this is free for the next few months until my subscription runs out.</p>
<h1 id="heading-what-went-well">What went well</h1>
<p>I finished it, that's the main thing. </p>
<p>Project fatigue (The feeling that you've been working on a project for so long that you don't feel like its going to end) set in and at points I felt like doing anything but work on this. </p>
<p>I soldiered on however and got there in the end.</p>
<p>I learnt a ton about Blazor and saw a massive improvement in my CSS skills. I actually really like the design choices I have gone with, but what do I know, I'm biased.</p>
<h1 id="heading-what-didnt-go-well">What didn't go well</h1>
<h3 id="heading-css-skills">CSS Skills</h3>
<p>The project fatigue was self-inflicted. My CSS skills are far from amazing, I spent far too much time trying to do fancy animations on the mobile navigation menu. Originally the hamburger menu was an actual burger. The icon looked great and I thought all the developers in the audience would have loved the joke, but the animation to transition from burger to close icon caused too many problems and in the end, I just gave up. I think the more I improve my understanding of CSS and Blazor, this will improve. </p>
<h3 id="heading-convertkit-integration">ConvertKit Integration</h3>
<p>The only other real issue I had was with using the generated ConvertKit form. I tried using the JavaScript implementation but only on the Road To Solo page, however, because of the always update nature of Blazor components, you can't place JavaScript directly inside and have to use JavaScript interop in these cases. </p>
<p>I struggled for a while to get my head around how I could achieve this. Then I settled to use the HTML version. Which was horrible. When the form does the post, it navigates away to another page, hosted inside of ConvertKit. I didn't want that. I wanted the artistically talented thumbs up pickle image that is there now. (Check it out when you sign up for the newsletter on the website 😉)</p>
<p>I tried googling the ConvertKit API but for some reason, my Googling skills were lacking that day as I couldn't seem to articulate what on earth I needed. Luckily after speaking to a Twitter friend, he sent me the docs. </p>
<p>I quickly created my own form using HTML, linked up to the ConvertKit API. Easy peasy, problem solved.</p>
<h1 id="heading-improvements-for-the-next-project">Improvements for the next project</h1>
<ol>
<li>Don't waste too much time on unnecessary details.</li>
<li>Blazor is overkill for a portfolio site.</li>
<li>Don't waste too much time on unnecessary details (I said it twice as I need to get this to sink in!)</li>
</ol>
<h1 id="heading-future-improvements">Future Improvements</h1>
<ul>
<li>Future Improvements</li>
<li>Use the Hashnode API to pull my blog posts from TechPickle.com</li>
<li>Create an amazing burger icon animation for the navigation bar</li>
</ul>
<h3 id="heading-what-did-you-think-of-the-site">What did you think of the site?</h3>
<p>Let me know <a target="_blank" href="https://twitter.com/TechPickleJoel">@TechPickleJoel</a> on Twitter.</p>
<p>You can also sign up for my <a target="_blank" href="https://roadtosolo.com/roadtosolo">newsletter</a>. I post about my journey of leaving work and becoming a full-time builder aiming to hit profitability so I can fund my new lifestyle!  </p>
<p>It's also the first place to be in the know about any new projects.</p>
<p>Thanks for reading! 💚</p>
]]></content:encoded></item><item><title><![CDATA[Learn to code using just your phone]]></title><description><![CDATA[Introduction
We aren't all lucky to have a selection of devices at our fingertips. Trust me. I'm the youngest of three boys. I remember getting a shared PlayStation 2 on Christmas day. Being the smallest and the youngest there was zero chance of me p...]]></description><link>https://techpickle.com/learn-to-code-using-just-your-phone</link><guid isPermaLink="true">https://techpickle.com/learn-to-code-using-just-your-phone</guid><category><![CDATA[Developer]]></category><category><![CDATA[Mobile apps]]></category><category><![CDATA[learning]]></category><category><![CDATA[learn coding]]></category><dc:creator><![CDATA[Joel Pickin]]></dc:creator><pubDate>Wed, 22 Dec 2021 15:20:13 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1640186117940/Ee55JzPUw.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="heading-introduction">Introduction</h2>
<p>We aren't all lucky to have a selection of devices at our fingertips. Trust me. I'm the youngest of three boys. I remember getting a shared PlayStation 2 on Christmas day. Being the smallest and the youngest there was zero chance of me playing it until the next console release. </p>
<p>Don't let that bring you down though. Our lack of abundance is a blessing in disguise. We have fewer options and fewer distractions. Fewer options, means we have more conviction on our decisions and more commitment to stick to what we decide.</p>
<p>If you are lucky enough to have a smartphone, you have all you need to get started towards a career in programming. The device in your hand is a world of its own, full of dreams to be achieved and knowledge to be gained. </p>
<p>I will advise that to truly delve into the world of software development, you will need access to a computer in the future. This post is for those of you who only have access to a smartphone right now or those who wish to continue learning to code on the go. </p>
<p>I have tried and tested all the options I mention below myself at the start and throughout my journey of becoming a full-time software engineer.</p>
<h2 id="heading-reading-using-a-kindle-app">📚 Reading, using a kindle app</h2>
<p>The first method of gaining programming knowledge on the go is something that doesn't even require a phone. </p>
<p>There are more books on programming on the market than you could ever get through in your lifetime. Thanks to Amazon, you can order a book and have it with you the next day. Also thanks to Amazon, you can order a book and have it with you to read in an instant, through the kindle app. Thanks to the kindle app you have a libraries worth of information at your fingertips. </p>
<p>There is so much knowledge to be gained from people who are specialists in their fields. These people have taken their time to collate all they know into an easy to digest format.</p>
<p>I remember buying a physical version of Code Complete, a very informative, but very large book. Which I didn't realise until it arrived. I wanted a book that I could consume on the bus on my morning commute. Whipping out this big boy on a packed bus of tired commuters didn't seem feasible. So I bought the kindle version for easy, compact reading. Perfect for those pre-covid journeys to work on a bus so busy that it draws comparisons to being stuck in a sardine tin. </p>
<p>Whilst the physical version sits on my desk as a lovely paperweight.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1640185233127/_ZEmSNR7y.png" alt="image.png" /></p>
<p>There are lots of programming books out there, what works for you, might not work for others. Read plenty of reviews. Know what you want to gain from it when looking. You can even read samples to get an idea of if it suits your taste. </p>
<p>Books are a perfect way to cement the theory of bending a computer to your will or to just keep the learning spark burning whilst you are away from your computer.</p>
<p>There are lots of free materials on the internet that come in PDF or Ebook format. You can download these to use on your kindle. I have done it previously with Microsoft books/guides.</p>
<ul>
<li><a target="_blank" href="https://www.amazon.co.uk/Pragmatic-Programmer-journey-mastery-Anniversary/dp/0135957052/ref=pd_lpo_1?pd_rd_i=0135957052&amp;psc=1">Pragmatic Programmer</a>  by David Thomas, Andrew Hunt</li>
<li><a target="_blank" href="https://www.amazon.co.uk/dp/0735619670/ref=sspa_dk_detail_4?psc=1&amp;pd_rd_i=0735619670&amp;pd_rd_w=tL1pk&amp;pf_rd_p=828203ef-618e-4303-a028-460d6b615038&amp;pd_rd_wg=ixVPv&amp;pf_rd_r=0DA36F1XNEH4ZC8RW67S&amp;pd_rd_r=a2819061-db19-4bea-9c1b-220614ea9a8b&amp;spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUFPSEJIMkYxVlZIQ1gmZW5jcnlwdGVkSWQ9QTAzMjk2NzExS1NBMzBSR0gyUVFGJmVuY3J5cHRlZEFkSWQ9QTA4ODM3ODAzTktFQzBGUUlSN0dFJndpZGdldE5hbWU9c3BfZGV0YWlsJmFjdGlvbj1jbGlja1JlZGlyZWN0JmRvTm90TG9nQ2xpY2s9dHJ1ZQ==">Code Complete</a> by Steve McConnell </li>
<li><a target="_blank" href="https://www.amazon.co.uk/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882/ref=pd_lpo_2?pd_rd_i=0132350882&amp;psc=1">Clean Code</a> by Robert Martin</li>
<li><a target="_blank" href="https://www.amazon.co.uk/dp/0137081073/ref=sspa_dk_detail_1?psc=1&amp;pd_rd_i=0137081073&amp;pd_rd_w=tL1pk&amp;pf_rd_p=828203ef-618e-4303-a028-460d6b615038&amp;pd_rd_wg=ixVPv&amp;pf_rd_r=0DA36F1XNEH4ZC8RW67S&amp;pd_rd_r=a2819061-db19-4bea-9c1b-220614ea9a8b&amp;spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUFPSEJIMkYxVlZIQ1gmZW5jcnlwdGVkSWQ9QTAzMjk2NzExS1NBMzBSR0gyUVFGJmVuY3J5cHRlZEFkSWQ9QTA4ODM4NjgxSUtIQkJFNlg5U1o2JndpZGdldE5hbWU9c3BfZGV0YWlsJmFjdGlvbj1jbGlja1JlZGlyZWN0JmRvTm90TG9nQ2xpY2s9dHJ1ZQ==">The Clean Coder</a>  by Robert Martin</li>
</ul>
<h2 id="heading-watching-tutorial-videos">📹 Watching tutorial videos</h2>
<p>Video is engrained in our daily lives, whether it's watching through the worlds second biggest search engine YouTube or scrolling through your chosen form of social media. </p>
<p>How you spend your time is your decision. You could watch another "5-minute hacks" video and ponder if glue gun shoes really are comfortable, or you could spend this time on growth, on working on yourself and getting a step closer to your goal of being a programmer. </p>
<p>Armed with your phone, a pair of headphones and a good tutorial video, you are all set to learn a wide array of topics in any field.</p>
<p>When coding It is better to watch and then do to cement knowledge, but on the go, that's not always a feasible option so video tutorials act as a great way to learn the theory behind programming concepts. There is an abundance of videos, maybe too many, so weeding out the bad from the good can be a task in itself when using YouTube. </p>
<p>There are some creators that produce some really useful, engaging videos that are more than just educational, they are also entertaining.</p>
<ul>
<li>Brad Traversy - <a target="_blank" href="https://www.youtube.com/c/TraversyMedia">Traversy Media</a> - <a target="_blank" href="https://twitter.com/traversymedia">@traversymedia</a> </li>
<li>Mosh Hamedani - <a target="_blank" href="https://www.youtube.com/channel/UCWv7vMbMWH4-V0ZXdmDpPBA">Programming With Mosh</a>  - <a target="_blank" href="https://twitter.com/moshhamedani">@moshhamedani</a> </li>
<li>Tim Corey - <a target="_blank" href="https://www.youtube.com/user/IAmTimCorey">IAmTimCorey</a> -  <a target="_blank" href="https://twitter.com/IAmTimCorey">@IAmTimCorey</a> </li>
<li>FCC - <a target="_blank" href="https://www.youtube.com/c/Freecodecamp">freeCodeCamp </a> -  <a target="_blank" href="https://twitter.com/freeCodeCamp">@freeCodeCamp</a> </li>
</ul>
<p>Outside of YouTube, there are some fantastic educational sites built around providing high-quality content, some free, some paid.</p>
<ul>
<li><a target="_blank" href="https://www.theodinproject.com/">The Odin Project</a> </li>
<li><a target="_blank" href="https://www.udemy.com/">Udemy</a> </li>
<li><a target="_blank" href="https://www.khanacademy.org/">Khan Academy</a> </li>
<li><a target="_blank" href="www.coursera.org">Corsera</a> </li>
<li><a target="_blank" href="www.edx.org">edX</a> </li>
</ul>
<h2 id="heading-coding-apps">📱 Coding Apps</h2>
<p>Alongside apps that focus on text and video tutorials, there are a wide array of gamified coding apps. Gamification makes the learning experience fun and engaging, making you less likely to get distracted. Through overcoming obstacles you are rewarded with experience and achievements. This is a great way of tracking your progress and making you feel like your efforts are worthwhile. Learning becomes less of a chore and more of a... game.</p>
<p>Learning a programming language is the same as learning any language, persistence and repetition on a regular basis ensure you keep what you have learnt in your head. If you were to have breaks and then return to learning, you are less likely to withhold the knowledge gained and are more likely to have to go over the same topics you have already learnt. </p>
<p>Building a habit of learning, even whilst away from your desk is the way to achieve this. Coding apps allow you to learn, write code and earn rewards whilst on the go. Whether on the bus or having a break on the porcelain throne. </p>
<p>Below are 10 of the best coding apps available on the app stores. I have tried a selection myself and the others are based on reviews. The thousands of people who approve can't be wrong.</p>
<ul>
<li>SoloLearn: Learnt to Code for Free -  <a target="_blank" href="https://apps.apple.com/us/app/sololearn-learn-to-code/id1210079064">iOS </a> -  <a target="_blank" href="https://play.google.com/store/apps/details?id=com.sololearn&amp;hl=en_GB&amp;gl=US">Android</a> </li>
<li>Mimo -  <a target="_blank" href="https://apps.apple.com/us/app/mimo-learn-how-to-code-through/id1133960732">iOS</a>  -  <a target="_blank" href="https://play.google.com/store/apps/details?id=com.getmimo">Android</a> </li>
<li>Grasshopper -  <a target="_blank" href="https://apps.apple.com/us/app/id1354133284">iOS</a>  -  <a target="_blank" href="https://play.google.com/store/apps/details?id=com.area120.grasshopper">Android</a> </li>
<li>Codecademy Go -  <a target="_blank" href="https://apps.apple.com/us/app/codecademy-go/id1376029326">iOS</a>  -  <a target="_blank" href="https://play.google.com/store/apps/details?id=com.ryzac.codecademygo&amp;hl=en_GB&amp;gl=US">Android</a> </li>
<li>Encode -  <a target="_blank" href="https://apps.apple.com/us/app/encode-learn-to-code/id1198851756">iOS</a>  -  <a target="_blank" href="https://play.google.com/store/apps/details?id=com.upskew.encode&amp;hl=en_GB&amp;gl=US">Android</a> </li>
<li>Programming Hub -  <a target="_blank" href="https://apps.apple.com/us/app/programming-hub-learn-coding/id1049691226">iOS</a>  -  <a target="_blank" href="https://play.google.com/store/apps/details?id=com.freeit.java&amp;hl=en_GB&amp;gl=US">Android</a> </li>
</ul>
<h2 id="heading-podcasts">🎙️ Podcasts</h2>
<p>If you learn by listening... which isn't ideal for learning to code but can be recommended so you can fully immerse yourself in the developer lifestyle whilst away from your computer.</p>
<ul>
<li><a target="_blank" href="https://www.codenewbie.org/podcast">Code Newbie</a>  (This one is ideal for those new to coding)</li>
<li><a target="_blank" href="https://softwareengineeringdaily.com/category/all-episodes/exclusive-content/Podcast/">Software Engineering Daily</a> </li>
<li><a target="_blank" href="https://hanselminutes.com/">The Hanselminutes Podcast</a> </li>
<li><a target="_blank" href="https://developertea.com/">Developer Tea</a> </li>
<li><a target="_blank" href="https://www.freecodecamp.org/news/tag/podcast/">freeCodeCamp Podcast</a> </li>
<li><a target="_blank" href="https://www.programmingthrowdown.com/">Programming Throwdown</a> </li>
<li><a target="_blank" href="https://fullstackradio.com/">Full Stack Radio</a> </li>
</ul>
<h2 id="heading-audio-books">🎧 Audio Books</h2>
<ul>
<li><a target="_blank" href="https://www.audible.co.uk/pd/The-Pragmatic-Programmer-20th-Anniversary-Edition-2nd-Edition-Audiobook/B0833F7G72">The Pragmatic Programmer</a>  by David Thomas, Andrew Hunt</li>
<li><a target="_blank" href="https://www.audible.co.uk/pd/The-Complete-Software-Developers-Career-Guide-Audiobook/B078J783C8?qid=1640182209&amp;sr=1-1&amp;ref=a_search_c3_lProduct_1_1&amp;pf_rd_p=c6e316b8-14da-418d-8f91-b3cad83c5183&amp;pf_rd_r=G17E15SX7KHDGR31VKSJ">The Complete Software Developer's Career Guide</a>  by John Sonmez</li>
<li><a target="_blank" href="https://www.audible.co.uk/pd/Clean-Code-Audiobook/B08X8JR5DB?ref=a_cat_Compu_c7_product_1_2&amp;pf_rd_p=56082bee-d791-4891-b2bf-339dc928da2d&amp;pf_rd_r=HRD8800FJT5Q8XCTZ0XM">Clean Code </a> by Robert C. Martin</li>
</ul>
<h2 id="heading-engage-online">🗣️ Engage online</h2>
<p>This one is a personal preference, it may not be for everyone. They say the best way to show your knowledge on a topic is to teach it and I agree. You can reach out to people in a variety of communities. Q &amp; A sites like Quora and Stack Exchange allow you to offer solutions to problems you know the answer to around any topic. </p>
<p>Teaching and offering advice online improves your confidence. You open yourself up to scrutiny so it forces you to fact check and ensures your answers are always correct. The perfect way to cement what you have learnt. Putting what you have learned on the internet in blog posts or offering advice through Twitter not only improves your knowledge but also allows you to build your network of like-minded developers, making your efforts feel worthwhile and offering the potential for many more opportunities.</p>
<h2 id="heading-talking-of-engaging-online">Talking of engaging online...</h2>
<p>If what you have read was useful and you think others could benefit from it, please give it a share.</p>
<p>If you want to engage with me, I am on Twitter <a target="_blank" href="https://twitter.com/TechPickleJoel">@TechPickleJoel</a> </p>
<p>I'm a self-taught senior developer who achieved the position in 4 years. I want to inspire and teach others to do the same. If that sounds of interest to you, give me a follow on here and on Twitter.</p>
<p>Thanks for reading ❤️</p>
]]></content:encoded></item><item><title><![CDATA[I F***ed Up As A Software Developer And You Will Too!]]></title><description><![CDATA[No software developer is or has ever been without error. I challenge you to find a person who writes consistent bug-free code. Impossible. Every developer has messed up. I bet most engineers will remember the first time they truly fucked up. It is de...]]></description><link>https://techpickle.com/i-fucked-up-as-a-software-developer-and-you-will-too</link><guid isPermaLink="true">https://techpickle.com/i-fucked-up-as-a-software-developer-and-you-will-too</guid><category><![CDATA[Programming Blogs]]></category><category><![CDATA[software development]]></category><category><![CDATA[Software Engineering]]></category><category><![CDATA[General Programming]]></category><dc:creator><![CDATA[Joel Pickin]]></dc:creator><pubDate>Thu, 11 Nov 2021 13:23:05 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1636632266197/RL1J4BOUN.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>No software developer is or has ever been without error. I challenge you to find a person who writes consistent bug-free code. Impossible. Every developer has messed up. I bet most engineers will remember the first time they truly fucked up. It is deeply ingrained in their psyche. </p>
<p>Feeling like a veteran with PTSD, they remember that fateful day. A blurry flashback, the blinding crackle of a monitor and the intense sound of keystrokes echoing around them, as realization kicks in. </p>
<p>You weren't thereeee, man!</p>
<p><img src="https://media.giphy.com/media/26FPtNpmv8e7qtzS8/giphy.gif" alt="PTSD dog gif" /></p>
<p>This is the story of my first mistake, and how to correctly deal with it when you inevitably make one too.</p>
<h2 id="how-i-fucked-up">How I fucked up?</h2>
<p>It was a normal day, like every other. I was working as a junior developer in a large Fin-Tech company based in the North of England. My days consisted of fixing bugs, closing tickets, and learning, lots and lots of learning. The previous day I picked up a ticket. The issue was a group of clients investment valuations were incorrectly showing. I put on my deerstalker hat and got to investigating 🕵️</p>
<p>One long investigation later...</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1636619054070/OGH8cau7R.png" alt="image.png" /></p>
<p>I discovered the problem arose from a pesky Id field that wasn't populated from a link table.</p>
<p>I had dabbled in SQL. Nothing too complex. It was still early days in my developer career but I was happy with the challenge. I knocked together a SQL statement in SQL Server Studio. I wish I had a copy of it now to show you the pure performant elegant power of queries I wrote as a junior!</p>
<p><img src="https://media.giphy.com/media/l41lHsrKaQVdOIfi8/giphy.gif" alt="Arnold Schwarzenegger he's lying gif" /></p>
<p>Alas, I do not. I highlighted it and pressed run. </p>
<p>Oh... I didn't mention the company I worked for allowed you to develop on a live database did I? Well... they did... as a junior, that is just madness. They didn't even have a QA team 🤯</p>
<p>A hard days work was done and another ticket off the board.</p>
<p>Joel: 1 - Bugs: 0 </p>
<h3 id="now-back-to-the-day-it-all-happened">Now... back to the day it all happened</h3>
<p>I made my morning coffee. Sat at my desk and got to work on another ticket. Later that day a group email dropped in my inbox from the support team, with the subject of URGENT! </p>
<p><em>"We have had several complaints from customers regarding this..."</em></p>
<p><em>"There was a similar bug fixed in this area yesterday..."</em></p>
<p><em>"Clients don't have incorrect investment valuations showing, they have NO valuations showing..."</em></p>
<p>I read through it, line by line, it became clear. It was my fault. My stomach sank. I was nervous. Palms sweaty, knees weak, arms heavy. Moms spaghetti. </p>
<p><img src="https://media.giphy.com/media/nOC6xDYlLXd3q/giphy.gif" alt="Eminem moms spaghetti gif" /></p>
<p>I was one of four juniors who started at the same time. We always made jokes about who would be the first to make a mistake. Yet here we were, it was me. I knew what I needed to do. I didn't want to do it. But I had to. I gathered all the evidence I could think of that related to the issue and nervously headed to the senior engineer's desk. </p>
<p>I explained the situation. After receiving a couple of friendly jibes, standard workplace banter. I buddied up with a senior developer and we got to work fixing it. By "we" I mean I sat next to him and told him what I had done. He then proceeded to do some SQL wizardry. Moving around the keyboard like Mozart on speed, yet still managing to talk me through what he was doing. He ran a script, 198 rows affected. That was it. Panic over. </p>
<p>I was the fuck-up for a short while. It wasn't long until another junior made a mistake and the title passed to them. </p>
<h2 id="you-will-fuck-up-too-heres-how-to-handle-it">You will fuck up too... Here's how to handle it</h2>
<p>We all make mistakes. It's how you deal with it that matters.</p>
<p>When the brown stuff hits the fan, here is what you need to do.</p>
<h4 id="stay-calm">😌 Stay calm</h4>
<p>You will be nervous. You will question your ability. Imposter syndrome is a feeling all developers have experienced. Even the most seasoned coders, years into their career still struggle with it. The best solution is to not lose your head. You need to get in the habit of finding solutions, not dwelling on problems. </p>
<blockquote>
<p>If you can solve the problem,</p>
<p>Then what is the need of worrying?</p>
<p>If you cannot solve it,</p>
<p>Then what is the use of worrying?</p>
</blockquote>
<p>-Shantideva</p>
<p>Above is a Buddhist quote on dealing with problems. I read it a few years ago and it still resonates with me now. The beauty is, as a developer, you can always solve the problem. </p>
<h4 id="find-the-problem-even-better-find-the-solution">💡 Find the problem. Even better, find the solution</h4>
<p>You need to establish the cause of the problem. Once found, you can limit the involvement of another engineer by finding a solution. If a solution doesn't seem clear, gather all the evidence to assist the person who will be assisting you. With the issue clear in your mind, you can approach the situation in the best way. So when discussing you come across as both confident and competent.</p>
<h4 id="accept-responsibility-and-dont-be-afraid-to-ask-for-help">✋ Accept responsibility and don't be afraid to ask for help</h4>
<p>The worst thing you can do in these situations is to not own up. Even worse, try to cover it up. Swallow your pride. Everyone makes mistakes. Your response when the pressure is on will be noticed more than the fact you have broken something. The longer you put off asking for help, the worse it will seem in your mind. </p>
<p>So take Nike's advice and Just Do It.</p>
<h4 id="learn-all-you-can-from-it">🎓 Learn all you can from it</h4>
<p>Every problem is a learning opportunity. Especially early on in your development career. I learnt not to make that same mistake twice. I learnt that the outcome is never as scary, or as negative as it is in your head. As well as that, senior developers are not as intimidating as they seem. Observe all you can. They would appreciate teaching a fledgeling engineer something new. That is, if you don't come back to them in two weeks with the same issue, then maybe they will label you inept. </p>
<h2 id="how-to-avoid-fucking-up-in-future">How to avoid fucking up in future</h2>
<p>What if you haven't fucked up yet, or maybe you have and want to avoid it in the future. Follow my advice below to reduce your chance of breaking something. </p>
<h5 id="note-reduce-not-eliminate-mistakes-will-happen">Note: Reduce, not eliminate. Mistakes will happen.</h5>
<h4 id="check-check-and-check-again">✅ Check, check and check again</h4>
<p>Read your code, double read it, triple read it. Run it and then re-run it again. If you don't want bugs or mistakes then you need to be thorough in your testing. Even then, a competent QA team may still find a scenario that breaks your code. As long as you feel confident that it will incorporate itself nicely into the existing codebase, without breaking anything, then you are good. </p>
<h4 id="use-source-control">🌿 Use source control</h4>
<p>This goes without saying. If you aren't using source control, why? Consider it the bouncer to the codebase nightclub. Not letting anything past unless it has been thoroughly checked. You can view, edit or even undo your changes if you aren't sure that what you have written will mix well with the existing code. Look into Git, GitHub, VSTS on Google for more info on this. </p>
<p>Take this a step further by using pull requests.</p>
<h4 id="get-someone-else-to-check">🧐 Get someone else to check</h4>
<p>Pull requests offer a view of the before and after of your code changes. These can be sent to other team members for validation before going into the main codebase. This way, you can get rapid feedback, and it mitigates the level of risk involved, as someone else has checked the quality of your code too. </p>
<h4 id="become-comfortable-with-asking-for-help">😬 Become comfortable with asking for help</h4>
<p>This can only benefit you in the early days of your programming career. Don't be afraid to get a second opinion. Especially when it comes to database queries. Your company will most likely have a Database administrator (DBA). Get advice from the relevant person if you feel unsure. </p>
<p>Don't go asking questions to problems without a solution. Ask for confirmation on the solution once you have found one. Unless you are really stuck, then explain you have exhausted all your efforts and a senior member can point you in the right direction.</p>
<h4 id="dont-develop-on-a-live-database">❗ Don't develop on a live database</h4>
<p>I can't believe I have to include this on the list, but judging by my previous workplace, I do. Set up testing environments and databases for developing on. Keep your production codebase separate and have the checks mentioned above in place to ensure no severe bugs are introduced. Developing on a live database means you are interacting with the real info of real people and that is something you really don't want to do unless you really have to. </p>
<h3 id="this-is-the-end-good-luck">🍀 This is the end, good luck</h3>
<p>There you have it. My first big mistake and how I learnt to handle it. I hope you can learn from this too. Not that you won't make mistakes, but you will be fine if you have the right attitude and outlook to deal with it when the time comes. Problems come and go like the wind in this industry, so don't take stuff personally and always learn from your mistakes.</p>
<p>Follow me for my upcoming posts or you can find me on Twitter https://twitter.com/TechPickleJoel</p>
<p>I went from self-taught to senior engineer in 4 years. I tweet and blog about</p>
<ul>
<li>⚡ Becoming a software developer</li>
<li>🎓 Learning the required skills</li>
<li>🔎 Finding a job in the industry</li>
<li>👷 On the job skills &amp; advice</li>
<li>🌱 Growing in your current career</li>
</ul>
<p>Thanks for reading ❤️</p>
]]></content:encoded></item><item><title><![CDATA[Do you need a CS degree to become a software developer?]]></title><description><![CDATA[https://twitter.com/TechPickleJoel/status/1457395840822173700
The real answer depends entirely on you as a person. What are your motivations, aspirations, what’s your end goal, and what do you value in the middle? Answer these and you will have a cle...]]></description><link>https://techpickle.com/do-you-need-a-cs-degree-to-become-a-software-developer</link><guid isPermaLink="true">https://techpickle.com/do-you-need-a-cs-degree-to-become-a-software-developer</guid><category><![CDATA[learn coding]]></category><category><![CDATA[Developer]]></category><category><![CDATA[newbie]]></category><category><![CDATA[#codenewbies]]></category><category><![CDATA[General Programming]]></category><dc:creator><![CDATA[Joel Pickin]]></dc:creator><pubDate>Mon, 08 Nov 2021 15:16:05 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1636384081928/rR10yaBTR.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="embed-wrapper"><div class="embed-loading"><div class="loadingRow"></div><div class="loadingRow"></div></div><a class="embed-card" href="https://twitter.com/TechPickleJoel/status/1457395840822173700">https://twitter.com/TechPickleJoel/status/1457395840822173700</a></div>
<p>The real answer depends entirely on you as a person. What are your motivations, aspirations, what’s your end goal, and what do you value in the middle? Answer these and you will have a clearer idea of what path you wish to follow. There are positives and negatives to getting a computer science degree, but there are just as many if you are looking to follow the self-taught path. You just have to weigh up which positives you value the most and which negatives you wish to endure. </p>
<p>Carry on reading below and I will do my best to help you find the route that suits you most.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1636380303477/W-ScTelU_.jpeg" alt="caleb-woods-RIcMwDLk1wo-unsplash-1024x576.jpg" /><em>Photo by  <a target="_blank" href="https://unsplash.com/@caleb_woods">Caleb Woods</a>  on  <a target="_blank" href="https://unsplash.com/">Unsplash</a> </em></p>
<h1 id="positives-of-getting-a-cs-degree">Positives of getting a CS degree</h1>
<h2 id="offers-a-structured-learning-environment">Offers a structured learning environment</h2>
<p>The first question to answer is what sort of learner are you? Do you prefer a structured learning environment? A start to finish solution that tells you what you should be learning and when? If so, getting a computer science degree may be for you. Work is set out into modules, lessons are done on those modules and coursework relating to each section follows. </p>
<p>A lot of people find it difficult to achieve a deep focus outside of a classroom environment, that’s okay, maybe a computer science degree is for you. It is possible to set up systems to get the same structured experience whilst teaching yourself. More on that below.</p>
<h2 id="the-experience-fills-out-your-cv">The experience fills out your CV</h2>
<p>Getting a job can be hard enough as it is, but getting a job without any work experience is even worse. I find it funny that to get some entry-level jobs you need to have X amount of years relevant work experience, but those jobs are there for people to get their start in the world of work to build up experience. </p>
<p>This is where going to university can be a good thing. It shows your commitment to stick to something, similar to work experience. In that empty period where self-taught software developers are learning to code, you will have a block of experience where you have been at university. A degree gives you the necessary experience on paper that shows you are employable.</p>
<h2 id="you-are-more-likely-to-get-an-interview-with-a-degree">You are more likely to get an interview with a degree</h2>
<p>On the same lines as above, because you have a sizable chunk of time at university, it shows you have experience working to deadlines, committing to large projects and a willingness to work hard. Many companies will look if a candidate has a degree and instantly yes or no an application based on that. </p>
<p>I have the belief that this is changing, more and more programmers are self-taught and have portfolios to prove how skilled they are, however not getting an interview because you don’t have a degree does still happen. Having a degree gets your foot in the door for an interview. </p>
<h2 id="university-is-perfect-for-networking">University is perfect for networking</h2>
<p>Programming is a lot of what-you-know but also a lot of who-you-know. Some of my best opportunities have been through building relationships with colleagues and the lovely folks of the internet. I would not have landed my previous role if I hadn’t made such fantastic friends in my previous workplace that informed me of better opportunities elsewhere. This is one of the biggest positives of going to university. </p>
<p>You are on the journey to find yourself and along the way, you meet a wide array of people from different cultures, backgrounds and viewpoints. You meet plenty of people on your course, all with common ground and all heading in a similar direction to you. These lasting friendships may mean opportunities to work somewhere with them in the future. They could be securing you an interview or at least putting in a good word. Maybe you see yourself as the budding entrepreneur, your peers could be your partners as you take on a venture, or maybe future staff to work within your business.</p>
<h2 id="you-get-the-university-experience-independence-and-your-first-sniff-of-real-life">You get the university experience, independence and your first sniff of real life</h2>
<p>This is something I never had the pleasure of experiencing and part of me wishes I had. The university experience includes partying, going out to events and meeting lots of different people. You are young, you want to go wild and have your first taste of independence, university and its culture give you that in abundance. Now don’t get me wrong as fun as it sounds, it’s probably not worth the university debt in the future, and with a good group of friends, you don’t need to go to university to get these experiences, but it is worth noting that this is a positive for getting your degree</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1636380323949/IAjFKIDMv.jpeg" alt="honey-yanibel-minaya-cruz-laORtJZaieU-unsplash-edited-scaled.jpg" /><em>Photo by  <a target="_blank" href="https://unsplash.com/@honeyyanibel">Honey Yanibel Minaya Cruz</a>  on  <a target="_blank" href="https://unsplash.com/">Unsplash</a> </em></p>
<h1 id="downsides-of-getting-a-degree">Downsides of getting a degree</h1>
<h2 id="big-ol-debt">Big Ol’ Debt</h2>
<p>This is the main one. The biggy. The worst reason for going to university… the debt. You get all those neat experiences and memories. You work your ass off to hit deadlines and hand in coursework. All so you can achieve your dreams of doing X. But to achieve your dreams you have to have a sizeable chunk of debt hanging over you. The upper limit of tuition fees in the UK is £9250 per annum. A typical undergraduate degree in the UK lasts three years, meaning the average student debt amounted to £27,000 in 2020. Not including repayment of maintenance loans for living and rent, on top of tuition fees, this can total between £35,000 and £40,000.</p>
<p>It’s not a great way for young people to start their adult life, by having over 30k worth of debt, before they have even considered looking at a mortgage. I know you have to hit a certain pay bracket before you have to start paying it off, and even then it’s in smaller increments, but it is still a burden that people have to take on to get where they want to go.</p>
<h2 id="deadlines-coursework-stress">Deadlines, Coursework, Stress</h2>
<p>Above I identified this as a positive, for those people who love self-punishment and enjoy dealing with piles of coursework and a calendar full of deadlines. Now to look at it as a negative, the way I feel about it. I don’t hate deadlines, I just hate deadlines that I haven’t set. Unless I feel they help me work towards my goals and values then I don’t feel like devoting my time towards them. I know if I was in university then technically those deadlines would be towards my goal, but, having not walked that path, I appreciate being able to set my direction and change it if I want to. Rather than being stuck on content someone else wants me to learn.</p>
<p>The question is not to ask yourself “Do I want deadlines?” It is to ask “Do I want deadlines set by someone else?”</p>
<h2 id="study-areas-may-not-be-to-your-liking-but-are-compulsory">Study areas may not be to your liking but are compulsory</h2>
<p>As I mentioned above, in University you are tied to a standard curriculum. You must learn the topics set by your tutors, to their deadlines and their standards. You might be able to pick between a few modules but that is as far as your choose-your-own-adventure-at-university book permits you. You can use your free time to learn more about what interests you, but that can be difficult to do with the call of the extra-curricular activities university offers </p>
<p> Anyway, who wants to do more learning after being talked at about Data-structures for three hours.</p>
<h2 id="what-you-learn-at-university-is-not-what-you-actually-do-as-a-developer">What you learn at university is not what you actually do as a developer</h2>
<p>This is information from colleagues of mine who have gone to university and got their degree. What you learn at university is a lot of theory but doesn’t benefit you in the ways you need it, when it comes to working within a real-life software development team. You learn the ins and outs of algorithms and theories of computation, but you don’t learn the necessary skills to help integrate you into an actual development environment. </p>
<p>SCRUM ceremonies, planning and agile methodologies. Being a bug squatter picking up ticket after ticket. Meeting after meeting to discuss the direction of apps. Actual development involves a much more hands-on approach to what’s taught in universities. After finishing learning and getting your degree, you are placed in a team of individuals with much more experience than you to start your learning journey all over again.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1636380388431/ckMRHGdMb.jpeg" alt="4a5001b7beea096457f480c8808572428b-09-roll-safe.2x.h473.w710-edited.jpg" /></p>
<h1 id="positives-of-being-self-taught">Positives of being self-taught</h1>
<h2 id="no-debt">No debt</h2>
<p>This is the big one. For those who can become laser-focused and teach themselves to code at home. Who struggle through difficult problems, and don’t throw in the towel when imposter syndrome sets in. You will be rewarded. You will be rewarded with a job and be rewarded with the fact that you got to that point without accruing £40k worth of debt.</p>
<h2 id="self-directed-study-you-choose-what-you-want-to-learn">Self-directed study, you choose what you want to learn</h2>
<p>Want to learn how to make cross-platform mobile apps? Okay, get to it. Want to switch up and hone in on building a personal website? You can. Have some brilliant new idea for an Amazon Alexa skill and want to know how to make them? Drop what you are doing and get at it!</p>
<p>This is the beauty of learning to code by yourself. You set your direction. You set your goals and you set your wants and needs based on them. It’s your choice on what you want to learn and where you want to go with it. There are the basics that everyone has to learn, data types, variables if-else conditions etc. These are transferrable skills that you can use no matter what product you seek to build and whatever language you seek to build it in. It can be hard to stay focused learning anything, but it is so much easier when you have a want, a need, a burning desire to build whatever crazy idea you have floating around in your head.</p>
<h2 id="build-up-your-portfolio-as-you-learn">Build up your portfolio as you learn</h2>
<p>Having a portfolio as a programmer makes you more employable. Whether you have earned your computer science degree or are self-taught, you will need a portfolio to highlight your skills. Building and releasing websites and apps are the best way to get a potential employer to take note. This is where a strength to being a self-taught developer comes in. You will be working on your tech products as you improve your skills. These tech products are portfolio items. So you are killing two birds with one stone.</p>
<h2 id="what-you-put-in-is-what-you-get-out">What you put in is what you get out</h2>
<p>Not having the deadlines of the traditional education route means you don’t have the stress looming over you to do coursework and make sure it is to a certain standard by a certain date. This is both positive and negative. Not having a deadline can make most people lazy and want to procrastinate. With the pressure off, most people take the easier route, which then leads to not doing the work required to achieve your dream of becoming a developer. This is why if you are going on the self-taught developer journey, you have to be strict, achieve your goals before you reap your rewards. </p>
<p>Along the same lines. If you want it enough and have it in you, you can work as long and as hard as you like towards achieving your goal. If you are doing something you enjoy, there is no stopping you. What you put in is what you get out. If you want it enough, you could have your dream of being a programmer professionally in a year. Keep in mind, self-care is key to consistent high performance, so don’t overdo it. Love the learning process.</p>
<h2 id="you-will-be-following-the-path-of-a-self-taught-developer">You will be following the path of a self-taught developer</h2>
<p>I have touched on this a few times already. During and after earning your degree you will be following the same path as a self-taught developer. Constantly learning and building new things to add to your portfolio. Having to put in extra time on evenings, and when not in class to learn a programming language to make yourself more employable.</p>
<h2 id="you-end-up-with-the-same-pay-as-someone-with-a-degree">You end up with the same pay as someone with a degree</h2>
<p>A computer science degree gets your foot in the door for an interview. After you have landed the job, you will most likely be a junior software engineer. If you can go through the self-taught process and land a job at the end of it, you will be at the same level as someone who spent three years at university, earning the same money, with none of the debt.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1636380399105/9Tjl0wtVi.jpeg" alt="tim-gouw-1K9T5YiZ2WU-unsplash-1024x685.jpg" /><em>Photo by <a target="_blank" href="https://unsplash.com/@punttim">Tim Gouw</a> on  <a target="_blank" href="https://unsplash.com/">Unsplash</a></em> </p>
<h1 id="negatives-of-being-self-taught">Negatives of being self-taught</h1>
<h2 id="self-directed-study-so-it-can-be-hard-to-stay-focused">Self-directed study so it can be hard to stay focused</h2>
<p>I have covered this above. Computer science degree deadlines can help with focus as it is do it or fail. It is very difficult to stay focused and motivated without the fear of a deadline approaching. You don’t have a clear direction, you have to manage this yourself. Alongside this you have no peers or teachers to rely on for advice, however, you do have several online communities to ask for, or maybe you can reach out to someone on Twitter. Like me, drop me a message @TechPickleJoel for any advice, or even just to connect and chat.</p>
<h2 id="there-is-no-clear-endpoint">There is no clear endpoint</h2>
<p>The journey of a self-taught developer is an unsure one. You will doubt yourself, question your choices in life and maybe take a few kicks before you get to where you want to be. It could take you 6 months to a few years before you get a full-time developer job. You may receive rejection after rejection until you finally get that person willing to give you a chance. If you have willpower and tenacity you can do it.</p>
<h3 id="what-both-paths-share">What both paths share</h3>
<ul>
<li>💻 You will learn to code.</li>
<li>🏗️ You will build amazing things.</li>
<li>💪 Both are hard and will give you a massive sense of achievement.</li>
<li>💰 Money </li>
</ul>
<p>Whichever route you decide to take. Enjoy the process, it won’t be easy, but it is worthwhile in the end. </p>
<p>Thanks for your reading ❤️</p>
<div class="hn-embed-widget" id="convertkit"></div>]]></content:encoded></item></channel></rss>