Categories
Careers

Roadmap to Becoming a Back End Developer

Learning to become a back end developer is something that takes a while to do.

In this article, we’ll look at the path to becoming a back end developer. We’ll focus on what we have to learn.

Git

Git has become the most popular version control system is because of its ability to have local and remote repositories. It can also let people make a copy of a remote repository by forking.

Pull requests are also a great way to let people review code before merging them.

If we learn how to pull and push code, make pull requests, and merge code, then we have a good start.

To learn more about Git, we can go to The Git Complete Guide to learn more.

SSH and Command-Line Basics

SSH stands for secure shell. It means we’ve to log into a server and know how to do operations by running commands.

They’re just some commands like file operation commands, changing .bashrc , etc. that we have to know.

Common operations include manipulating files, creating links, navigation the file systems, adding options to the command line, and editing text files.

HTTP(S)

Back end apps often have to talk to other APIs, so we’ve to make HTTP requests from them.

We should know how to make HTTP requests, set request headers, and parse responses and work with them.

Also, they take requests from clients so we’ve to learn how to parse query strings, check HTTP verbs, and parse request bodies to get the data from clients’ requests and get what we want.

Data Structures and Algorithms

Front end development is all about solving problems. Data structures and algorithms let us solve problems with computer programs.

Programs consist of code that manipulating data structures with algorithms. So we have to learn both to create our own programs.

We’ve to learn about the speed of various algorithms so that we can create programs that are fast enough for people to use.

Common algorithms include sorting, searching, greedy algorithms, and optimization.

Geeks for Geeks is a great resource for learning algorithms.

Character Encodings

We to learn about character encodings so that we can display data properly on the screen.

The most common is Unicode so we definitely have to learn what’s in the character set. Another common encoding is ASCII.

Remote Git Hosts

We’ve to learn how to use remote Git hosts like Github, Bitbucket, or GitLab so that we can push our code to remote repositories.

Also, we’ve to know how to merge code and fork repositories. We may also have to manage permissions and create and remote repositories.

Database

We’ve to learn how to manipulate databases and how to save data to them.

Relational databases are the most popular since most data can easily be models with relationships.

Therefore, SQL is the most popular language to manipulate relational database as it’s designed to manipulate relational database data.

NoSQL databases also have some limited uses with data analysis and caching, so we have also had to work with them if we ever want to analyze data or use Redis for caching.

Node.js

Node.js is a runtime environment for running JavaScript apps on the server. There’re a few popular back end frameworks like Express that are made for it.

We can use them to develop their own back end apps and then use ORMs like Sequelize to manipulate databases.

For a complete back end solution, there’s also Nest.js which combines everything into one framework.

Python

Python is also popular for web development. Django and Flask are popular frameworks for Python back end development.

Django is a full-featured framework with basic routing, authentication, and ORM capabilities.

Flask is a basic framework with basic routing features and we’ve to add the remaining parts ourselves.

Java

Java and Spring are popular for enterprise apps. Spring is a framework that does everything.

It lets us create a cutting edge, high-performance back end with a comprehensive framework.

PHP and MySQL

PHP and MySQL are still popular. The PHP language has improved immensely and popular frameworks like Laravel make PHP development clean and simple.

MySQL is still the most popular database that’s used with PHP apps since they’re often paired together with servers like WAMP and XAMPP.

Conclusion

Back end development has its own path. There’re lots to learn to become a proficient back end developer.

This is going to be the roadmap for the next few years so there’s no better time to become a back end developer than now as technologies have matured.

Categories
Careers

How to Stay Fit Physically and Mentally as a Developer

Developers are hard workers. We work day and night with lots of stress and deadline to get a paycheck.

In this article, we’ll look at how to stay physically and mentally fit as a developer with these tips.

Physical Exercise

Physical exercise is important. We got to do it regularly. Pick something that we like to do and do it.

For instance, we can take daily walks for 15 minutes to take a break. Exercise is a great way to freshen our minds and take a break from programming and work altogether.

Low Sugar and Carb Diet

