"Don’t worry if it doesn’t work right. If everything did, you’d be out of a job." - Mosher’s Law of Software Engineering
This article explains how to remove commits from a remote server in Git.
How you can upgrade your laravel application to version 9
Design your implementation of the linked list. You can choose to use a singly or doubly linked list.
Our Code Is Harming The Planet. Can Carbon Aware Design Patterns Help Us Fix It?
Software development is a very lengthy process. It includes a lot of research and design, which is necessary for the project's success
Yan Tsishko is a chief software engineer at Oxagile. He believes Javascript/TypeScript is the most exciting technology & that frontend is the future of tech.
As software continues to eat the world, more and more people ask me about "getting into tech," i.e. a successful Software Engineer easily making around $350,000 in total annual compensation. I get asked this a lot because I had very little coding experience when I decided to make a career change into software. Four years after making that decision, I entered Twitter as a Senior Software Engineer with a compensation package I couldn't even dream of making elsewhere. I often look back and refer to my career change as the best decision I made in my life.
The 3 main types of technical debt are: deliberate, accidental/outdated design, and bit rot.
Git is meant to always give you back the data exactly as it was saved OR let you know the repository is corrupted. And it does an amazing job with it.
You might think a profession based on logic and learning would be immune to folklore, but the developer community remains rife with myth — myths so pervasive they begin to manifest into reality.
The following is a list of the top 10 programming languages in 2022:
SOLID Principles is a coding standard that all developers should have a clear concept for developing software in a proper way to avoid a bad design. It was promoted by Robert C Martin and is used across the object-oriented design spectrum. When applied properly it makes your code more extendable, logical and easier to read.
Learning to program can be frustrating if you’re not sure you’re headed in the right direction. How do you know you’re making real, legitimate progress? Is it when you’ve earned a certification? Completed an online course?
Write efficient and flexible data-pipelines in Python that generalise to changing requirements.
Good habits are important for a software engineer. They help you write maintainable code that your future self will thank you for.
Some years ago, when I finished my studies. I worked in a small company with some friends and teammates. You know, it’s the common developer road: you studied a lot to pass algorithms class, math, sciences, and your deontology course to have ethics principles. At the end, some company hired you with a lot of promises about: good job, good salary and good opportunities for your career in software. Basically, it was the dream job after 4, 5, or 10 years of studies.
When it comes to DevOps, releasing fast is very important. Today, we will see how Artifactory is going to help companies release fast and efficient.
I’ve encountered Java three times in my life.
When I started coding, it was partially because I thought it’d be cool to make a computer do my bidding.
Web apps that contain tables, charts, and graphs often include an option to export the data as a PDF. Have you ever wondered, as a user, what's going on under the hood when you click that button?
One of the largest misconceptions about succeeding as a software engineer is that people think if they simply work hard, they will become successful and will receive the recognition they deserve. They couldn’t be further from the truth.
OpenAI's GPT-4 could impact 80% of US workers' jobs, but is the end for software engineers?
I still remember my first day at Outbrain. As part of the Bootcamp (training program), we were required to clone the code from a repository called the trunk (one monolithic repo that contained all our codebase). It took at least half a day to clone and build the whole source code. Over the next year or two in which my team worked with a monorepo, we just suffered — cloning the repo was time-consuming; the slow build/release time frustrated us; flaky tests and bad commits affected all the engineering; and let’s not even mention the IntelliJ indexing time, which easily afforded us time to run down for a chatty coffee break.
Most people would think I was crazy for starting 2020 as a college dropout (sorry mom!), but I wish I made this decision sooner.
Independent, Testable , and Clean
Gone are the days when we wouldn’t need to worry about database performance optimization.
The goal
Open Source packages are a mainstay for most software engineering projects. We are so accustomed as developers to run our npm install
(for Node developers) or
In this article, we are going to see what an API Gateway, BFFs, and how they are used for Client-Server communication in a Microservices architecture.
In this article, we will discuss what makes them different from one another and what is the best case where they should be used.
Go is a programming language often used for applications in which performance matters. Optimizing your code based on assumptions is not a best practice of course. You need to have insights about your code performance and bottlenecks to be able to optimize it efficiently.
Let's figure out how the coding style increases and then degrades.
In this post, we’ll look at using Redis to give cache capabilities to a NestJS project. We’ll discuss Redis, what caching is, and the implementation procedure.
You need to make a choice between building something quickly to validate your ideas or building something robust from the start.
Learn How to make a simple Report Card System in Java, which will accept 2 subjects but later it will be updated to 15 subjects.
One area that really has the tech industry taken by storm is ChatGPT's capability of writing code.
12 Websites That Will Help You Learn Web Development Faster (completely Free)
Nucleoid is low-code framework for Node.js, lets you build your APIs with the help of AI and built-in datastore in declarative runtime engine.
Reviewing pull requests can and should be easy. But are your pull requests reviewed properly?
Sergio Pereira talks about ChatGPT and how it could affect coding interviews.
A company wants to start a new web service - a messaging aggregator for customer support. How do you go from an idea to a Python/Vue/Socket.IO web application?
Functional programming is a programming paradigm. This post tells you the basics and benefits of it and how to use it in JavaScript.
Learn how to leverage embeddings to have an OpenAI chatbot, built with React and Node.js, respond correctly to specific contextual prompts.
I've been working remotely for +2 years now and I've learned a lot about it. Here are 4 lessons I've learned working remotely so far.
This article explores what good code is and shares some tenets of good structure.
Learn how to resolve the "blocked a frame with origin "null" from accessing a cross-origin frame error."
10 repositories that will transform the way you approach technical interviews.
Software Development Life Cycle (SDLC) Models are a set of guidelines to help developers manage the process.
So I’m on zero sleep. I decided last night at 3am that it wasn’t worth waiting in bed, hoping to fall asleep anymore, having to wake up at 8am anyway. Being incredibly tired, beyond tired, loopy even, I think, “what to do?” I don’t have much to do to pack before my flight tomorrow, and I’m useless for anything productive...maybe a little Factorio?
In honor of Open Source Month, I am writing about ShlinkedIn: A parody open source site built on Phoenix LiveView/Elixir that is like LinkedIn doe funny people
Traditional thinking about software quality might not help in really getting the full value out of Agile practices. Let's find out why.
Reading the manual is a habit that every software engineer needs in order to perform well. Save hours of trial and error.
The Y2K22 Bug is the consequence o very bad software design
As React is just a lib, it doesn’t dictate rules about how you should organize and structure your projects. This is nice, because it gives us freedom to try different approaches and adapt the ones that better fit for us. On the other hand, this could cause some confusion for devs that are starting in React world.
Have you ever wondered how one of the largest software companies worldwide ensures high-quality code through code reviewing?
JavaScript is changing fast with a lot of new and exciting features to help us - developers write code better and better. Let's check these latest features.
The bread and butter of knowledge work is figuring out what needs to be done, in what order, and what can be cut.
OAuth flows are essentially OAuth-supported methods for verifying permissions and resource owner information.
How to create a terminal emulator in React and Typescript
TLDR: See mozilla.org/builders for more details regarding our summer programs!
Developers are some of the best-paid people on the planet thanks to their skillset. It's something that you can learn a in less than a year with the right tools
You have looked around and located some software engineer jobs that interest you. While you may think you can just write a quick cover letter to go with your resume you may want to think again. A good cover letter takes time. You want your letter to stand out from the rest. Here are 8 tips for writing a winning software engineer cover letter.
Coding patterns like Sliding Window or Two Heaps enhance our “ability to map a new problem to an already known problem.”
I believe that software development has a problem with mis-promotion, and over-promotion of "Clean Code".
Discover the numerous benefits of intermittent fasting for software engineers, including weight loss, improved cognitive function, and better health.
In this post, we'll go through the best practices for API monitoring, such as which metrics to prioritize and how to troubleshoot when an issue arises.
Disclaimer: This story is not sponsored by Async Profiler.
After hitting a certain level of experience & spending quite enough time in the industry, I have realised the importance of designing/architecting system & software. So I have started looking into system/software design & got to know nothing can better start than a Design Pattern. And the first thing I have done is googling "What is Design Pattern?" Hence got the idea of this article.
The fastest way to learn how Blockchains work is to build one
In this tutorial, we are going to create our own e-commerce search API with support for both eBay and Etsy without using any external APIs.
My story begins way back in the 2004–2005 school year at Rio Linda High School. I was taking two advanced placement (AP) classes: calculus and physics. I had phenomenal teachers: Mr. Bautista and Mr. Gavrilov. I’m pretty sure they could teach calculus and physics to a cat, Schrodinger's cat, that is.
Clean Code by Robert C. Martin is the most recommended programming book of all time. There’s a good reason why.
Becoming Consistent
I went to a coding bootcamp recently. These are the reasons why I went and considerations I took when deciding to go.
Low-code is transforming how software developers build and deploy web applications. How will this impact the future of software engineering?
Vim is a powerful text editor. It's popular amongst coders and writers, and in this blog post, I will convince you to use it.
This blog post summarizes the book “Clean Code” written by Robert Martin on how to write a readable and maintainable code.
It's about time to get automated end-to-end testing on your side and improve your development process.
Benefits and key considerations of shift left testing in software development life cycle.
A comprehensive guide to making your asynchronous JavaScript code more manageable using Promise Chaining!
In this article we're talking about MVC also known as Model View Controller. Everywhere in the software engineering taking about MVC. So let's jump on to the content.
If you prefer to follow along via my YouTube video, you can watch it here
If you’re new to coding, you’ll be pleased to hear that there are a ton of great resources on the web to help brand new programmers learn programming from scratch. In fact, some of the best programmers in the industry are autodidacts with no formal degree in computer science.
It’s impossible for teams to make the most out of their development effort without the right tools. Here is the best software development stack for 2022.
Database Indexing is the most common way known and utilized by backend developers to optimize database queries.
Git commit messages are how we communicate to our future selves. In this post, I'll share the three most important rules when creating a commit.
ShadowRealms are a new way to separate our code and create safe environments to execute it in. Let's look at how they work.
"The Web framework for perfectionists with deadlines." This is what Django says and that is actually true indeed.
Who/what, according to you, is a programmer’s best friend? Some say coffee, others say keyboard shortcuts but I think it is Stack Overflow.
"I want to become a solution architect. What are the resources to learn more about architecture?" - We are all asking the wrong question.
Introducing the python Starlite API framework - a new async (ASGI) framework built on top of pydantic and Starlette
The type annotations specification specifies how Javascript will, in the future, implement types. Let's look at how types in Javascript will work.
🔰🦸 Template to start developing a REST API with Node.js (Express), TypeScript, Ts.ED, ESLint, Prettier, Husky, Prisma, etc.
Kubernetes (a.k.a K8s) is the de-facto standard of container orchestration software backed by Google and one of the most active open source projects. If you are using Docker it is very likely that you are using Kubernetes or at least have heard about it.
I often wondered about the difference between junior, mid-level, and senior developers, so I decided to write a short article about the topic.
Hear Kunal Kushwaha's story - DevRel Manager at Civo, founder of Community Classroom and Kubeworld + Twilio Developer Searchlight Honoree
Be more productive, write code faster, make fewer mistakes, and have to do less context switching between other windows and your IDE.
In this guide, you'll learn what is legacy code, its characteristics, tools, and the best practices for working effectively with legacy code and technical debt.
Automating the writing of unit tests, the bugbear of every software developer
A brief guide about pros & cons of Cairo lang and Top 10 resources to answer your question how to learn Cairo in 2022 and how to scale dApps using STARKs
There are different ways to connect react frontend and NodeJS backend. In this blog, I am going to tell you three ways how you can connect backend and frontend.
Someone in my Virtual Coffee community asked about getting better at reviewing pull requests (PR) today, which prompted this post. Hopefully, you find something
Is AI coming to put software developers out of a job? Find out with Compliance Officer Michael Fasanello and Smart Contract Security Researcher Philip Werlau
In this article I will show you how to use Tailwind to add some stylish design elements.
Reveal why there is hype around Golang and describe the best application variants for this programming language as well as cases when Go is not the best choice.
Something I really like about living in the city is the fact that it is made for the masses. Despite its many defects (the rain not being one), Seattle is architected to enable hundreds of thousands of people to go through their busy days. It has a transportation system that interconnects different areas, it mandates different land usage policies for parks, residences, commerces and schools, and it provides restricted parking zones. It is designed for walking (assuming you like hills), it provides easy access to hospitals and it is guarded by police and fire departments.
Data Consistency might be a pain in the ass. It is a well-known source of unexpected surprises. What is it? What does it depend on? Why is it so often overseen?
How to create perfect resume? Tips on CV structure, volume, summary, tech skills, and show template of a resume for you.
Introduction to new ES6 javascript feature - Arrow Functions.
37% of Americans are involved in some sort of side business one way or another.
Threads & Processes are some of the least-understood topics in Linux. Make yourself stand out by starting learning them today. See yourself transform!
The typecasting is the feature which makes C++ more type-safe, robust & may convince you to use it over C. But this is also a more underrated topic when you are a newbie or moving from C background. Hence, I come up with an article on it. Here, we will not only see the C++ type casting with example for C developers but we will also cover Why do we need typecasting? & C++ type casting cheat codes for C developers to remember & employ it easily.
WhatsApp is one of the most used platforms for messaging. Information is sent immediately, which is why more websites use it for communicating with their users.
When it comes to deployment, a choice must be made. Find out what's the difference in code promotion and artifact promotion
Building and selling APIs is a great way to create a new source of passive income.
No matter whether you’re just starting to build a business, growing a company, leading a major corporation, or anything in between, technical leadership will be one of the most important decisions and hires you make. In today’s software-driven world, many companies are being founded by technical founders themselves, but that’s not always the case.
Keeping Dependencies Up To Date with Maven-Centralized Dependency Management
Software design patterns have been used to package solutions to many common design conundrums. Each one has its own advantages and drawbacks to consider.
Firmware development is a necessary process in creating a new device and an embedded system. All the features and functionality of a device depend on its firmware. In simple words, firmware lies between software and hardware parts. So, it helps run software on a device and makes hardware perform required functions without involving users.
I became a software engineer in 3 months and I believe you can too. The secret that helped me succeed is showing up every day and doing the work.
According to a McKinsey study of over 400 large enterprises across 12 industries, companies with high-performance engineering teams best their competition in all areas, including revenue growth, customer satisfaction, and brand perception. The evidence is so clear that the study itself is called, “How software excellence fuels business performance,” and it concludes that software development is integral to business success in all industries — retail, financial services, manufacturing, and of course, software companies, all require a strong engineering department to succeed.
Yet, many executives view their engineering departments as a “black box.” While other departments report on their success with metrics like revenue, customer retention rate, or cost of new customer acquisition, engineering metrics don’t often make it into the board deck. But engineering metrics are essential to understanding how your company is doing. They convey critical information about your company’s ability to deliver value to your customers, and your company’s potential for future success.
Plus, engineering is expensive — it’s important to know whether that’s money well-spent.
For a holistic picture of how your engineering department — and your business — is doing, you need to start tracking engineering metrics.
Ever been a Systems Administrator? I have (first job I ever had!), and I have to tell ya, it's a pretty thankless gig. I mean yes, there is the satisfaction of a job well done, the joy of knowing that everything is up and working to spec, etc., but, behind all of this, you are left with the knowledge that Nobody Cares Till It Breaks 😔.
Is almost never the right answer when developing systems, at least the sort that I build. The easy path is almost always best and that feeling of “something being easy” is often a sure sign of being on the right track.
Enhancing product functionality, reducing deterioration, and satisfying the needs of users - all of that is achieved through software maintenance.
Handling these business changes at a data store level can be a nightmare for software engineers if the design of the underlying model does not account for adapt
Inherent uncertainty, data-driven behavior, rapid experimentation: characteristics of Machine Learning that disrupt traditional software engineering practices.
To estimate the development costs it's crucial to know how long it takes for eLearning software development. Find out here!
If you’re a programmer, you probably remember your first program as the classic Hello World program that outputs “Hello World!” to your display. The Hello World program is a nice, simple little program- but it’s BORING! Likewise for the numerous code examples for beginners that involve the variables i and j.
GitLab and GitHub are both popular cloud-based Git repositories. We compare the two to see if Microsoft has given GitHub the edge.
Debugging is not something that is taught to anyone at any point in their careers, which leads to the belief that it is very difficult.
I will explain Object-Oriented Programming (OOP) on Five Levels (a child, a teen, a college student, a grad student, and an expert).
5 Programming Languages To Learn In 2022. Python is in the boom, mainly due to Data Science and Machine Learning.
How to upgrade your laravel application to the latest version
Learn how Javascript async/await works and what it means by Javascript is a single-threaded language.
While some problems in the software development world may seem inconsequential, they can have serious side effects and costs on people and society
How to become a data scientist? Want to become a Data Scientist? Here are the resources. Resources to Become a Data Scientist
In the beginning, God created Web 1.0 (No offense, Tim Berners-Lee). Then Web 2.0 followed. The age of the third web is now upon us but there is a divide...
Coding practices to pick up when starting out as a software engineer at a startup
How do the big tech companies and unicorn startups succeed in agile product development while maintaining code quality.
Planning as a principal engineer is all about bringing engineering, business, and people close together. Here are the things to consider.
In this article, we’ll look at ten underrated activities in engineering for which allocating more time can be beneficial.
First of all, let me start by saying that the ability to solve coding challenges is not a measure of how good a web developer you are, but it can show that you are a great developer and make you stand out from the crowd. Nobody needs coding challenges to create an outstanding web page using HTML, CSS (or it’s frameworks), and maybe even a little JavaScript.
Here we've listed the most commonly asked concepts on constructors in java that can help you ace your java interview.
The Weighted Random algorithm is used to send HTTP requests to Nginx servers. In this article, you'll learn how the Weighted Random algorithm works.
To explore the MFT records, learn how to locate date and time values in the metadata of a file we create.
If you're more of a visual person - check out the video version
I’ve been a software developer for coming up to three years, these are the things that really make me enjoy this career and make me thrilled to recommend it to others.
OpenTelemetry is young, even by internet standards. Born out of the merger of OpenTracing and OpenCensus projects at the Cloud Native Computing Foundation CNCF
Amazon SDEII coding and system design interview experience from initial recruiter call to online assessment and onsite rounds.
We will be building a proof of concept to create customer Google Maps markers using any React component in a Next.js project using AirBnB as an example
I built a full-text search engine in Rust and WebAssembly. Fast, lightweight, and tons of fun to build!
In this article, I explain how I went from no coding experience to creating my first decentralized application on Ethereum.
Back at the dawn of the modern computing era, one Donald Knuth published a book titled "The Art of Computer Programming" that soon became a bible of software engineering and defined many generations of computer programmers to come. This book, which was intended as a compendium of computer algorithms, had also put forward a very important idea: software engineering is a form of art. At the time, that was the prevailing point of view.
“Do you have any questions for us?” the interviewer asks. This is your chance to find out if the company if a good fit for YOU.
Chrome dev tools are a must have tools for modern day developers. Take your first step learning chrome dev tools by learning source debugger.
I did a practice interview on Pramp this week. It didn’t go super well — which is frustrating because in retrospect it wasn’t that difficult of a question. Let’s jump in.
Gradients bring out a colorful taste in our apps. So it’s important to know how and when to use them in your mobile apps. In React Native, gradients are extremely easy to integrate and in this article we are going to describe exactly how to implement them. There are mainly two types of linear gradients in React Native and CSS: Linear and Radial gradient
Learn about software architectural patterns and their benefits and drawbacks.An architectural pattern is a general, reusable solution to a commonly problem
I maintained an open-source project with 800k+ downloads/month. I learned six invaluable lessons and I will now share them with you.
In this article, you’ll learn what velocity means in the context of an agile/scrum methodology and how you can improve it to allow your team to move faster and
A 100-day commitment to learning facilitated by Cloud Academy. Sign up, complete the Cloud Marathon and your education is free.
How does tech debt cost you? Here are 6 reasons why managing technical debt should be part of your business plan.
This story was originally published on my blog. If you're interested in this kind of content, feel free to check it out and subscribe :)
In this article, we will discuss the various Caching strategies available and how to choose the right one for your use case.
ACID stands for Atomicity, Consistency, Isolation and Durability and each of these have a specific purpose when it comes to databases.
Best practices for a manageable, scalable, and easily understandable Python project structure
When it comes to React, there are some of the things that will optimize your code and will give you better results in it.
When I started working in Go and AWS Lambda, one of the difficulties that I faced was unit testing. I had a decent idea about what is unit testing and knew how to do it in Ruby but in Go, I had no idea because I was a beginner.
Performance is often one of the key focus points when building enterprise software. Many of the systems that we build rely heavily on communications with other systems. When these external communications become slow, then our software becomes slow. Unfortunately, we often have no control over the response time of the services that we depend on. However, we can optimize the way that we communicate with those services in order to ensure maximum performance.
To move forward with clarity, companies need something to relate to, for their purpose and for the greater good of the customers.
The integration of Docker and Kubernetes makes Zalenium an appealing choice for setting up Selenium-based infrastructure.
I will explain GIT in five levels to different audiences.
I like to read about and see how people set up their environments and any tools, tips, and tricks they use to be more productive when working with Kubernetes and Istio. What follows is a collection of 5 tips and tools that I use daily, and I think it makes me more productive with Kubernetes and Istio.
Comparing cloud services? Read our Lambda vs ECS guide. Consider programming language, pricing, and the benefits.
In this article you will learn what code coverage is, how code coverage is calculated, and how much code coverage to aim for in your tests.
The software development lifecycle methodologies (SDLC) or the Systems Development Life Cycle method aids in planning the design process of the software
Hello guys, If you are a Java developer or someone who wants to learn Java EE for web development and looking for some courses to kickstart your learning, then you have come to the right place.
Agile Software Development can give companies versatility and help them navigate through change and complexities of the software space, improving efficiency.
I made a Chrome extension that generates random LeetCode questions for you to practice with every day. Here's how I did it.
Understanding algorithms and data structures are crucial to enhancing your performance 10x more than your peers who don't. This is because you analyze problems.
This article will cover the spread operator and how you can use them in your day to day JavaScript programming. This article assumes you have some familiarity with coding in the JavaScript ecosystem.
Today, Netflix open-sourced Polynote, the internal notebook they developed, to the public. It’s not rare these days that big tech companies open sources their internal tools or services, then got popular and adopted by the industry. Amazon AWS, Facebook’s React.js, etc. are two of them. It makes sense. These big tech companies have the best engineers in the industry and more often than not they are facing the biggest challenges that will drive the development of great tools. Netflix’s Polynote could be another one of those great tools and the data science/machine learning industry does need better tools in terms of how to write code, experiment algorithms and visualize data. Here are several things you need to know about this new tool. I’ll try to keep this succinct and to the point so you can quickly read through it and be knowledgeable about the pros and cons of this new choice of our development/research environment.
Let's learn interesting Rust concepts like smart pointers and ownership with a classic data structure and algorithm together.
Through my studies I get exposed to a lot of programming. This is useful to solve technical problems, but I also like to think how the concepts can be applied to different domains and everyday life.
Want to add better visibility and flexibility to your microservies architecture? Read on to find out how adding a Conductor can help!
Software testing is necessary for any developed application to verify its stable and sound functioning. It is performed by validating outputs against expected outputs using dummy inputs. These inputs are derived from real-life scenarios to make sure everything seems real. In this article we discuss in-depth what different types of testing are performed before the application is actually deployed.
In "C" Language, you have structs. With the help of structs, we can define the return data type. You can do the same using classes in python.
An X-ray of the software engineering market looks like this: the US software job market faces a shortage of 427k tech people, while 9 out of 10 business owners are having a hard time finding IT professionals
In this article, I’d like to share my opinion on how to write good commit messages that would make your git log useful and improve your code review process.
I have outlined five simple steps to develop a growth mindset as a software developer.
Some best practices for how people learn pulled from the research literature and ways of applying them to learning new things as a software engineer.
The idea of this post is to outline the most important aspects of accessibility, that’s why please treat it more like a cheat sheet than a compendium.
Arrays work the same in TypeScript as they do in Javascript, the only difference being that we have to define their type upfront.
The Rule: When naming a variable, don't encode it's type into its name, even in a dynamically typed language.
No one seems to be immune to procrastinating, myself included. Some people get drawn into social media, for others it's YouTube or ProductHunt. I, however, tend to lose whole days on Wikipedia and development communities. Everyone has their poison. If you really are one of these odd people who don't know what procrastination is, check out this video:
The idea behind a coding test is very simple: to filter out candidates who do not have the technical chops for the role, early on in the process before the hiring manager and candidate both waste their time with an in-person interview.
In this article, we will explore mainly JWT and JWS. In addition, we'll also go through JWE, JWA, and JWK quickly.
Learn how to leverage the Validate Finding feature of StackHawk to find and fix security bugs faster.
Prisma ORM is a good choice for your project. It lacks some features of other ORMs. But it's not a big deal because you can jump the lover levels of raw SQL
Technical debt exists on each project if it’s more than 1–3 months old. Having technical debt doesn’t necessarily mean that software engineers are not performing well. Technical debt can appear because of business pressure, lack of requirements, lack of interaction between team members etc. However, good software engineers know how to manage the technical debt and do that. Bad software engineers simply hide the tech debt from managers and customers, hoping that the project will be completed before it gets out of hand.
In this article you will learn different approaches you can use to improve your communication skills as a software developer.
Learn about different types of graphs in the data structure. Graphs in the data structure can be of various types, read this article to know more.
Git is awesome if you know how to use it effectively. It's not just a backup system! Here are 10 best practices for version control with Git.
Hello, Hacker Noon people! Technology guilds are a popular but still fresh way of implementing communities of practices in companies. Still, there are many questions, especially related to guild responsibilities and organization. Together with Andrew Kozin, I've prepared this post for you as a summary of our personal experience and understanding of the role of a technology guild nowadays.
The microservices approach of building applications is most suitable when we develop complex applications with diverse functionalities. Since microservices, unlike monolithic architecture, keeps each function independent of the other, it is the most followed technique in modern times for large applications.
This has been burning for a while.
This blog showcases 8 best YouTube channels for developers with tutorials, discussions & advice from experienced professionals.
PMs are ideally placed to create a workplace culture around preventing and responding to technical debt. Here are 7 actionable strategies to help PMs.
Smart contract developers need a web3 native database to decouple dapps and data. Tableland makes a nice try.
Today, I’m proud to officially introduce Warp, a from-first-principles reinvention of the terminal to make it work better for developers and teams.
You shouldn't be using a REST or RESTful interface for communication between your microservices. I'm not saying that to be controversial, I'm saying it because that's not what REST was designed for, it's not what REST is good at and it's definitely not the best nor easiest option out there.
Learn strategy design patterns with practical examples. Why and how to use strategy patterns in software design.
The 10x / rockstar developer is a myth. Long live the 100x situational developer!
Preparing for a board meeting is a stressful experience for everyone. For many CTOs, it’s also an exercise in futility, trying to zero in on engineering KPIs that accurately represent everything that’s happened in the department. The information that usually makes it to the board deck — information on completed features and incident reports — doesn’t tell the whole story.
A list of features shows what the team accomplished, but doesn’t reveal anything about how the team works. It can’t reveal process issues that need to be addressed or highlight challenges the team has overcome. Similarly, incident reports might illuminate problems in the codebase, but they’re devoid of context about how the team is dealing with those issues. Other departments have self-evident, objective KPIs. Sales, for example, can walk through their pipeline from demos booked to contracts signed, using objective measurements to chart their department’s progress over time.
Engineering leaders, on the other hand, must get creative to provide that level of clarity.
You’ll need to think carefully about the story you want your slides to tell, then choose engineering KPIs that map to those specific insights. When considering a metric, we recommend asking:
Everyone wants to be more productive without burning out. So, how do you get more done without working more hours? And how do you help the rest of your team improve without taking on the role of taskmaster? The answer: use effective tools.
Brick-n-mortar retailers, learn how to implement an AI-powered autonomous checkout from smart vending machines and kiosks to full store automation.
Top websites and creators for software engineers and developers. My choice of resources to stay up to date with the latest programming tools and solutions.
Publishing static content becomes so effortless with Next.js, MDX, and Contentlayer. This article will show you how easy it is to implement that system.
This article takes a look at the different methods for product backlog prioritisation, such as Stack Ranking, The MoSCoW method, and more.
In this guide, you will learn why it is important to write code comments, what are different code comment types, and the 4 best practices.
Model - a set of concepts existing in the head of the customer/project creator and terms that reflect his understanding.
JavaScript Promises evaluate eagerly, but sometimes that's a problem. This post covers why and how to create custom lazy-evaluating promises.
Experienced software engineers learn what works after maintaining their work for years.
We know that the software community has a multidisciplinary structure. In such a situation, you should not feel inadequate.
We use programming concepts in everyday life more often than you think. Here're some programming concepts explained for Non-programmers.
TLDR: Apply to be a part of the Mozilla Spring MVP Lab at mozilla.org/builders
Sundar Annamalai and Vinod Pachipulusu about starting Loop as a virtual restaurant platform to help restaurants with their business.
Learn how to send an email in your Python application with SMTP, a transactional email API, and with a multi-channel notification service.
A software engineer navigating the benefits of good communication in a remote workplace
Here I have tried to list some guided steps one can take to get familiar with any new codebase they come across.
Low-Code: Achieving 10x Software Engineering Productivity Through Better Dev Tools
Following my last article about a Discord malware, we now take a deeper look inside the inner workings of the PirateStealer malware.
I built a Customer Support System a few days ago and started to think of a way to seed my rails database with random data for testing without having to manually type in the data. This may not be the best way to do it, but it works and allows you to test your application.
By just having the right IDE setup — you can learn and grow, meanwhile producing quality code and software.
Best practices and things I’ve learned along the way.
In this article, we will be discussing some of the best practices for API versioning for ease of user consumption and flexibility.
Web developers who want to build an application using ReactJS must consider the react file upload to ensure that users can upload any file they need.
Our software is a large castle, formed by several layers superimposed and mixed, in order to facilitate its own maintenance, but which, in fact, end up creating
JavaScript facilitates every person, business, and organization’s interactive online presence across the world.
Often considered as a tool to build applications in your web browser, JavaScript can also be used as a general-purpose scripting language. Discover why
Thinking of transitioning away from Engineering Manager to Individual Contributor? That is exactly what I did! Let me tell you a little bit about it.
An easy Set-Up guide to writing google apps script locally with VS code with clasp.
Python, a programming language that has long been hailed as being both capable and easy to learn & understand the code, it is available to both Windows, Linux/Unix, Mac OS X & other platform users who can now download an official Python package from the Python Software Foundation page. Python comes preinstalled on most Linux distributions like Ubuntu releases, but in Microsoft’s Windows operating systems we need to install & configure explicitly.
How my GitHub profile got me a job at Spotify. It doesn't have to be a good profile, but having one can be a difference-maker.
Junior developers are afraid of looking dumb. They think that seeming stupid will hinder their career progression. Nothing could be further from the truth.
Hi Folks , Hope you all programming geeks are doing good. Today, we will discuss about the basic programming design principles and concepts that everyone should be aware about while developing a software . Well, Software Development ain’t easy. Programming/coding can be a real daunting task if not done in the right way. Hope you guys will like this post . So, without wasting time lets get started . [ i will be using JavaScript in here but you can use whatever language you are comfortable with ! ]
I will tell you what formats for common handlers exist and why it is better to agree on a single format with the backend than to fence a new solution every time
How can we measure whether an engineer deserves to receive the Senior title? What engineers should do to get to this stage of career development?
10 JavaScript questions for experienced developers that can help you crack your next interview.
Varun Sharma has been nominated for a 2021 Noonies Award for Architecture.
Dare to Change your Recruitment Strategy](https://hackernoon.com/learn-the-truth-about-software-developers-and-dare-to-change-your-recruitment-strategy) You can hire the best of the best if you try to understand the current preferences of software developers and update their strategy. Let`s learn how!
Software architecture, design and process of architecting explained using a case study.
Skilled IT workers are challenging to find and keep – and the talent shortage is bound to continue in 2022. But there’s a recipe that’s guaranteed to work...
This is the story of how I landed a job at Twitter as a full-time software engineer, what I went through, how I prepared and why I finally decided to join the company.
Who doesn’t like sharpshooting wood elves, chaos infested wastes and dwarfs digging deep under the mountain for treasures? Daring Sigmarite warrior priests and armour-clad chaos Chosen and all manner of other fantastic creatures? I know this might sound weird, but this is an article about programming! I’ve recently gained interest in trying to understand a bit more about Uncle Bob’s clean architecture design and, to do that, I’ve created a small app that I believe showcases some of the main strengths that I believe it has. Disclaimer: All Warhammer references are the property of Games Workshop and I also do not claim to be some clean architecture guru. But maybe this will help someone else with their first steps in grasping the concepts of this cool new toy I’ve found.
In this blog, I will be sharing my learnings and experience from one of the deployed models.
Learn standard practices you should take advantage of when dealing with logging. Make the logging great again.
Learn how to do project estimation that removes deadlines and avoids stress from a successful software engineering leader.
Improve the development process and product's quality by implementing proven practices in your projects.
Simple explanation of DotNet (.NET) CSharp (C#) Variance, Invariance, Covariance, and Contravariance. Providing a Cheat Sheet.
Event Bus is great for lightweight event systems. We'll discover its use case in React and build an Event Bus from scratch with TypeScript.
How to use TypeScript's ambient module feature for cross-sharing micro-frontend imports using single-spa.
I went to an OOP workshop by Sandi Metz several years ago. She made a comment that at one of her previous jobs, they didn't use if statements.
Creating a consistent style guide for your codebase can help your team be more consistent and productive. Here's how Google's Python Code Style Guide looks like
Top five quality assurance and testing trends that you need to follow!
We're used to thinking that you cannot deliver fast and maintain a healthy codebase. But does it really has to be a trade-off?
Data Structures and Algorithms are one of the most important skills that every computer science student must-have. It is often seen that people with good knowledge of these technologies are better programmers than others.
Given the importance of pre-trained Deep Learning models, which Deep Learning framework - PyTorch or TensorFlow - has more of these models available to users is
If you prefer to follow along via my YouTube video, you can watch it here
Software engineers seem to be in demand, but there are a lot of contradictory threads and information out there. Articles have even come out that question whether you really want to actually be a software engineer or whether you want to actually use your software engineering skills to create your own systems.
Continuous Delivery is one of the best practices for software development, but what are the best tools for it today? Here are my picks.
This article aimed to list the most useful and straightforward React libraries that cater to specific needs within the ecosystem.
This article is for business owners willing to launch their first product. In this material, we will discuss and try to compare two popular backend solutions.
“The tech industry is thriving. It’s expanding almost three times faster than the rest of the UK economy and it’s nearly worth £184bn.”
Kubernetes is the most widely used container-based orchestration platform today. Learn how to deploy apps with continuous delivery using Postman.
This blog post provides an introduction to the Django framework as well as a handpicked list of free resources to learn this framework.
If you aren't an educated and/or experienced tech person, a lot of question marks may pop up in your mind while looking at these two terms: Lean and Agile. Even if you are technically proficient, you may wonder what the difference between these two really is.
A Q&A for students with a Facebook software engineer
How do you teach 5th graders about Software Engineering concepts without getting too deep into any particular language? This is a question I’d been asking myself a few weeks in advance of attending a local school’s STEM<em> (Science, Technology, Engineering and Mathematics)</em> fair.
Learn the mindset and process behind Trunk Based Development, and how to use git effectively with this pattern.
We think of bugs as being in code but that’s just the end of the story. Bugs are a human problem. You fix one bug in code but you prevent future bugs by helping humans to work better.
Before deep into, I would like to say this will be useful if you are managing multiple Jenkins jobs which you think is a little bit complex 😊
With machine learning, a user can provide a computer algorithm with a massive amount of data, and the computer will analyze it and base its recommendations.
This is for people currently working and residing outside of Europe, who are looking for jobs in Berlin/Europe. There are many opportunities here, as the startup scene in Berlin is on the rise. I've been working as a Software Developer for the last 5 years, out of which I spent a year and a half in Berlin. Like many developers out there, moving abroad for work is a personal dream, and most people materialize that dream by doing a Masters from abroad, and working from there. For me, the story was a little different.
Lambda function is quite an intuitive concept of Modern C++ introduced in C++11, So there are already tons of articles on lambda function tutorial over the internet. But still, there are some untold things(like IIFE, types of lambda, etc.) left, which nobody talks about. Therefore, here I am to not only show you lambda function in C++ but we'll also cover how it works internally & other aspects of Lambda.
First post in a (hopefully) long series covering everything you need to know about debugging in VSCode, IntelliJ/IDEA in Java, NodeJS, Kotlin & Python.
Many self-taught coders have a hard time deciding between all the various options, but it’s so much easier to learn effectively if you have a clear goal.
If we build our entire paradigm on a single rule, we can keep it simple and make excellent models.
Make choosing an AI software development partner easier for yourself: check out this top 10 selection of industry-approved teams.
In this article, we invite you to discover our choice of the 5 automation tools that you should imperatively have tried or implemented within your organization.
How ChatGPT can support the software development lifecycle and provide a glimpse into the future of human-AI collaboration in software engineering
How do you measure how well your engineering team is doing and how do you find the bottlenecks where you can improve things the most?
Learn how to automate away as much maintenance as possible using Renovate, Travis CI, and CodeCov
Every Programmer wants to grow in their career, but it’s not easy, and if you don’t pay attention to your job, you will likely stay in the same position for many years. The growth in the initial few years is generally fast. Still, once you reach the barrier of 5 years, you need to decide which direction you want to move like — people management, product management, or software architecture.
Event-driven architecture is a software architecture paradigm promoting the production, detection, consumption of, and reaction to events.
Central configuration files are a plus for modern Python project structures. TOML files help us store project parameters in a beginner-friendly way.
Yet another story of how an ordinary guy from the middle of nowhere in Russia managed to get multiple FAANG offers. This time, in Europe.
There are a lot of factors that go into the software that drives the world today such as interface design, coding, testing, deployment.
TODOs are a tricky subject for developers. Many codebases are guilty of having TODOs linger around while nobody knows who’s responsible for a TODO or even has the required context to tackle it. Yet, should we feel ashamed for our lingering TODOs?
We have created a laravel package to keep the track of raw SQL migration using package Laravel raw sql query migration
A starting point for building secure application architecture for busy developers
Interested in choosing the best language for developing web applications? Our developers have shared the top seven choices in 2021. Discover what they are.
Developers with a strong understanding of company strategy rise faster, despite the misconception that engineers should only focus on technical details.
I write code for a living. You might say I’m a professional software engineer, but really software engineering is much more than just a profession — it’s a lifestyle. The hoodies, the ping pong, the endless snacks and soda… it’s all true. And yet, as rewarding as this field can be, I have a confession to make:
These are mistakes that I’ve made writing Go. Although these might not cause any sort of error but they can potentially affect the software.
Introduction
“Coming together is the beginning. Keeping together is progress. Working together is success.” Henry Ford.
Primary focus of Developer is to write code. Build, Test and Deploy of the application are better left to be managed by tools. skaffold can help in automating some of mundane tasks that comes with using kubernetes.
REST API endpoints paths list which backend uses to route API requests and frontend uses to make backend API requests.
Successful Software Developer](https://hackernoon.com/5-useful-tips-to-become-a-successful-software-developer) Want to know some foolproof tips to become a software developer? In this guide, we have covered everything for you to know.
A snapshot of LATAM’s tech industry and why it has become a go-to destination for U.S. companies to hire remote software engineers.
Modularity is central to modern software engineering - or may be all type of engineering not just software. We’ll explore support for modularity in Java and .Net platforms, but before that let’s first try to find answers for what and why of modularity.
Brief Introduction
Let's continue our analysis of the top myths and half-truths about open source. Part 1 is available at https://hackernoon.com/open-source-myths-and-half-truths-part-1-rur3e9x
An explanation of arbitrage and a look at an efficient algorithm to find riskless instantaneous arbitrage opportunities across markets.
Have you heard of software companies struggling to go through the stages of business development? Yes, of course, all of them do. The CEO oversees the company, ensuring that there are enough funds and the team is set up to get the right things done properly. But this is not a one time phase. It is an ongoing challenge. The company must continue to develop to remain competitive and infiltrate new markets.
Design patterns are an essential part of software development, providing a common language and best practices for recurring problems.
Here is a list of the best websites and online learning platforms to learn Blockchain.
This article will explain what CORS is, how it works, and why it is important.
The developer experience for Web3 is rife with inconveniences, including bloatedness, lack of protocol standardization, limited support for other platforms, and many more.
So it has been two months since I started my transition to a more tech-related career. I thought that in 3 months I would have enough knowledge to actually build a digital product. I couldn’t be more wrong. My main lesson learned is: learning to code is a lifetime commitment; it never stops.
This article is devoted to the consideration of Software Requirements Specifications, their importance in the software development process, and how they could be written. Within this article, I will pay more attention to the effective SRS template and its description.
Every conversation I have with CTOs, Engineering Managers, and Tech Leaders eventually gets to the “Which Metrics Should We Measure?” discussion.
If you are looking for some kind of metal panel business idea, allow me to be clear: the Rust I am referring to is a programming language.
I looked at archive.org and found a website I put live in 2001, which means I have been writing some code for 20 years. Of course, I am not going to give a link to that website still it will be safe to mention 20 years back in Kathmandu when people didn’t have an email I had built websites. I uploaded it over a 33.8k modem with a dial-up connection. Kids these days will not even know the sound of that modem (yes I am old).
Open source software has a lot of admirers, and very often nowadays when a new project is about to be developed, it is generally implied it is going to be done using OSS. Paradoxically, interest in this software has generated a lot of distortions and misconceptions that in practice sometimes prevent its trust among non-experienced users.
Do you sometimes feel like you’ll never know enough to be a real software engineer? Have you interacted with seasoned engineers who made you feel like you just won’t cut it in the industry?
In this article, we're going to walk through some of the basic setup for Slash GraphQL and then take a look at how I built a Pokémon Pokédex app with React and Slash GraphQL in just a few hours!
Read in this blog, How Python in Artificial Intelligence is an Ideal Fit for Web Development Projects?
I've been trying to start programming since early 2015 and I was finally able to start in 2020. It took a long time for me to start programming. There are certain things, that hindered me from learning. I tried multiple ways to overcome my issues but I failed. It took almost six years to finally convince myself to learn to program. Just in six months, I’ve learned C, C++, JavaScript, and Python. Though I’m no expert, I’ve just gathered basic knowledge of these.
Each remote service that we call eventually going to fail. No matter how reliable they are, it is inevitable.
The term Bug sounds like an excuse out of our scope infecting our systems. It is not. Software quality is under our control. It is our responsibility to deliver
Software is eating the world. Those of us who work, live and love software do not usually stop by to think about its meaning.
An ever-increasing number of organizations are developing applications that involve machine learning components. The complexity and diversity of these applications calls for software engineering techniques to ensure that they are built in a robust and future-proof manner.
Our colleague Lazar decided to built an Absence Tracker, so we can ditch the Telegram group where we reported our absences.
Buddy and Jenkins find themselves on completely opposite ends of the CI/CD spectrum. So which one should you go for? It certainly is a question of context. There are some clear technical differences but how they relate to actual value is circumstantial and should be taken on a case by case basis. As such, this comparison will be broken down into two sections.
Time estimation is an important skill for software developers, a nightmare for project managers, and just as opaque for customers. Why such a situation? Let's take a look!
Clean Code is a Lie and Nobody Writes it.
Have you been finding it difficult to model boundaries of your system’s microservices? Have you been slowed down by the Technical complexity of your codebase? Has your team been stepping on each other’s toes ?
Switching jobs in the tech industry can be an interesting adventure. Learning how to navigate the onboarding at a new company while keeping your health in check
We, humans, are experiencing tailor-made services which have been engineered right for us, we are not troubled personally, but we are doing one thing every day, which is kind of helping this intelligent machine work day and night just to make sure all these services are curated right and delivered to us in the manner we like to consume it.
To view the code, training visualizations, and more information about the python example at the end of this post, visit the Comet project page.
Write a program to take marks of 15 subjects from the user and display the Total, Percentage, Highest Marks, Average, and Remarks.
In this blog post, we will try to explain software testing from a very simple perspective and look in particular into end to end testing for web applications. We will also explore a very popular tool used in end to end testing for web applications.
If you are a software engineer in one of the FAANG companies or similar you are probably one among the thousands of engineers at the company. How do you go from starting fresh as a junior engineer to leading a team in say 5 years?
How do you prove that the software is working? How do you know you are not introducing harmful side effects? This is Software Testing 101!
Visual Regression Testing with Playwright - Automated Testing
After noticing my programming courses in college were outdated, I began this year by dropping out of college to teach myself machine learning and artificial intelligence using online resources. With no experience in tech, no previous degrees, here is the degree I designed in Machine Learning and Artificial Intelligence from beginning to end to get me to my goal — to become a well-rounded machine learning and AI engineer.
Microsoft has done great efforts to improve the user experience and build an active ecosystem for developers. Moreover, Microsoft has completely embraced open source in recent years, there are so many awesome open-source projects developed by Microsoft.
Software Engineering != Computer Science
A PDF export showdown. Who will win: DocRaptor or WeasyPrint?
Hiring freelance developers can provide you with many benefits over hiring full-time software developers. The most important benefit of hiring a freelance developer is that they are more affordable. Companies can avoid spending money on a yearly salary and benefits, and instead just pay for the work being done on their project.
There is also a global network of talent that can be provided to you by utilizing freelance platforms, which we will discuss shortly. Working with a freelance developer allows your company’s operations to stay lean because you can hire freelance developers as needed and cut down on expenses.
The world of web development moves fast, especially in the JavaScript ecosystem. New features, frameworks, and libraries are constantly emerging, and the minute you stop learning is the minute your skill set starts to become obsolete.
Till the time I was learning to code on my own, I had the liberty to pick & explore random new stuff and technologies and build small CLIs/chrome extensions for myself.
Recently I completed 2 years as a full-time software engineer. I started working since December 2017 at a company name Hullo.ai which was a small 10 people startup where I had to work on a multitude of things. In my first month, I had to write a Go server and dockerize it. My learning curve for the first month was something like this.
Marc Andreessen famously claimed “software is eating the world,” a decade later I claim "game engines are eating software"
As software engineers, we strive to better our craft and leave a lasting mark on the organizations we work for. Throughout our careers, we balance two types of knowledge: the combination of business domain and technical stack is our bread and butter. Sometimes we might value the business domain over the technical stack and vice versa as we expand our toolkit. For example, we might work at a financial institution (let’s call it Acme Investment Bank) for a broad domain, but where the tech stack is not bleeding edge. On the other hand, we might roll the dice and work for a firm that has a bleeding-edge tech stack but where the domain is very specific, like a company that sells wine to your pets.
Face recognition is a method of biometric identification through an image, video, or other audiovisual element of an individual’s face. In this article we’re going to look at the biggest market players and provide a list of the best facial recognition software solutions so that you can choose the one that meets your business goals.
Story and advice from a self-taught full-stack engineer
And how it led me to a Software Engineering job at one of India’s largest online grocery company.
Imagine you are a project manager building a historic fighter plane in a video game. A technical debt story about white stripes on a fighter plane.
Here are 3 amazing software engineering podcasts recommendations that will help you become a better software engineer.
Originally published at Managing Technical Debt.
The ultimate guide to becoming a 10x Dev - or what kind of devs I'm hiring (and promoting) as a VP of Engineering?
How I learned the opportunity cost of not using a paywall...kind of
Most important aspects of our life including our finance, identity, and healthcare now depend on code. Software security is now a critical aspect for not just companies, but individuals as well.
No matter how big or little, every company is always looking for ways to speed up software development projects to stay ahead of the competition.
Our team started to apply DevOps practices long before we registered Mad Devs as a company. Specifically, I ran into this approach more than 10 years ago in a different company where I worked as a System Administrator.
It is not a secret that in many companies, expenses on salaries of IT departments’ employees make up a significant part of the budget. And the high competition in the labor market further pushes the level of wages for IT specialists. High expenses lead to the fact that the employer is always searching for options to reduce their costs. It turned out, the companies themselves, trying to reduce costs as much as possible, turn to various tricks to reduce the cost of the work done. Similar mechanisms are used not only in IT but also in different other areas of the employer. But let’s talk about everything in order.
The COVID-19 pandemic has changed the way people search for jobs, but it is still possible to find a rewarding tech job. To make your job-hunt successful, utilize multiple strategies at the same time. Let’s take a look at the most effective ones.
Most engineers have heard of the 'boyscout rule': 'Always leave the code better than you found it.' It's often been heralded as a magic cure for technical debt; if only all software engineers behaved like good citizens, our software wouldn't deteriorate so relentlessly.
Dependency Injection(DI) is a set of software design principles that enable engineers to develop loosely coupled code. This stack overflow post is the best ELI5 description of DI:
Every individual has strengths and weaknesses; it’s easy as a hiring manager to hire people who display similar strengths as yourself. That’s because these strengths are easier to identify since you have experience and interest in said area and more confidence in your evaluation. However, people like you may also have similar blindspots. These blindspots, amplified on a group of people, will become much more detrimental. As a manager, I would want to reduce the number of weak areas on my team.
If you are using Git for a while you should have come across git log. As everyone knows, the git log is a simple command that helps us to view the changes or project history.
If you work in a team opening a Pull Request (or Merge Request) looks appropriate. It’s a common practice nowadays. However, have you ever thought about opening a Pull/Merge Request when working by yourself?
A list with 17 of the highest paying cities for Software Engineers in the San Francisco Bay Area. Curate by reports from the verified professionals at Blind.
In this article we will get familiar with several amazing Python libraries being used by the best software teams. With the exception of HTTPX (which is in beta), the libraries listed below are being actively developed & maintained and are backed by a strong community.
Code reviews at Google play an important role as an engineering practice and have been adopted already in the early days of Google. Still today, they are used to keep the code base clean, coherent and to ensure no arbitrary code is committed. Even though the code review process looks similar to code reviews at Microsoft, there are some Google specifics that allow for a particular lightweight code review process.
Here are the know the reasons behind the US government's positive stance on remote work policies.
Agile software development means different things to different people. In this post, we will define what agile software development is with a simple analogy that a five-year-old can understand. The analogy we will use is as straightforward as serving an apple to 4 kids. Yes, it will be that easy, let’s get started:
This article describes best practices for standardized logging from the point of view of performance, debuggability, and security.
The tool is called elven.js. It is an open-source MIT licensed tool based on the official erdjs SDK. What it does is it
A Chief Innovation Officer shares tips for growing a new breed of R&D engineering talents that are skilled in more than just conventional code using π-matrix.
It’s still dark out when my alarm rings at 5:00am and I begin the familiar shuffle down the hall to the kitchen and the coffee machine. I pour a steaming cup as my computer boots up, the steam mixing with the early morning fog that’s spilling in through an open window.
Building models and solutions in software is not just about programming. We will review Peter Naur's classic paper.
Software developers who aren’t familiar with the name Linus Torvalds are almost certainly familiar with his work. He’s widely regarded as one of the most prolific software developers in the world due to his authorship of the Linux kernel and Git, two of the most important projects in modern software and computing.
Here is a list of some of the best books new software developers can learn from.
In my never-ending quest to find harmony between speed of doing things (development speed) and speed of the thing (performance), I came across a project in its incubation phases which had me thinking: “This could be the one language for me.”
Facebook Behavioral Interviews; Tell Me About A Time You Had To Manage Conflicting Priorities; Evaluation Criteria, Response Framework, and Tips & Tricks
In my free time, I am attempting to build my own smart home devices. One feature they will need is speech recognition. While I am not certain yet as to how exactly I want to implement that feature, I thought it would be interesting to dive in and explore different options. The first I wanted to try was the SpeechRecognition library.
Engineering principles that lead to better, robust and maintainable codebases.
Ye olde Reliable Data Structures and Their Controversial (Read) Access.
Using objects as data structures is an established practice that generates many problems associated with the maintainability and evolution of software. It misuses brilliant concepts that were stated five decades ago. In this second part we will reflect on the reading access of these objects.
At Instamobile, we’re building a ton of complex features to save time and energy for React Native developers across the world. One of these complex features is the chat functionality, which is a must have in almost all mobile apps nowadays. In this tutorial, we’ll learn how to add a React Native Chat into any mobile app with only a few lines of code.
— Hey — Hi, yeah, so because of budget constraints we decided to replace you — Uhm, ok — Ok, thanks
Ask questions, ask for help, always be learning, and participate in code reviews. Often.
With the introduction of OOPs, Inheritance and Composition entered our senses and still confusing us.
What’s the overall performance of your engineering team? Let’s look at how we can improve your team’s performance.
DevOps is a deployment process that helps automate a lot of processes that used to take a team hours to days to get through. When you are trying to get that process going, you need to know that everyone is on-board or else it won't work. Switching from Waterfall deployments to DevOps is a huge organizational change.
How I approached solving an interview task for autonomous driving from 3 different perspectives: RANSAC, PCA, and Ordinary Least Squares (OLS).
When asked about their talent stack, most software developers reply with "writes code". To be a successful developer you need so much more than that.
If you can’t answer it, don’t worry, you’re not alone. Many engineering leaders couldn’t tell you without some significant number-crunching. Gaining visibility into performance is only half the battle though. Knowing how to interpret metrics and how to apply them to improving performance is where the magic happens. Many CEOs do not know how to align engineering metrics to business KPIs (revenue, customer retention, etc.). Bringing metrics to your board or non-technical CEO for the first time may be challenging if you are unable to help them bridge the gap.
An overview of Trees as a data structure. A software engineer's tool. Should I use a hashmap?
In this article we are going to explore this huge and passionate world of software development by demystifying what it really is and how can we get started in this field.
Indicators for burnout risk of software developers can be measured at an early stage with analytical software-based methods and allow for timely countermeasures
This question has haunted me for years. And it seems I’m not alone. Many people experience this same insecurity. They desire to know if they’ve made it.
The notion of state machines is extremely useful in programming. It streamlines the process of developing more complicated use case apps.
Selecting great test cases is very hard. Unless you summon the undead.
We think of Software Development as a pursuit grounded in logic. From this perspective it can be shocking that software projects have high failure rates - 31% in 2014. And some projects fail to the tune of billions. How is this level of chaos possible in an apparently logical discipline?
My team at Stepsize has surveyed 200+ Engineers and published the State of Technical Debt 2021 Report that explores the impact of tech debt on companies.
When a new online merchant chooses a payment gateway, one likely narrows them down to Adyen, Braintree, PayPal, Stripe. They're indeed the most popular today, and they are all robust and easy to integrate.
In February this year, we announced Fleet (Formerly Hole), a FaaS platform built on Node.js to be faster than other platforms and to create a more faithful integration with the ecosystem. In this post, I will clarify how all of this works and what we are bringing differently to the Serverless ecosystem, and what it means for startups and companies.
My generation has seen a world much less forgiving. We grew up understanding the fundamentals of climate change, and saw rising sea levels and record setting temperatures all over the world.
Code refactoring provides a well-needed mental break for developers, and I think many devs can relate to this. Writing code all day is very demanding, especially if you create new functionality day by day. It’s a taxing exercise, and developers often need some space to think about the codebase's overall organization and look back on what can be improved.
… and incidentally establishing DevOps.
In today’s digital world, data is constantly being generated, evaluated, and updated. It also plays an important role in the work of software engineers by providing accurate, actionable feedback that helps engineers understand where and how to make improvements to a product or process.
Many Engineering Managers promote Pull Requests as part of the development workflow. It’s a consolidated practice that brings lots of benefits. It consists of comparing the changes of a branch with the repository’s base branch (conventionally called master).
Top 3 books and tutorials on Apache Kafka
Are you an aspiring developer or engineer who is looking to break into the field? It’s always a hassle to prioritize the things to learn because of a plethora of information available out there. I believe the best way to get insights is to hear directly from people working in the industry.
Every tutorial I've read for the last 30 years starts with the infamous 'Hello World' example. This could be one of the reasons we write crappy software.
Over the last six months, I’ve learned how the best software engineers and leaders manage technical debt. I've interviewed more than 200 experts, to understand how tech debt is handled at growing software companies.
Developers deal with technical debt every day, and they know how to prevent and manage it better than anyone else. Here’s just some of what they had to say.
A roadmap that can be followed by any software engineer on their next job search and land a job at big tech. i.e. Google, Microsoft, Meta, Apple and Amazon.
The first time you finish a piece of software you've estimated, you discover a harsh reality ... software estimates are hard. Unexpected edge-cases, dependencies, meetings, and a thousand other things. This law summarizes it perfectly:
Bootstrap is a powerful front-end library, that gives you the power of quick design and responsive mobile-first site layout. It lays on top of the 12 grid system and it has extensive pre-built components.
Recently, I had to deal with an old codebase that was difficult to maintain and scale. In this article, I'll share how my team and I decided to deal with maintenance and the best practices we implemented to reduce time spent on refactoring.
Every software has best practices. Git is not different. It has become the most used versioning system in the last years. Many companies adopted git because of its features. If you wonder why git is so powerful, here are some of the advantages over other versioning systems, like Subversion:
A root cause analysis of all failures of our software will find a single culprit with multiple costumes. The enemy is always there. Many times disguised as laziness, sometimes simplification, and very frequently with the optimization outfit.
Here are the top 10 best countries to outsource software development based on cost, ease of finding a developer, quality of software engineer, and more.
The .NET Core platform makes it possible for businesses to develop applications for just about any platform—from Windows, macOS, Linux, and even mobile operating systems. This isn’t just a time saver, but a means to cut back on your budget. You will be able to develop across all platforms, and you won't have to hire developers for each ecosystem. Instead, you can hire one developer or a team of .NET developers to make it all happen.
Imagine, you are messaging your business partner about a super secret idea, it is worth $ 1m, will you trust the messaging application not to read your super secret conversation? No, right. No one will, still people across the world use whatsapp for such sensitive messaging (although I prefer telegram for my secret conversations). Well, turns out, it is because most messaging apps(including whatsapp) use a technique called End to End Encryption, which doesn’t allow these messaging services or their employees to read your conversations with your contacts. But how does this works, well, that is what we will try to understand here.
First, welcome to my series of “My Roadmap For Making a Popular Workout App”. I will share with you my trip to make my workout app into a popular mobile app.
The importance of web and mobile apps that can handle massive volumes of data has skyrocketed over the past few years. As a result, small and large enterprises want to make the most of their data for monitoring and better decision-making.
A software engineer’s journey into data science at Yelp and Uber
In this guide, you’ll learn all about refactoring source code: the benefits, challenges, tools, and best practices, and what is the difference between refactoring and technical debt.
Product managers have a dangerous role because of one oft-missed truth: Decisions about what to build are far more costly than most teams realize.
Your first job as a software developer can be very challenging. Having a mentor to discuss your industry-related challenges can be key to your career.
Developers tend to go for getting things working, ending up with a working program, lacking the quality you would like to see. In this article I will explain how to get quality code as well.
A moment of reflection dear dev, dear engineer, and dear LANister. A brief reminder that yes, we are here, and yes we are alive. We made it to this day! What a joy! Ohh, hey Kelvin! Let's talk about our mental health today. A little sanity in all the chaos of whatever bugs, errors, and painful hours we might have had to this moment.
Not all traffic can be arbitrarily routed.
Give non-technical people a structured way to make updates to a webpage (without fearing they’ll mess up) from within Monday by using Reshuffle Open Source
Here are the top 6 software development methodologies that the project manager and the team must follow throughout the software development process.
Machine learning engineers might be some of the most highly skilled software engineers. We take a look at how cities in the US compensate their ML engineers.
How cognitive biases make us overlook problems in our code and how we vigorously defend our opinions against data-based insights. And what can help against it.
Personal Finance is something that is, for better or worse, not a required class. Here are some basic things I wish I knew when I started working in software.
A code review checklist, as well as clear rules and guidelines around code reviews, can make your code review practice so much more beneficial to your team and significantly speed-up code reviews.
Gain entry into IT with knowledge of data science, engineering, cloud computing, cybersecurity, or devops.
All software companies strive to produce quality products. The journey begins with a product that works. Software correctness is usually defined as the adherence of software to its specification. In most cases, formal verification is not possible. As such, we typically impose functional correctness with test coverage.
There is a perception that enterprise software is easy. The thought process goes something like: “How can adding up numbers and producing reports be as hard to do as programming image recognition, or writing software to control nuclear power plants?”
You’ve set the alarm for 2:45pm.
If you prefer to follow along via my YouTube video, you can watch it here!
A walk-through of dependency injection.
Is a computer science degree worth it? For me, partially. For you? You tell me.
.Net Microservices is gaining massive popularity in the Tech market. Let's find out what actually is dot Net Microservices Application Architecture?
How does the ZIP format work?
Designing software systems is about tradeoffs and making tradeoff decisions is hard. You always feel like you are loosing one thing or the other but that’s not what we are going to talk about today.
So You Want to Get Into Data Science
In this article, we will be discussing for the differences between Multithreading and Multiprocessing and how to decide what to use in Python.
Today I learned, The Reality that People Never Told Me about HTTP-PATCH!
Much of modern problems in software development have actually been solved and we keep forgetting this to our peril. Every day something pops up in a conversation, on one of our teams or on socials that can be addressed by a book from years and sometimes decades ago.
In this post, we'll go over the benefits of Flutter web development for your business, as well as the steps involved in developing such apps.
Comparing the different data storage types in Python.
There are many ways in which technical debt costs us money: lost deals, customer churn, employee churn, lawsuits, and more. However, there are a couple of issues that are more important than others: engineering time, morale, and the missed revenue from software delays.
As a software engineer, you have to find the perfect mix of tools and templates that can help make you more efficient in your day-to-day tasks.
How can we use data to understand engineering bottlenecks?
The definition and content of activities of the software development manager can vary widely.
At its heart, scaling a team is about matching skills to problems. In this piece, we share a guide about scaling backend API software development teams
I’m writing this from my new “office” which is a small desk in a large closet located under the stairs of my house. Harry Potter style. We have our first baby on the way so I got kicked out of our 2nd bedroom and I’m embracing the office-under-the-stairs life.
The development life cycles of applications in an enterprise environment often follow a common theme. An application begins life with a clear purpose in mind and over time has requirements brought in that cause incremental additions to the scope of the original concept. These additions could either be completely in sync with the original concept or perhaps the requirement just had no better home to belong in. As the application matures to an end-of-life state it has now grown far past its original intended purpose and is in dire need of a refactor — breaking down the monolithic beast into smaller and more succinct components.
We've all been there at one point in our careers, haven't we?
The importance of code refactoring is immeasurable since its purpose is to simplify the code for better performance. ⚡Use all the benefits now.
Building a user management solution using ORY Oathkeeper and Auth0.
Exception handling is common to most programming languages, and the mechanism and behaviors are similar in most languages: try\catch\finally. It is well documented. We are not going to discuss that.
Facebook Behavioral Interviews: How they cover the topics of leadership, time management, ability to deal with disagreement while assessing the right fit.
There is no better moment for me than starting a brand new project.
There are many software engineer qualities that will make you stand out. Among them, these 3 are crucial for you to become a great software engineer and leave t
AWS KMS Security and Key Management
Data science came a long way from the early days of Knowledge Discovery in Databases (KDD) and Very Large Data Bases (VLDB) conferences.
Have you ever waited overnight for that report from yesterday’s sales? Or maybe you longed for the updated demand forecast that predicts inventory requirements from real-time point-of-sale and order management data. We are always waiting for our analytics. And worse yet, it usually takes weeks to request changes to our reports. To add insult to injury, you keep getting taxed for the increasing costs of the specialized analytics database.
Tech lead, team lead, software architects, and engineering managers — as any developer already knows, naming is hard. Throughout the industry, those roles are as fuzzy as their responsibilities.
How Front End Development Broke Me: A Burnout Story
Artificial intelligence (AI) affected the majority of industries all over the world. There are a lot of definitions of what AI means, but we think that the most relevant is to consider artificial intelligence as the process of adaptation to a new environment, collection of new knowledge, and using it in new scenarios. AI can be adapted to all spheres of human life, it can automate some processes or partly replace humans. AI systems and tools can demonstrate some of the human intelligence behavior: learning, planning, motion, creativity, manipulation, and many others. Generally, artificial intelligence is a form of adaptable intellect, which can inherit human behavior.
...and set them up for success
In this article, we are going to discuss a testing approach known as unit testing. What are unit tests? How should you implement them? and their benefits.
One would expect that writing code which any programmer can read and understand would be an inherent skill of software developers. The fact is that only 20% of programmers have this ability. The code that you are writing must be understood not only by the machine but also by humans. In software development, quality should be everyone’s priority. Throughout the development process, the goal should be the delivery of good quality and working code.
React Native is without any doubt a strong and powerful solution. It opens the world of cross-platform app development for a much wider audience of software engineers who aren’t familiar with native technologies. But it might at the same time be quite difficult to implement complex things when you’ve just started learning. In this short tutorial, I want to give a step-by-step guide on how to implement one of them — infinite scroll.
During the process of working on my book on machine learning interviews, one question that I’ve been asked many times by candidates is the onsite-to-offer ratio, e.g. what percentage of people who interview at a company eventually get an offer. Another number that recruiters and hiring managers are keen to know is the yield rate on offers of different companies – e.g. what percentage of people who are extended an offer by a company accept that offer?
Ye olde Reliable Data Structures and Their Controversial (Write) Access.
Books are the best resource for sharing knowledge in a not-assisted way. They go deep into a topic, or more briefly over a bunch of them. Although, as a Software Engineer, I learned a lot from blog posts, tweets, and conference talks, it was books that prepared me for the Tech Lead role.
Excessive concern about the beauty of the source code can compromise the outcome of a project.
In this post, I'll try to share my experience on learning product manager’s job as a software engineer. What the job is like, what’s involved, as an introvert can you be a become a product manager, and many other questions you might have. I am a technical co-founder of a product management app called Shipit and needed to put myself into the role of product manager to learn the intricacies of the job.
TL;DR
Atom, Node.js, Cloud 9 IDE, and Linx are some of the best software development tools on the market.
If you are reading these tips on how to switch your job to IT, then below you will find some golden tips which I wish I had got at the start of my career back t
DevOps, the term seems a buzz word for many from the last few years, but this buzzword is the most searched term on the internet by IT recruiters, software firms, and agencies. When it comes to DevOps, the pro enthusiasts argue saying it is never about the tools or automation, but they miss to see that, in fact, tools are the ones that take over the culture ones the DevOps culture is set in any firm. We all agree DevOps is not only about the tools, nor even an individual role, perhaps, it should be a group effort, DevOps is a trinity of people, process and tools. But to enable DevOps, in any organization, DevOps tools play a vital role.
Internships are not about coffee runs, you can get a great experience that can make you stand out when applying for your first job out of University.
C++ was initially intended to extend the C programming language with features that make object-oriented programming easier.
If you prefer to follow along via my YouTube video, you can watch it here!
Scrum is a buzzword, the virtue signal of choice for middle-management in software organizations.
Every software company has some amount of technical debt, which is additional development work created in the long-term by taking a shortcut in the short-term to get code out the door. Technical debt can take the form of poor design decisions, much-needed refactorings, technology upgrades, and outstanding bugs.
Many stakeholders still hope to get a high-quality product without investing resources in SRS documentation.
A development method to bring value quickly while not slowing down the pace of software releases.
What is blockchain security? Learn how blockchain security works and common blockchain security vulnerabilities to know.
Implementing an architecture within an application can be challenging. There are rules we can follow (SOLID, Clean Architecture) and patterns to guide us (MVVM, MVP, MVI, Redux, …) but sometimes, things we thought were well established deserve a step back.
For those looking to leap into the world of startups, here are the four essential mindsets that will make you a successful startup engineer.
Software configuration management is a complex issue to implement, where programmers do not document anything and the entire process is done "ad hoc".
Monolithic architecture in software development. Discover the world of n-layered patterns and what they involve.
The full potential of in-car payment systems will be revealed in the machine-to-machine economy and a cooperative mobility ecosystem
Your organization’s growth is often tied to the tools that you choose to implement your business plan. Given that it’s such a crucial part of success, these tools have become a divisive topic.
Technology in business is a phenomenon that is taking over the world. Business is certainly not going anywhere anytime soon; technology is the only way to go. Business needs to have the right tools in place to compete in a competitive corporate environment.
Relax, nobody lost a forest.
When I wrote "Your Developer is not a Single Point of Failure" there was definitely push back from managers, suits and other C-Suite denizens. Without a doubt, developers can be single points of failure. I would be lying, if I did not acknowledge the "historical blame" lies mostly at the feet of developers for the belief coders are single points of failure. Too many software developers built ivory towers of code for the sake of job security. Too many businesses were held hostage to custom algorithms only a handful of people could decipher...perhaps only ONE person could!
An exercise improving legacy code
Rational Software Engineer: How to Find a Dream Job covers how to go through the job search process and identify whether a company is a good place to work.
Are we done on code smells? Probably never!
Problem - How many times have we faced this problem of worrying about cleaning up after running test cases. When some of our test cases run, they might add data to our database or add files to our directory which we don’t want to worry about every time.
In this article, we will be discussing the ways to optimize the database for speed in Django applications.
Container technologies have a profound impact on the entire IT industry. Learn the basic principles behind containers and the 10 reasons why you should use them
The ever-evolving technological era has necessitated the need for cost-effective, high-speed, and reliable sources for web applications. The current market trend of cost reduction and efficiency has dictated that an Internet-based one replaces the traditional desktop-based application.
How to build a proactive and happy engineering team? What should you know to manage and lead the team of engineers more effectively? Here we’re going to share the startup guide with the helpful tips to make you a better manager and leader.
Engineers all over the world are beginning to mobilize under a unified mission of moving the needle towards an emissions-free planet.
What’s the difference between a negative experience and a constructive review?
Javascript is a language that's understood by the browser. You need to make your JavaScript code more readable in fewer lines of code.
This post will show the steps I took to arrive at this point in my career and dispel some myths that I’ve seen newer engineers, including myself, fall prey to.
How to use new packaging standards with virtual environment tools — adapted from the official documentations of python.org and Pipenv
A case study for all software developers to earn with side hustle by using their skills to earn extra cash
Data structures are eagerly introduced to new programmers, since they will be using them pretty much through their whole career. Knowing them, how they work, what are they good for, which one to use, are things that can change the performance of your solutions quite vastly.
I remember learning about lean manufacturing at Toyota in an early middle school business class, and was endlessly fascinated by the idea of minimizing waste and maximizing productivity through intentional design. Over time, lean methodology was adopted by several industries, outside of manufacturing, including software development.
How to do faster preparation for coding interviews?
An introduction to Kotlin coroutines compared to Futures/Promises such as Reactor’s Mono or Java’s CompletableFuture
Struggle to find the chemistry Nobel prize winner for 1979? Try out MeiliSearch's super-fast-search JavaScript tutorial to find Nobel prize winners in a matter of milliseconds. 🌬️
Software development is something that is gaining popularity at lightning speed with the development of technology. The demand for regular developers is high compared to most other mainstream professions. But, what are the other reasons for learning to code?
Essential skills for DevOps Engineer to boost your career with no stress
How does the GIF format work?
Blockchain is a term utilized to represent distributed ledger technology.
I have been involved recently in Agile transformation, i went through lots of conversations, with Techy people, that have a lot of misconceptions about Agile.
Writing good documentation is crucial. While working on Appwrite, documentation is one of the essential parts of our development life-cycle. When we are building tools designed for developers, our docs are where developers first meet our product. Complex, unclear, or unorganized documentation site can drive developers away even if your product is great. It doesn’t worth a lot if your code is awesome or neat if no-one can use it.
We’re going to look at what sprint velocity is, how it can affect your development cycle, and what formulas you can use to measure sprint velocity.
Like any other story, they all start with a point in time. Mine? In 2015 when I met Plant an App team (DNNSharp at that time) over a simple AngularJS interview.
Management is just doing The D.A.M.N job: providing Direction; fostering Alignment; maintaining Motivation, and making sure there's No Blockers.
It's impossible to write OOP code with Spring. From its core it promotes the use of singletons and anemic data structures a.k.a. data "objects" a.k.a. DTO. This fuels procedural programming and kills OOP.
Software writing taught me that: a well written software is a simple software.
If you want to join the Freelancing market, a good first step would be to actually understand what the market is looking for; what technologies are popular...
I loved being a software engineer, or so I thought. On my last project working as an engineer, I fondly recall spending my weekends writing code to finish any user stories in my queue. It got to the point that I completed my work so far in advance that I was running a few sprints ahead of my team. I started to use my newfound free time during the week to sit in as many application requirement gathering meetings as possible. I began to collaborate more with our design team and shadow interviews with customers about the product we were building. I shifted into more of a mentorship role for our engineering team. At times, I found myself explaining the rationale behind a feature design decision and bouncing ideas around for an architectural approach in the same conversation. It took me a while to reach this career-changing realization; I was more interested in shaping the product than building it.
Context
In our last installment, we introduced sequential consistency, the threading programming contract between programmers and computer systems.
Is the war really an obstacle to the timely performance of quality work?
I have always been wowed by people’s irrational desire to avoid healthy conflicts at work. It seemed that their primary goal is not to achieve results but to treat each other politely. Everyone was super polite and courteous. We were not making pots and pans; we were celebrating the Day of Politeness.
In the final part of his series, the author provides a retrospective of using Heroku for the very first time, detailing the new design and lessons learned.
Modern methods of software measurement do not provide a strong base for continuous improvement. This article tries to fill this gap.
I have read multiple definitions for Lead Time and Cycle Time over the last years. Recently, I shared why I prefer using the first over the later.
Written By Esco Obong (@escobyte on Twitter), Senior Software Engineer @Uber, Founder of Algorythm study group on Facebook and Black Software Engineers Career Support Group on LinkedIn.
The management of software development teams is a real-life representation of complex systems.
Last week we hosted a webinar where I interviewed Adam Tornhill, CTO & Co-founder of CodeScene, about technical debt: what is it, why is it important, and how to manage it effectively.
Disclaimer: long read. About the painful stuff, what I want to share for more than a month. Also does not claim to be complete, it is more about how I try to deal with it.
The chief technology officer’s role starts from the love of technologies and should sound like Chief Technology Lover. Indeed, the true love of technology is where most of the successful CTOs take place. They hack systems because of curiosity, read books because of the need for knowledge, trying new tools, programming languages, and environments. A CTO must also possess the ability to think effectively in conceptual terms, bring clarity, and strong leadership. A CTO must have team-building skills since long-term goals require accomplishing far more than one person can do.
This is the second post in a series about uploading files for the web. In this post, we use JavaScript to create the file upload request.
I know, 21 is a lot of keys. Software development is complex, don't let anyone tell you different. I imagine some of these points will resonate with you and hopefully some will be new and enlightening.
If you are looking for a tool to start managing technical debt this article will help you make the right decision.
Load testing is an important part of releasing a reliable API or application. Vegeta load testing will give you the confidence that the application will work well under a defined load. In this post, we will discuss how to use Vegeta for your load testing needs with some GET request examples. As it is just a go binary it is much easier to set up and use than you think, let's get started.
XML, JSON, TOML, YAML are bad relative to Tree data format
This article gives sample software engineering interview questions, as well as my approach to conducting efficient interviews.
"Don’t repeat yourself." Every programmer has this concept drilled into their head when first learning to code. Any time you have code you find yourself duplicating in several places, it’s time to abstract that code away into a class or a function. But how does this apply to user interfaces? How do you avoid re-writing the same HTML and CSS over and over again?
My last job in Brazil before moving to the UK was at ThoughtWorks. While I didn’t agree with everything that they did there (OMG… Java, please no! ^_^’’’) there is one thing about ThoughtWorks that is incontestable: they are very good with processes.
This article is for them, who have heard about Dynamic Programming and for them also, who have not heard but want to know about Dynamic Programming (or DP) . In this article, I will cover all those topics which can help you to work with DP .
I like to analyze my past work through the prism of evaluating my mistakes (I’m sure my therapist would have a field day with that one). I launched my first publicly available engineering project in early December and as George W. Bush once said, “Mistakes were made”.
To help you build the ultimate workflow, we went looking for the developer productivity tools that are currently trending in coding communities.
I asked developers in my team what VS Code extensions they use to boost their productivity, and here’s what they said.
When I returned to coding after a long break, I felt sorry that I had wasted a lot of time. I learned image manipulation software instead of coding. That’s when I started to wonder:
Is Photoshop still relevant for a web developer?
Why IT executives should consider using Kubernetes in 2021 and what is its real value for business? Find real-world use cases and expert advice on adoption.
This short post is written for recent graduates and current students who aim to find a job as a Software Engineer in the Tech industry and contains a list of resources to help them.
Developing and coding are incredibly tough. There are hundreds upon thousands of lines of code, and a single error can leave you trawling to find what exactly went wrong and why.
You’re not here to mess around. You want a job that pays you for your technical skills and you’re willing to do whatever it takes to land that job offer. But the journey’s been tough. You’re concerned with if you’re learning the right things. You’re not sure if you’re heading in the right direction. You’ve tried coding something, looked at coding docs, and then realized the docs weren’t that helpful.
This article looks at how you can refactor your code using Visual Studio Code (VS Code) and Visual Studio Code plugins.
Web accessibility is important. Making your app accessible is morally the right thing to do, it helps you win more business, and it may even be legally or contractually required. However, not many software engineers or web designers know how to make their apps accessible.
Our life today is comfortable to a large extent due to smart devices. These things are the world of the Internet of things (IoT).
Docker has sharply risen in popularity in the past years. It has been one of the tools that have changed the way we work as software engineers and DevOps Engineers. From Docker v 17.05 multi-stage build was introduced which helped abandon the older builder pattern with use of stages and target. This post discussed how you can exploit docker multi-stage build to build optimal images suited for dev/test and production with a NodeJs example application.
Code churn is a measure or indication of how often a file changes. It typically refers to how often a developer throws out code
In this post, we will talk about the features of working with SQL. We will talk about how you can possibly improve your database queries and speed up your app
Red flag: Individuals who immediately jump into solutions and coding before the interviewer gives them the green light.
The software development life cycle is about producing high-quality software promptly.
Meta-programming is magic. That is the main reason why we should not use it. There are many dire consequences on the horizon.
There is no doubt that object-oriented programming is a pillar of software development and also one of the reasons for the huge success of Java. Strong knowledge of object-oriented programming helps you to create better software.
The most beautiful code, the most beautiful functions, and the most beautiful programs are sometimes not there at all.
Web accessibility is an incredibly vital aspect to consider when developing a website or web application, yet so many companies either ignore accessibility guidelines or don’t understand how to implement them properly.
In this post, I will try to answer 2 questions.
OKRs vs. KPIs, what are the differences? That’s a common question I hear from managers of Engineering Teams. KPIs are more straightforward to explain than OKRs, which can be tricky and more complex. They don’t mean the same, although they are connected.
The data scientist is emerging as a new career option. Software engineering is an older discipline that has already made its perfect place in the IT world.
Manage JavaScript 'monorepos' with Lerna, Build a React Icon Library & Publish to NPM
In this article, I will be walking you through how to set up elasticsearch on your PC.
In a software company, people often talk about tech debt, usually blaming it for something bad that is happening, such as
When you hear someone say they are an “angel investor,” you may assume they have access to a large disposable income, but that's no longer the case.
Code is read more than it is written. To write code we are constantly reading it. Here are 8 rules for writing cleaner code based by choosing better names.
Have you ever wanted to write unit tests for your code, but you’ve found that it’s difficult to do so? Often this is the result of not writing code with testing in mind. An easy way to solve this is through utilizing test-driven development, a development process in which you write your tests before your app code.
Hiring senior talent doesn’t have to be hard with this simple process.
Lead Photo by Max Duzij on Unsplash
Find out what contributes to job satisfaction and being passionate in the field of software engineering.
Behavior-Driven Development (BDD) is a really powerful tool that helps us build robust, value-based software. You can sometimes hear detractors say that it brings a lot of complexity and leads to long tests difficult to maintain. Let's take stock of what BDD really is, by determining anti-patterns and best practices.
For the last 3 years we have been working with IR signals every day. And all this time we learn something new. Let's find out how it works!
A lack of focus, lack of visibility into our codebase problems, and context switching decrease developer productivity. Here are the best ways and tools that'll help you get things done.
Hello folks, if you are preparing for System design Interview and looking for best resources to master Software design and System design then you have come to the right place.
In this article, my colleague Anton Kozlov tell us how to cover the main methods of simulation and firmware testing for AVR microcontrollers. Let's start!
As a developer, when you think of security, what comes to mind? Is it clear what are different aspects that need to be handled to make a software secure? And why you need to do that?
An in-depth explanation of the deceptively simple concepts around "this" and its binding (implicit, explicit, and new) in JavaScript.
All email fundamentals that every developer must know. What an email consists of, how it gets from sender to recipient, and other basics.
JavaScript is single-threaded, so how does it handle asynchronous code without blocking the main thread while it waits for an action to complete?
With much of the DevOps stack having matured and good practices becoming more mainstream, the need for quality in software has quickly become a central issue
There are quite a few rules/principles that get thrown around in the software world. Some that come to mind are SOLID principles, Design Patterns, Do one thing and do it well, etc. I totally stand by all of them and believe our world would be a much better place if these principles are followed more.
Failure is fashionable. Making is much easier than thinking and failures are not stigma, let’s take this idea to our code.
Last week’s markets were a whirlwind making history for not one, but two crashes now called Black Monday (2020) and Black Thursday (2020). On each of these days, market-wide curbs, also called trading circuit breakers, kicked in to prevent panic selling and rapid market decline when the markets dropped more than 7% after the opening bell.
Are we tired with code smells? Not yet!
Scaled Agile Frameworks can take some figuring out. Let's understand SAFe. We'll see why to use it, its core elements and how it works.
This another code smell chapter
To mutate is to evolve. It was proposed by Sir Charles Darwin and we use it in the software industry. But how mutable should software be?
Software Engineering KPIs (Key Performance Indicators) are measurable values that indicate the progress of engineering teams’ performance towards business objectives. Therefore, they need to be consistent, broad enough to consider everyone’s effort, and, most importantly, measurable.
What is hierarchical clustering in unsupervised learning?
What I would say to myself if I could travel to my past.
Information Technology (IT) certification can enrich your IT career and pave the way for a profitable way. As the demand for IT professionals increases, let's look at 10 high-paying certifications. The technology landscape is constantly changing and the demand for information technology certification is also getting higher. Popular areas of IT include networking, cloud computing, project management, and security. Eighty percent of IT professionals say certification is useful for careers and the challenge is to identify areas of interest. Let's take a look at the certifications that are most needed and the salaries that correspond to them.
Originally, the metaphor of technical debt was introduced to help us explain the need for refactoring software systems to upper management.
There are yet more code smells. Let’s keep changing the aromas. We see several symptoms and situations that make us doubt the quality of our development.
More code smells. No joke. We see several symptoms and situations that make us doubt the quality of our development.
Based on salaries and total compensation packages, Blind curated a list of the top 50 highest - paying cities for software engineers in the United States.
Read in this post, 2022 Web Development Trends, Mistakes, and Misconceptions: What You Need to Know
A huge number of new businesses and startups used to rely on the Internet and mobile application as their entire marketplace or a major part of their growth strategies. Thus, the mobile industry is lucrative in this respect and delivers best results. So, if you are having a promising business idea in mind, then the next best step could be to develop the app instantly. Going with the number of smartphone users Android users overpower iOS therefore, hire Android developers to easily establish your business in the market.
Well-written multitier applications consist of multiple layers. The most widespread three-tier architecture divides our code into a presentation, business and data access tiers. Like it or not, but the business layer is where we, developers, spend the most time on a daily basis. This is the place where all processes and decisions our application depends on take place. Therefore, requirements for the business layer change more often than in any other layer. What hurts us, developers, most is that with every change, even the smallest ones, we need to recompile and rebuild our app. It usually takes a piece of the valuable time that we could use for more interesting things. What if we could move a business logic out of our code and let non-technician people change it?
The InfluxBD Origin Story: How Paul Dix took a failing SaaS product and turned it into a successful commercial open source time series database company.
Test-driven development (TDD) is all the rage these days and has been a discussion topic for quite some time. If you are brand new to TDD, this article should serve as a good introduction to what TDD is, why it’s useful, what a typical TDD workflow looks like, and when to use TDD.
The phrase “No Silver Bullet” is widely used in the industry. In this article we will revisit the classic paper by Fred Brooks that gave rise to it.
The Rule: Whenever you name a variable, function, or class, ask if it is concise, honest, expressive, and complete.
Published with permission from Alvin Lee.
What is Agile Data-Driven?
Visit the /Learn Repo to find the most read stories about any technology.