Hot answers tagged skills
Deciding TO be a 'Jack-of-all-Trades' Fairly early in my career, I was an expert with a particular database and programming language. Unfortunately, that particular database lost the 'database wars', and I discovered that my career options were ... limited. After that I consciously decided that I would never let myself become boxed in like that again. So ...
I always thought of my self as a pretty hot-shot programmer. Then a new guy, call him Aaron, was hired into our team. Aaron was obviously much better than me in most areas. He was younger than me, too. He made me realize I hadn't really improved much in the past years. I was an ad-hoc hacker, and a mediocre one at that. This alerted me to consciously ...
You can call yourself a Senior when: You can handle the entire software development life cycle, end to end You lead others, or others look to you for guidance. You can self manage your projects Software development is a curious creature unlike other fields. Sometimes, a fresh punk out of college can run circles around veterans who have 20+ years of ...
Two things: Read code written by different people. Write documentation for code written by other people. Writing code is extremely easy; every other person I know can do that. But reading someone else's code and figuring out what it does was a whole new world to me.
When to ask for help, and when NOT to ask for help.
First, as a senior developer, I expect the juniors I lead on projects to bring their concerns to me in a straight forward and direct manner. If they disagree, that's perfectly alright with me. In some cases, I will take action on their concerns. In most cases, their concerns are tossed aside put aside with a short explanation of the reasoning, not out of ...
This will vary but this is how I see it at a place large enough to have distinctions between types of programmers. I would say entry level and Junior are the same thing. They are just out of school and have less than two years of work experience. They are assigned the least complex tasks and should be supervised fairly closely. Generally they know about 10% ...
There is a trick, one that a junior successfully pulled on me (the extremely bad tempered know-it-all senior developer): Do whatever you are asked to do, and exactly how you are asked to do it - be fantastically professional or go home, If you have (any) concerns, write them down - never assume you'll remember (true developers log everything), If ...
How to read other people's code.
Took a part-time job tutoring CS students at my university. It really forces you to understand something at a completely different level when you have to explain it to someone else.
Familiarity with version control systems. It doesn't have to be every one, but the basic concepts that can be applied to all of them should be known.
In your case, as you're self-taught and already have what seems to be a good, healthy and no-BS approach to learning. Still some suggestions... Practice Makes Perfect I think you should dive into progamming exercises, like the: Project Euler, the classic 99 Prolog Puzzles (just as good for any language), TopCoder, Google Code Jam, and so forth. Even ...
I feel guilty for not having a hobby project Feeling guilty is a crazy reason to embark on a programming project. Probably a good way to start hating programming, too. Work on something because you want to, not because you think you're supposed to. but everything I can think of doing has already been done. Bah! Who cares if it's already been done? ...
When I was in just out of college, there was a Guy who would stop by my house on recycling day and pick out all our cans and bottles that had a deposit. I became kind of friends with the Guy, I’d ask him how’s business, he’d ask me how I liked my cube and we’d have good laugh. One day we got to talking about what I do and I told him”I made things to help ...
This statement applies only to ephemeral technologies, which you should only learn as needed anyway. That said, you're going to learn a lot of them over your career. Fundamental programming principles and techniques are eternal.
Looking back at old things I wrote and realizing just how bad they were.
It's up to the company really, as I don't think there's a legal framework to enforce a denomination or another, or at least not that I am aware of and this might vary from country to country (for instance, the use of the term "engineer" is actually fairly regulated in France, but there are variants that are allowed for the "abusive" cases). That being said ...
Maybe it's too subtle, but I think of it as "knowing which problem to solve." A lot of programmers (and normal people) waste tremendous effort solving things that simply aren't very important; or they create a solution, with a great deal of extra work, that isn't quite what is needed.
Don't worry about meeting some ridiculous concept of "skill" so commonly heard in such statements like: All programming languages are basically the same. Once you pick up one language well you can pick up any other language quickly and easily. Languages are just tools, there's some overarching brain-magic that actually makes the software. These ...
The main purpose of certifications is to make money for the certifying body. Having said that, I think certifications are more important the earlier on in your career you are. As a hiring manager, I never use certifications or the lack thereof to filter potential employees, but I do think some companies may look for these as proof that you know what you are ...
How to relax. It's the secret to productivity. Eventually, willpower and caffeine are not enough. This constant contraction we do is very damaging. This is a big deal.
Only top voted, non community-wiki answers of a minimum length are eligible