Carbs and sugars aren’t all that good for us if we have too much of it. It causes insulin to be secreted in our body to respond to the amount of sugar in our blood increasing too quickly.

The insulin spike causes us to be tired after eating a meal full of carbs and sugar.

Therefore, we may get more energy if we eat fewer carbs and sugary foods.

Get Enough Sleep

Sleep is very important. It lets us recharge and our brains commit things to memory when we sleep.

Therefore, if we don’t sleep enough, then we’ll be tired and forgetful and we’ll burn out from the lack of sleep.

Probably 7 to 8 hours of sleep is enough for most people so we should aim for that.

Working ourselves until we’re exhausted just isn’t a good way to treat ourselves, so we should sleep as much we need to be energetic.

Take a Break From Programming

Programming taxes our brains, so we shouldn’t do it for too much time in a day.

We need to take a break from programming by finding something else to do.

A hobby is a great way to let us take a break from programming. Also, we can spend time reading things to keep us up to date on the latest trends in technology.

Also, chatting with other people is also a great way to take a break with making friends. We can learn from their diverse background and wisdom. And other people can learn something from us.

Take Care of Our Backs

We got to take care of our backs with a good chair. Sitting for a long time can be painful without it.

There’re lots of ergonomic chairs with curvatures that fit our backs better and cushion it so that we can feel better when sitting.

Necks

Our necks probably hurt when we stare at our screens for too long since we have to move our head back and forth to look at different parts of our screen.

We may also move our heads towards the screen so that we can look at small text.

Therefore, we should make sure that our necks get a rest by doing some exercises to relax our necks.

Wrists

Since we type a lot, we’ve to move our wrist a lot. Therefore, it’s important to relax them by exercising them so that we can avoid Carpal Tunnel Syndrome.

With Carpal Tunnel Syndrome, we have pain and numbness on our wrist, we mean that we can’t type anymore.

If we don’t want that we’ve to take breaks and relax our wrists.

Ride a Bike

Riding a bike is always a good exercise. So we may want to ride a bike to work or ride it when we have a break.

It’s always good to ride a bike to exercise our joints.

Walking Desk

If we sit too long, then we may want to work standing up instead. This is where a walking or standing desk is good.

If we have those, then we can stand up to work sometimes instead of sitting all the time.

Go to the Gym

The gym has exercise equipment that most of us don’t have. So we can go there to do some exercises like lifting weights and run on the treadmill.

Then we’ll be relaxed and energetic in no time.

Conclusion

To stay fit physically and mentally, we got to do some exercises and have a good diet.

This means lower the sugar and carbs, work in different physical positions, exercising and taking breaks often.

Categories
Careers

Ways Developers Can Use Google to Search More Efficiently

Google is a great search engine for search for solutions as developers.

In this article, we’ll look at how to search for things better in Google as developers.

Use the Tabs

We can use different tabs for different purposes. For instance, we can search for fake images in the Image tab and use the Web tab for searching for solutions to our problems.

Use Quotes

We can put everything in quotes to make sure that the whole phrase is included in all the search results.

Use a Hyphen to Exclude Words

We can use a hyphen to exclude words so that we can remove words that we don’t want in our search.

For instance, we can search for Angular -1.5 so that we’re searching results for Angular 1.5.

Use a Colon to Search Specific Sites

We can use the colon and the website domain after it to search for what we’re looking for. So we can type something like Angular site:stackoverflow.com to search questions about Angular in Stack Overflow.

Find a Page That Links to Another Page

The link keyword lets us find something that links to another page.

For instance, we can type React link:stackoverflow.com to find all the pages with the word ‘React’ that links to Stack Overflow.

Use the Wildcard

The asterisk * character is a wildcard character. We can put them anywhere to use it.

For instance, we can write Angular * React to search for any phrase with words between ‘Angular’ and ‘React’.

Find Sites That are Similar to Other Sites

We can use the related keyword to search for sites that are related to other sites.

So we can write related:stackoverflow.com to search for sites that are related to Stack Overflow that answer questions.

Google Search Can Do Math

We can do arithmetic operations by typing in expressions that can be computed.

