Writing

  • Thought-Provoking Reads for Developers Issue 2, September 2018

    Thought-Provoking Reads for Developers

    In this second issue of Thought-Provoking Reads for Developers, I share some of the most interesting reads that I’ve stumbled upon across the Internet, made it into my Pocket reading list, and I felt were good enough to amalgamate and provide a brief synopsis on! I try to release one of these every couple of weeks, if not every other week, depending on my reading flow! As previously mentioned, I try not to include specific technology specific pieces (e.g. an article talking about a programming language, framework, or methodology), but rather material that you might not have gone out of your way to research or otherwise read.

    I especially want to send well wishes to Baltic apprentices reading my works during #NationalCodingWeek here in the UK! As a former Baltic apprentice myself, I can’t emphasise enough how great of an opportunity you have ahead of you, and I would strongly encourage you to take on as much as you can (without burning yourself out of course!), learn as much as you can, and work as hard as you can! You really will get out what you put in, and I have no doubt that your apprenticeship will provide a springboard for you to leap head first into a great career within your company, a career within your industry, or like me, into higher education if that’s what you want to pursue! I’d love to hear from you on the Baltic Alumni Facebook page.

    My best tips for new developers: advice from a (mostly) self-taught software engineer

    This is a really fantastic piece by Ali Spittel who teaches programming full-time. If you’re just getting started as a programmer, or are looking to get started, you can’t go wrong with her advice. The most important lesson you can take away from this article is the importance of being willing to learn, and to keep on learning. It’s something that we never stop doing! Furthermore, while there is a ton of advice that will help you as you start writing code, there’s also a wealth of advice specifically aimed at you as you develop as a, well, developer!

    There’s 25 points in total (number 16 is my personal favourite!), and I guarantee you’ll go away from it having learned something new, even if you consider yourself experienced! I find from my own experience there always fundamentals we can brush up upon, or new viewpoints that we can incorporate into our own thinking! Just remember, programming is awesome!

    Feel busy all the time? There’s an upside to that

    I like being busy. A lot of people like being busy, and a whole lot of us spend a great deal of time humble-bragging about how busy we are, with all our various undertakings and work and what have you. I do this too, although it’s not a habit I’m proud of. A lot of research available on the Internet focuses on the negative aspects of multitasking and of course the very real risk of burning out, but did you know that there are perks of being busy? People who view themselves as more important as a result of having a ‘busy mindset’ are more likely to make more positive choices, such as adopting healthier eating habits. Now there’s something we can all benefit from!

    This great psychological article in the Harvard Business Review comes from academics Amitava Chattopadhyay, Monica Wadhwa, and Jeehye Christine Kim, and I highly recommend you give it a read, even though it’s not specifically aimed at software engineers; we do often lead busy lifestyles and it can’t hurt to feel a little less guilty that being so busy isn’t without its upsides.

    How I went from a finance superstar to a software developer

    I spoke with the author, Justin Travis Waith-Mair, a few weeks ago on Twitter when myself and other freeCodeCamp users encouraged him to write about his story after he revealed that he had made the brave transition from a career in finance over to software engineering following being let go.

    This is an insightful read that goes to show that you don’t need a CS degree or mountain of internships to start work in software. What’s most important is your willingness to learn, to persevere in the face of rejection, and to be willing to produce a portfolio of work, such as through the FCC curriculum, that demonstrates your passion for the field and what you have learned to do! Don’t be afraid, just get started!

    How I went from newbie to Software Engineer in 9 months whilst working full time

    This is a similar story written by Austin Tackaberry bringing in the themes of learning and switching careers, particularly how he made full use of learning materials online to get where he wanted to be. Each month is clearly structured with objectives and of course what resources he leveraged. It’s truly phenomenal that with the right motivation and learning materials what you can accomplish, such as an entire career transition, in just a short space of time. (Some people genuinely don’t think it can be done, and they are wrong!)

    What was his overall aim? Landing a software engineering job within a year making at least the same amount of money as from his previous job. If you’re wondering what learning resources you should learn from that as demonstrated in Austin’s story are proven to translate to real-world results, this is definitely a read for you.

    42 Venn Diagram
    What a magical number!

    Shrikant Jichkar – The Man Who Had 20 Degrees From 42 Universities

    Now for something a little different! Is 42 really the meaning of life? For one academic hailing from India, it certainly was. He didn’t get 20 degrees from 42 universities as the title might allege, but rather he sat 42 university level examinations in the course of his academic career. Never ceasing to learn is an important trait across many career paths, and is a lifelong philosophy that I strongly recommend – not that I recommend you go out and get 20 degrees though! Just think of all that debt!

    If we can learn anything from Dr. Jichkar, it’s that you should embrace learning and pursue it no matter what path you go down, and whether you do that in a university, in a library, or at work, is entirely up to you! He was a truly great mind versed in a range of different fields that truly demonstrates that there is no limit to how much you can learn as long as it continues to fascinate you! Unfortunately, Dr. Jichkar died at the onset of his fifties in a traffic accident.

    Avatar

    My apologies for the delays in getting out this issue, but as I mentioned on my blog yesterday, I’ve just been busy! I’m currently in the process of reading more and more material that I am looking forward to sharing with you in the third edition of Thought-Provoking Reads for Developers. Of course, if you find this useful, I would really appreciate it if you gave this a share on social media! Your feedback definitely provides me incentive to keep writing. In addition, if you’re an author and you would like me to feature your work as you think it would be helpful, drop me a tweet or an email and I’ll be more than happy to give it a read! Please stay tuned on my blog for more writing regarding software engineering, volunteerism, mental health, and tidbits from my everyday life. Thank you so much for reading and I hope to find you in the comments below!

  • Thought-Provoking Reads for Developers Issue 1, September 2018

    The Two States of Every Programmer: 1) I am a God 2) I have no idea what I'm doing
    We’ve all been there. The importance is persevering.

    As a software engineer myself, I spent a lot of time learning because that’s just a natural part of the job. It’s something that is part of what we do and an integral part of the industry. We’re always learning from each other, from materials published online or perhaps on paper, and there are always little gems out there that you hope will positively impact others the way that they have impacted you. That’s definitely the case with the webpages that I am sharing with you today!

    Why so many Developers Quit Before Ever Getting a Job. Please – Don’t.’ 

    The first item I want to share with you is an article from the freeCodeCamp Medium platform written by Alexander Petkov earlier this year.

    If like me you have ever suffered with Imposter Syndrome, or have found yourself face-to-face with continuous uphill battles and struggles when programming, perhaps on your own projects, a coursework project, or perhaps something assigned to you in a junior job or internship and consequently became significantly discouraged, then this article is fro you. Alexander really drives it home that you don’t need to love programming to be a programmer and that a willingness to improve and patiently get better over time is ultimately the key to success. He also goes on to talk about that it’s important not to get overwhelmed in the face of a million and one things you feel like you need to learn (something I still face on continuous basis!) and how to approach these feelings.

    On a personal note, I really wish this had been published several years earlier for it to be read by myself as I was preparing to embark on my internship.

    Teach Yourself Programming in Ten Years

    This is a great piece by Peter Norvig, with a ton of academic research behind it, and is available in a range of different languages.

    Why exactly are people in such a rush to learn programming, or any given programming language, framework, or paradigm? Realistically, this just isn’t feasible – it takes a great deal more time and effort to learn something effectively, and surely in such a short timeframe one might only develop a somewhat familiarity to a subject. Mastering something and becoming a programmer requires interest and active work, as discussed by Peter’s recipe for success, and just remember that these approaches to learning affect all topics. It doesn’t matter whether you’re drawing, playing chess, or learning how to be a parent, books and reading will only help you so much if you’re not rushing; you gotta get your hands dirty. I’ve also come away from reading this with a new favourite quotation:

    Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter – Eric Raymond

    How To Teach Yourself Programming

    This one is kind of cheating, because it follows on immediately from the last one. If you were clicking on the links in the last article you might have seen it already, but it’s a great little comic from Abtruse Goose, and actually might be the only way to learn C++ in 21 days. At least that I know of.

    Modern Frontend Developer in 2018

    The mother of all articles on this post. It was only published last week by Kamran Ahmed; you might already be familiar with his developer roadmaps on GitHub.

    The article goes through modern frontend development bit-by-bit, from learning the absolute basics of HTML, CSS, and JavaScript, whether or not you should still learn jQuery, package managers, task runners, preprocessors, frameworks, etc. If you’re not sure where to go and you’re interested in frontend (or full-stack) development then this is an absolute must read, in my opinion at least. It’s definitely pointed me in the right direction when it comes to which technologies deserve my attention next. It even provides some example tasks for you to do so that you know that you’ve learned sufficiently enough to move onto the next section.

    Woes of a Junior Developer – is it possible to not be cut out for programming?

    This is a different one, as it is in fact a discussion on Stack Overflow, rather than an article. The initial question proposed is an interesting one, following the story of a junior developer who is having a considerable amount of difficulty and is ultimately questioning whether they are set out for this career. It’s quite apparant that the symptoms of Imposter Syndrome are sinking in, and the fear of not being able to progress or being forced to change career paths is daunting them.

    The good news is, that while you can be naturally talented as a programmer, if you lack that inherent talent, that’s still okay, and you can still be a great programmer. It just takes more practice. The top two answers are good reads and are reassuring. Yes it’s possible not to be cut out for programming altogether, but since you’re willing to learn and willing to reach out for help, that most likely isn’t the case.

    Avatar

    As I continue to read articles and information across the Internet, I’ll be sharing them on my blog with a summary of each! Reading isn’t the end all and be all, but it’s a great way to learn and to assimilate the mindsets and philosophies of other great minds across the industry and beyond. I try to share anything juicy that I find also on social media, so I would absolutely recommend following me there (Twitter; Minds) if you’re new here and are looking for some extra programming goodness in your news feed! Thank you for reading, and I encourage you to leave a comment below! Until next time.

  • What does Valve’s commitment to Linux gaming mean for Windows?

    Steam and Linux
    Match made in Heaven?

    I wrote a small opinion piece over on the Minds platform – a bit of background information on Valve’s efforts to making running Windows games and applications as seamless as possible on Windows, what it means for Windows as the predominant PC gaming system, and my own two cents.

    Click here to jump over to Minds and give it a read! Let me know what you think in the comments thereon!