Do you wish to become a Python Django web developer? If so, this article is a special one for you. You’ll get some cool tips from an actual Django developer who has already done what you wish to do.
It is always best to get some advice from people who are one or two steps above you. That is why today I’m interviewing Denis Murphy from The Happy Mindset to give you some tips and insights.
I contacted Denis via LinkedIn, and he was very kind to accept my invitation to share some insights from his career with you guys. Denis is a Full Stack Python-Django Developer and a great human being as well. So, I hope this interview will bring some value to you. Let’s begin.
Hi Denis, I’m really excited to have you here on Pythonista Planet. For those people who don’t know you, could you briefly introduce yourself?
Hi Ashwin. My name is Denis Morphy. I’m a podcaster, a software engineer, and a writer. So, that are the three things I do today.
Alright. Tell me a bit about The Happy Mindset. Why did you start this business?
The Happy Mindset is basically a platform I’ve created to help people to think for themselves, create their own mindset, and create their own life from that. So it’s really about showing people the power of their own mindset to create their own lives. That’s what it’s been about.
Why did I create it? Because I went through stages in my early twenties, where I felt a bit lost, and I had some mental health issues as well. And it was through seeing the power of mindset that I got through all that. Hence I started creating this platform for other people to give back as well.
I saw on your LinkedIn profile that you know English, French, Spanish, Italian, etc. And you also know Python. Which one do you think is easier, learning a foreign language or learning a programming language?
I like this question. Because this is something that I was thinking about when I started learning Python programming. The first thing that made it more relatable for me as a linguist to learn a computer programming language was that, for programming, I just need to understand how to read and write code whereas, for a foreign language, I need to understand how to speak and communicate with that.
So I always found that quite challenging with the foreign languages that you have to interact more. So, you do have to develop your people skills more, which is quite a challenging thing actually.
But I would say that computer programming was quite difficult for me, especially the logic behind it. Because I was coming from a linguistic background, and I did a business degree in French. In computer science and programming, understanding the logic behind it was quite difficult.
What helped me though was looking at it as a language, looking at the syntax and the semantics, I started to realize that that was quite important with programming. That’s what helped me.
So, to answer your question, I would say that learning a foreign language is more difficult. But in saying that, I learned a computer programming language after I learned a foreign language. So I had no experience in learning any language when I learned a foreign language.
It might also be down to the sequence I learned them in. I learned French first, and then Spanish, Italian, and then I learned a programming language. A lot of the experience that I got from that area was applied to computer programming to make it a bit easier to learn.
It’s a very difficult question. I’ll just go with foreign languages because there’s more of a communicational element.
I agree. I also know a few languages. Apart from my mother tongue, which is Malayalam, I know English, Hindi, and a bit of Tamil. So, I also feel the same about learning languages.
Let’s come to Django now. You’ve been a Python Django Fullstack developer for almost a year now. How’s your experience in this field? Do you enjoy building Django web apps? Or is it a difficult job?
I’ve been doing it for a year now. Before that, I was helping out at Clever Programmer. I was helping the students on the course to help them with the challenges that they are encountering when they’re building their projects.
With my current role, which I started a year ago, I enjoy it. It is very challenging. What I enjoy from this is that I’m gradually getting better each day, each week.
So, I’m just kind of learning a little every day. That has been my approach. I just keep in mind that I learn a little bit every day, and over time that will add up. Otherwise, it is very overwhelming to learn everything at once.
So, I do enjoy the job. It’s challenging. Often, when I’m really struggling with a problem, thankfully, I’ve got a team member. He has a lot of experience in this. Sometimes he will help me out.
He won’t necessarily give me the answer. But he’ll help me to talk things through or give me a different perspective on something when I’m really stuck in things.
A lot of times, you’re left with your own devices to figure something out. You won’t get an awful lot of help. It’s just when you’re really stuck, you might get some help.
The biggest thing I learned is that it’s all about sticking with the problem and not giving up on it, even if you feel that you’re not making progress. Do not give up and break it down into simple steps.
When you get a problem, it’s about trying to identify what are the simple steps I need to figure out here. That’s been what has been helping me, and that’s what I’ve been developing the last year.
How can a beginner starting from scratch become a full-stack developer? Could you lay out a roadmap for them?
Programming is a big field to learn. So, you need to identify the language that you need to learn and why you want to learn it. I’ll give my own example.
I learned Python because I saw it as an entry-level language. It seemed to be relatively simple to other programming languages, and there’s a lot you can do with it. You can go into machine learning, data analytics, web development, etc.
I started down the web development path since I had a friend who was a Ruby On Rails developer. So he was there in the web application development arena. I also discovered Clever Programmer, which was more aimed at web application development. I also found courses catering towards full-stack web development on platforms like Treehouse and Udacity.
Things started to click when I followed the beginner’s course on Clever Programmer with Python. I was using Treehouse as well to learn some Python.
Then, it came to building web applications and actual projects. So, I did that with Rafeh Qazi. I was doing one-on-one mentoring with him for a while. I built a Flask web application.
Then, the practical side of all these is to build projects that combine these together. You can build a blog app, or a portfolio app, or something like that. They’re the type of projects that will give you the practical experience to get a job.
You’ve mentioned a few premium courses on platforms like Udacity, Treehouse, and Clever Programmer. Do you recommend people to take a premium course like that to become a full-stack web developer, especially when everything is available for free on the Internet?
When it comes to the premium courses, this is a bit nuanced, I think. It depends on how you learn. For somebody who can take in a lot of information and make sense of it yourself, and you can do that quite quickly, then I think there’s probably no need to buy premium courses.
If you can follow what I’ve said to the last question, and you can go online and combine all the pieces by yourself, and you enjoy doing that, and do it quickly, there’s no need for a premium course.
I was not able to do that. I didn’t know enough about computer programming and computer science to be able to go off and all piece all these things together myself.
Mine was like a hybrid approach. I bought some premium courses like The Profitable Programmer course and the OOP course. I also signed up for a subscription to Treehouse.
I also did the Full Stack Nanodegree Course on Udacity. I only completed half because I got a job while I was doing that course.
My recommendation would be to know what your budget is. I had money to spend on these. What I’ve done over the years is that I gradually decreased the amount of money that I’m spending on social activities. I put that money into my education, buying books, buying courses, etc. That was my process. That did make things quicker.
What a premium course gives you is like a blueprint. If it’s a good course, it’ll give you the outline of the general things you need to know to become a web application developer.
Another thing to keep in mind is that I don’t think that one course will guarantee you a job or guarantee you become a freelancer.
When it comes to the end of the day, it’s really up to you as the individual and what you understand. Because you can follow a course and not understand anything, and it won’t really help you to get a job, or keep a job if you get one.
All this process is about finding the resources that will simplify things for you so that you can understand what you’re doing, and you can build practical stuff. That’s the end goal here.
For somebody who has got some money, I would recommend buying some premium courses. It will accelerate how quickly you can get into this. Also, keep in mind that these courses don’t guarantee you a job.
With the rise of popular frameworks such as Node.js, do you think Django is going to fade away?
I haven’t put a lot of thought into this, to be honest. Because I focus more on the skill set rather than the actual technology. If you’re somebody who understands what a framework is, what it can do, and the logic of programming, you would be quite adaptable to the frameworks.
Right now, I’m just focusing on Django and Python because that’s my role. I don’t see that going away anytime soon. I put more focus on understanding logic, problem-solving, and business needs. These are more important than knowing the syntax of a framework.
Problem-solving skills and communication skills are not easy to learn. They are the skills that I focus on. I don’t focus too much on the actual framework.
I’m glad to be working with Django and Python. But if I have to change down the line, I’ll put some time and effort into learning a new framework if I need to.
What do you think is the importance of soft skills in the career of a programmer? Which, according to you, is the one soft skill that every developer should have?
I think soft skills are really important. It’s something that I’ve been consciously trying to improve myself as well. I do that with The Happy Mindset with my podcast and my writing. It’s all about self-reflection and communication.
Most of the time, software developers would be working with a team. A big part of that is understanding what they want from you, and that’s the soft skills part of things.
In my opinion, you could be very strong technically, but if you can’t communicate with the team or the other teams in the company, it will make your life very difficult. There’ll be a lot of friction, miscommunications, and frustrations. And, it will affect your technical work as well. You can’t work well when you haven’t got a clear head, or you’re not feeling good.
Going back to The Happy Mindset, that’s why I’m so focused on helping people to have a strong mindset and a strong understanding of their emotions so that they can communicate well with other people, and they can build their life with their creative thinking about the world.
I would say technical skills are necessary because, without them, you won’t be able to do the job. But soft skills are probably more important. There’s a certain standard, technically, that you need to get to. Once you’re at that standard, soft skills become more important. That’s what separates a good developer from a great developer.
If somebody is quite introverted and you think it is hard to communicate with other people, a good tip I would say to you is that just listen carefully to what they’re saying to you.
What I found from my experience is that I would have to make a lot of assumptions about what they want from me, I would have to feel a lot nervous as well, and so I wouldn’t be listening properly. So, you can focus on the listening part. You can always get better as a listener.
That would be the one soft skill that I recommend, which is listening. Pay attention to what people are saying. Pay attention to the assumptions that you’re making about what they want. That would be a vital skill set to have. I took some psychology courses and life coaching courses last year. That’s what I did to become a better listener.
You’re an author of a book (Taking My Life Back). So, I guess you also have the habit of reading books. Which is the one book (or more) that has changed your life?
There’s a lot of great books. As you’ve mentioned on your site, there is the Soft Skills book from John Sonmez. I haven’t read the whole thing yet. But I’ve watched a lot of his videos. That book seems to be quite good.
I’m reading a book called Sapiens at the moment. It’s all about understanding human evolution and understanding the power of collective imagination as well. I’ve heard that a lot of entrepreneurs have read this book.
What it does give you insights into is how powerful our imagination is as human beings as well as it gives you an insight into how we evolved as humans. I would recommend giving that one a read.
What is the one thing that you wish you have learned sooner as a developer?
There’s no one course that will guarantee you a job. Courses are marketed in a way where it feels like you’ll get a job from just doing that course, which isn’t true.
A developer’s job is about how you can deal with figuring things out and problem-solving. It’s how you google, how to take in information, how you condense and simplify it. That’s not something that any course is going to give you. What it will give you is stuff to learn.
That’s the one thing I wish I would have known to begin with is that it’s all about how you make sense of things, how you simplify things, how you can solve problems. It’s problem-solving 101. That is what programming is, in my opinion.
Finally, where can people find you?
People can find me on my website thehappymindset.com. I’ve got a YouTube channel where I started creating some Python videos for complete beginners.
I want to help people, especially if they’re linguists, coming from more of a language background to see programming as a language, and how you go about breaking that down and making it something fun.
The podcast is on there as well. Just go to the website. I write blog posts weekly, and I publish podcasts weekly. I’m creating Python videos on YouTube, and I’m also creating videos around translating my book into French. That’s pretty much it.
Thanks a lot for your time Denis. I wish you all the best for what you’re doing with The Happy Mindset.
Thanks man, for asking these really thoughtful questions. I enjoy answering them. I hope the answers are useful to your audience.