So arithmetic expressions like 1 + 2 can be typed in and we get 3.

Search for Multiple Words at Once

The OR operator lets us search for multiple phrases in the search box. For instance, we can use it as follows:

Angular OR React

Then we search for both Angular and React .

Search a Range of Numbers

The .. operator can let us search for a number range. For instance, we can use 1..5 to search for results with numbers ranged one to five in it.

Also, we can search for a single number by writing World Cup ..2006 to search for World Cup results

Nearby Locations

We can search for things that are near us without specifying our location explicitly.

So we can search for developer confereneces nearby to get all the developer conferences nearby.

Search for Results That Contains All the Text

We can search for results with all the text in our results with the allintext operator.

So something like allintext:developer confereneces will search for results with all the words that come after in the result.

Search for Results The Have All Words in the Title

Words in the title can all be searched together. We can use the allintitle operator to do the search.

So allintitle:developer confereneces will search for items that have both ‘developer’ and ‘conferences’ in the title.

Shortcuts

There’re plenty of shortcuts in Google.

We can search ‘weather zip code’ to search for weather with a given zip code.

The define operator gives us dictionary definitions of words.

‘time location’ gives us the time so it’s good for things like remote meetings where we don’t know what other people’s times are.

Autocorrect Spelling

Google will autocorrect spelling errors so we don’t have to worry about spelling errors when typing.

We can just type as fast as we can and Google will take care of the rets.

Find a Specific Kind of File

This is good for searching for a specific kind of file. For instance, we can search for fake PDF files by using the filetype operator as follows:

dummy filetype:pdf

Then we can search for dummy PDF files we can use for testing.

Conclusion

We can use these Google tricks to make our lives much easier when searching for things.

Developers have to search for things online all the time, so these tricks will help out a lot.

There’re operators to search for anything and there’re many more that aren’t covered here.

Categories
Careers

Tips Developers Can Follow to Become Great Achievers

Being a developer is hard. Not only do we have to know technical skills, but we also have lots of soft skills that we’ve to get good at.

In this article, we’ll look at the ways that we can get better as developers.

Reassess Our Workflow

Reassessing our workflow often helps us find better ways to work. We should adopt them to the situation to suit our needs in the short term.

Working From Home

Working from home takes discipline. We got to do the work by removing temptations and distractions like televisions, social media, and many other things that can distract us at home.

This may be hard. But it’ll definitely help us to get things done at home, which helps us survive in our jobs or if we’re working for ourselves.

Code for Accessibility

When we’re writing our code, we should be considerate of users that may not be able to do all the things that healthy people can do.

Therefore, we should think about accessibility when we’re writing our code so that they can enjoy our production the same way that anyone else can do.

Honor Our Commitments

If we commit to something then we should deliver them by the date we committed to.

Otherwise, if we fall behind, we should update everyone so that they’ll all adjust their expectations.

Be Proactive

Helping others when we have time is always a good idea. They’ll all be thankful if we help them.

Build a Portfolio and Online Presence

A portfolio is a great way to promote ourselves. We may not need it now, but it can get us extra opportunities if we don’t need them and if we need to get a new job, then they’ll help us even more.

Also, we should all have a public online persona so that people know that we exist on the Internet.

Today’s world isn’t just confined to where we live, and opportunities can come from anywhere.

Therefore, we should take advantage of that so that we can get opportunities wherever they’re from.

Remember Why We Love Programming

We got to remember whey we love programming so that we don’t get discouraged when we’re going through tough times.

Take a break if we’re building negative feelings. We got to think as to why we got into programming in the first place so we can reignite our passion.

Share Our Knowledge

Sharing our knowledge anywhere including meetups, conferences and online are a great idea.

Teaching our knowledge help others so they can share it with others. It doesn’t only help the people we’re directly teaching, but a lot more other people that the people we taught are teaching.

Recognize Our Weaknesses

We should recognize our weaknesses so that we can learn things to improve our weaknesses.

It’s important that we improve them so that we get better in the future.

Thinking about The Big Picture

