Ask HN: What to focus on for proving I am a competent programmer?
I am a self-taught programmer, and I am trying to get my first job related to coding. I've been programming in general for 6 years, most of the time in python with a few incursions into other languages. I also have the experience to be a Linux sysadmin, but I'd prefer something more dev-focused. I have a bunch of partially finished projects; most would take a bit to finish, but a few would be doable. I've setup a blog, https://holdnack.net, a week ago. So I guess I'm wondering is it better to have a few solid projects, one bigger project, a well-written blog or something else entirely? Oh, and this is focused on just getting an interview; I am generally confident on my interviewing skills, depending on how leet it is. OK, let me try help as much as I can here. > I've been programming in general for 6 years, most of the time in python with a few incursions into other languages. Can you be more specific here please, if possible? How do you use Python, exactly? It's quite useful to know how to use one-liners in Python; lots of tasks can be automated as cron jobs, especially for DevOps this is very convenient. > I have a bunch of partially finished projects; most would take a bit to finish, but a few would be doable. It would be useful to finish as many as possible, so you can use them as part of your portfolio. > I've setup a blog, https://holdnack.net, a week ago. Good! Try to find a topic you are interested in to specialize on, so you can make your name synonymous to that niche. For instance, Chris Wellons' website [1] is a must-read by those who are interested in C's deep and interesting corners. He covers other topics as well, but most of the times in C he goes as low as possible; mind-blowing to say the least! > So I guess I'm wondering is it better to have a few solid projects, one bigger project, a well-written blog or something else entirely? 80% on one bigger project, 20% on various smaller projects, and whenever possible write down your adventurous journey. This way you will build your audience...but don't write for the sake of writing; have something to share with your like-minded friends and acquaintances. For example, follow blogs with well-written material. I already shared Chris' website; another blog to follow in case you are in web development, is Lea Verou [2]. > Oh, and this is focused on just getting an interview; I am generally confident on my interviewing skills, depending on how leet it is. Then you have nothing to worry about; you are good to go! Good luck! Thank you for the detailed reply! As for what I actually did with Python, it was a mixture of cli apps, apis in Flask and a fair amount of personal libraries, like an async couchdb client library and a wrapper around termux-api commands. You are yet to get your first job. Your first and immediate goal should be doing projects. Pick a popular website and clone it with Django/Flask. Do it for 2/3 websites. Write and maintain a blog post where you share your journey and write tutorials. Your portfolio website is itself a project. Make it carefully, make it cool and functional. Open Source contributions and making YT videos are suggested, but skip them if you have too much pressure. Then solve programming problems. A lot of them, regularly. Learn about basics of DS and Algo. Then start applying. Apply in scores. Or hundreds. You will land something. One of the best and simplest ways to prove you're a competent programmer would be to just live stream yourself coding on twitch or YouTube. Both sites let you record and edit previous streams down to highlights you can organize into categories (e.g. database work vs frontend work). Live streaming is also great practice for interviews as well, because you shout be narrating your train of thought and explaining pros and cons of your solution as you work on it, for both. I did exactly this before acquiring my current job, and my boss thanked me for sharing the content and said that was the best possible interview process he could conceive of. *should be Likely leetcode, and lots of it. leetcode.com Seriously, once you get the interview thats all that matters Yep, it’s stupid but it works for most companies out there. If you want a job with me, I look for depth of expertise, rather than breadth. One project that shines > 100 shallow projects. does your code lead to profit?
> I also have the experience to be a Linux sysadmin, but I'd prefer something more dev-focused. * web development, like Flask or Django?
* Machine Learning / Deep Learning?
* CLI applications or web services?
* GUI framework such as wxPython, Tkinter, PyGTK, PyQt, Kivy?
[1] https://nullprogram.com/
[2] https://lea.verou.me/