πŸ“œ ⬆️ ⬇️

Seven things you need to know a novice programmer

If you are recently in the world of professional developers, you might hear about things that are not taught at the university or at the courses.

Whether a graduate who is beginning a developer’s career, or a person moving to programming from another sphere, stop and read these seven tips for novice programmers from those who have been doing this for many years.



')

Look under the hood


Knowledge of a programming language is the basis of software development. But it is equally important to understand what is hiding near the tongue under the hood.

Pete Ball, support engineer at Acquia, said: β€œ Many languages ​​are abstracted from what happens at the system level, and this abstraction is useful because it allows developers to develop faster. But when you come across a rake, a really unpleasant bug, you need to understand what is going on inside. It is absolutely necessary then to be able to look inside the process, look at the system calls and understand how a piece of code interacts with the rest of the system . ”

Similarly, Robert Douglas, vice president of customer satisfaction at Platform.sh, says: β€œ When I started programming, there were things that I really didn’t understand. Three examples of such things are file systems, a network, and how data is stored in memory. This means that I did not necessarily understand the goals of some of the programs I’ve encountered . ”

Know the command line tools


There is a chance that as a developer, most of the time you will write code in a beautiful editor or IDE. However, knowing the various command line utilities can make your life easier.

A veteran with twenty years of experience, who wished to remain anonymous, said: β€œ Sometimes you are in front of a machine with a limited set of tools and a task that needs to be done right now. Know the command line like five fingers; tools like find, comm, diff, vi / vim, sed, awk; know how to write small scripts right on the command line to find the file that needs to be corrected right now, because the production is broken, and Joe, who didn’t go there with his little hands, is on vacation in Fiji . ”

The score, which used Microsoft's tools, and now moves to Linux, agrees: β€œ I learned about the command line and the * nix utilities everything that is possible. I can remember the code that I wrote a year ago, and how I spent days or weeks working on what is solved by a one-liner on grep + awk . ”

Debagger is your friend


As a developer, you will spend a lot of time catching bugs. Dave Wayron, a biotech programmer at Novartis, highlights the advantages of a debugger, despite the time it takes to master it.
β€œ Learn to use debugger! "He says. β€œ Spend a day or two on setting it up. If you do not see the expected result, just debug it: set breakpoints and move carefully along the code, especially the code of third-party libraries. It will deprive you of days of frustration, moreover: you will learn new things simply by reading someone’s code . ”

Learn to write tests


Some developers are convinced of the critical importance of unit testing, which involves writing small tests that check if the code does what the developer intended. These people include Richard Handloff, database developer at Strategic Power Systems. He writes: β€œ I think the best advice I can give to a novice developer is to learn how to write good tests as early as possible .”

Plan your self-study


With the rapid change in technology, the systems, languages ​​and tools used by programmers are changing.

Adam Wolfe, mobile developer and founder of Milestone Made, suggests that new developers must be prepared for change and be on the crest of a wave. β€œ Right now I want to say that you should be ready to master a new technology stack about every four years. Good basic knowledge will always be relevant, but the tools and technologies that you will use every day will change no less than with the frequency mentioned . ”

β€œ Projects are no longer written in the same language and technology stack, ” said an anonymous developer. β€œ You will never limit yourself to working with only one technology in one project. Get used to the transition from project to project and from one language and technology to another . ”

Cooperate


Despite the fact that developers usually work in isolation, they have to interact with other people. Ben Miller, CTO Sinclair Digital Ventures, stressed the importance of team readiness for your career: β€œ Big projects are a bunch of moving parts put together, and how they connect and share problems will create incredible engineering difficulties if you are not careful "He writes.
β€œ Before embarking on improving one algorithm, get together with the team and make sure that there is no way to divide the problem into all, making it easier. Development - a team game! ".

Confirming the importance of team skills, Veyron says: β€œ If you cannot understand for yourself how this interface works, ask for help. The fact that you consider your work a masterpiece does not make it a masterpiece. Like in college, other people in the room have the same questions or questions that only you can answer. Develop relationships with colleagues. Often, simply voicing a problem causes insight . ”

An anonymous source, sharing the opinion of the importance of a team game, says: β€œ Get together and do what they say, even if it tires you. But be careful: you risk getting stuck for so long . ”

Develop for yourself outside of work


Miller gives quite interesting advice that does not seem obvious at first glance. β€œ Developing for yourself is the way to enhance ,” he says. β€œ Find a simple solution to the problem, make the code understandable and easily modified, and you will be given more work. In time, they will even ask you for advice, ”he explains. β€œ In short, the quest for calm, safe work will hinder a career .”

Translated: Andrei Nikiforov
___

Useful materials for novice developers from the educational IT-portal GeekBrains:
Record of the webinar " Everything you wanted to know about the profession of a programmer "
Free online course for beginners " Basics of programming "

Source: https://habr.com/ru/post/281184/


All Articles