Thinking about the big picture is always needed. Most systems that people use are big so that we have to know about the big picture even though we only work on a part of it.

There’re are a few parts that we have to think of to build the big picture. There’s the business side which we have to meet the needs of.

There’s the users’ side which actually provides the features that users need.

Then there’s the technology which we use to build the whole solution. We have to know how each part interacts so that we can work with them easily.

Develop Quickly

We got to able to create the correct code quickly so that we can deliver our stuff. This got to come with experience.

Every code base is different so that when we move on to a new company, we got to learn everything from scratch again about their codebase so we can develop quickly again.

Find the Ideal Solution

The ideal solution should be found before coding. We got to think from the users’ perspective and all the ways that our solutions could fail.

We probably need another person to help us find our flaws if the feature is complex.

Conclusion

We got to think about the user and stakeholder when we’re writing. This means that we should honor our commits and update them if we can’t.

Also, we should get the big picture so our solutions won’t do things that are unintentional.

Finally, when times are tough, we should remind ourselves whey we like programming.

Categories
Careers

Questions to Ask Interviewers at a Developer Interview

Getting a job that fits us is hard. Therefore, we should do our due diligence and ask some questions before so that we know if the job is good or not.

In this article, we’ll look at some questions we should as interviews in an interview to see if the company we’re interviewing for is a good fit.

What’s the Process for Managing Code?

We should ask this to see how code is managed.

Things that we should definitely hear are things like version control. Ideally, it’s done with Git so that we can have both remote and local repositories.

If there’s no version control, that’s definitely no good. If it’s in some centralized system in some office, then we might want to think twice if we want to work from at least part-time.

It’s also possible that proprietary software is used which probably isn’t ideal.

Having automated pipelines for building and deployment are good. Otherwise, the job is probably going to be miserable if we have to do manual builds and deployments since it’s so risky and error-prone.

The stress level of everyone involved will go through the roof if the code is built and deployed manually.

How Long are Typical Sprints?

That’s more of a preference for us. If we want a more relaxing job, then longer sprints are good.

If we want a fast-paced environment, then shorter ones are better.

In either case, we just have to take a pick and see what we like better.

How Many Developers are on the Team?

Ideally, we want to have smaller teams since big teams have big meetings and more communication overhead.

We don’t want to have too many big and long meetings getting in our way. That’ll make anyone miserable in the long run.

However, larger teams will probably have more people to learn from and share knowledge.

Are There Any Offsite Travel Required?

This is another question for us to gauge our fit for a company.

If we love business travel, then we can go for a job with travel. Otherwise, we pick ones that don’t need to travel to do our job.

Do Developers Have Time to Learn on the Job?

Learning is always important and it’s ideal that we get time to learn on the job.

If they do give us time to learn on the job, then that means they care about our growth. They’re paying money for us to learn on the job.

Otherwise, they probably don’t care about our own growth that much and that may reflect on the company’s willingness to retain employees.

How Much Vacation Days Do We Get?

Vacation days are important. Either we can bring it up in the interview or we can bring it up when the offer is received. Either way, we’ve to know that so we can know how long we can take vacations for and still get paid.

The company should be able to have someone fill in for us so that we can have vacations. This is important since we don’t want to think about work when we’re on vacation.

What Are The Processes for Emergency?

Bad things like bad deploys or corrupting data can happen.

Therefore, we should make sure that the company that we may work for has processes to handle those situations.

We should be able to revert bad deploys quickly. Also, we should have lots of downtimes to fix these kinds of issues.

Also, database backups are very important so that we can recover from the in case there’re any issues with the data.

What Technology is the Company Currently Using?

This question may be something that we want to ask if we have any preferences in the technology we want to use.

Ideally, we learn that from the job description, but we should make sure what portion of the system uses those technologies.

Job descriptions probably don’t have such a detail breakdown on how the technologies are used in their systems, so it’s worth asking this.

Conclusion

An interview is a 2-way street, so we should ask questions that’ll help us gauge our affinity for a job or team so that we can be sure that we’ll actually like working there if we get an offer.