An Optimized Approach for Beginners You have friends that are developers or you just have that itch to start after seeing the developer lifestyle. It speaks to you and you’re eager to begin. You tell yourself that a month is enough to become proficient but you don’t know where to start. How Much Time Will It Take? Much more than a month; I can promise you that. This is what everyone goes through. For whatever reason, a large number of pre-programmers think that they can become developers in one month; some are more conservative and say three. Three months is

Scenarios Where They Fall Short If you think this article is going to be about developers not knowing how to use Unit Tests, that’s not what it’s about. Unit testing is an art form in its own right. When a developer has extensive experience in writing unit tests, the application becomes beautiful. No more random bugs that you have to tackle in a class that you didn’t even touch but was affected by your code elsewhere. No more wasting unnecessary time; just run the tests after your changes and watch them go. You could argue that even if the developer

Choosing Your Tech Journey People that are just starting out their learning journey have the tendency of asking this question. Web Development is a Programming type. Mobile App Development is another type. What I’ve found is that Programming usually means software development using Java or Python languages that run on the user’s machine and web development means using a web-based language to produce web-applications. Now that we have clarity around the question, it’s time to formulate the answer. I’m a big believer of learning to program using an object oriented programming language first before deciding to specialize. Picking a language

Must-Read Books for Software Engineers As a software engineer, you’re probably familiar with the term “trendy” code, which are terms that refer to any sort of code that’s been written in the past 10 years. But after spending time reading about software engineering on blogs and forums, I’ve noticed that some books from older periods have lost popularity. This post will be an introduction to some classic and timeless books for anyone who wants to learn more about software engineering. The C Programming Language The C Programming Language is a classic. It’s a must-read for any software engineer, and it’s

Where Coding and Project Management Skills Excel I joke around with my wife frequently that project management is the answer to life. But I’m only half joking. Once you understand project management, you can apply it to anything to get yourself organized and stand out from the rest. One of the main reasons that I’m confident that I can land a job in most companies is for my project management skills. Understanding that most people do not know project management well enough is an advantage that I take everywhere with. I’ll start at a new job, organize the company within

What Really Shapes Your Journey There was a period of time recently where everyone wanted to learn to code, quickly. People would come to me and ask me for guidance related to learning to code and going to a 12 to 20 week bootcamp in order to do so. Is this enough time to learn to code? Can I get a job after I go through this bootcamp. Yes and no, respectively. It’s not enough time to become a developer, but surprisingly, it is enough time to get you a job. We’ll look at the reasoning behind it in this

Dockerizing Your Development Environment from Scratch   I frequently speak with individuals on how to setup work environments. There’s still a large community that rejects Docker; I’m assuming because they don’t know how to use it fully. In this article, I want to show how to use Docker to setup an environment on your computer. That’s all you need. You won’t need anything else and it doesn’t matter which operating system you’re using. Never will you have to worry about changing versions on your computer. You can do it all through Docker. New Projects If we visit the Laravel documentation,

This is one of my absolute favorite topics to discuss in software development: Definition of Done in Software Development. While my approach is not fully flushed out for every environment, it’s gets you 90% there. This will help with creating a team and setting expectations. When is each team member actually done during the software development lifecycle? Have you found yourself saying, “well I know I said it was done, but it’s not really done?” Before we can start looking at each individual’s  Done  definition, we have to outline the members involved. Business Analyst Project Manager Development Manager UI/UX Engineer

Why so many edge cases? Edge cases. You have to love them. It’s what will destroy your company and your employee’s morale. Chasing edge-cases can be a developers biggest pitfall if done in the wrong environment or their greatest strength if done in the right environment. How do you draw the balance and when? That’s what we’ll tackle in this article. If you haven’t read my article on MVP software development, I encourage you to do so. It covers thinking in MVP terms, which we’ll cover throughout this article. What is an Edge Case? The best way that I can

Is There Even a difference? To declare a pointer in C++, you would use an asterisk symbol next to your pointer name. To illustrate this, when declaring a regular int scalar variable, you might enter the following: int a; When declaring a pointer “b”, you’ll proceed by entering: int* b; As you can see, the pointer variable contains the asterisk symbol. Let’s look at the memory to see what just happened. For the scalar variable int “a”, 4 bytes of memory were reserved. If you look at the representation below, you’ll see that int “a” was in fact assigned 4