Hot answers tagged

557

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 ...


459

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 ...


274

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 "...


257

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.


244

When to ask for help, and when NOT to ask for help.


237

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% ...


234

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 ...


188

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 possible,...


184

How to read other people's code.


172

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.


152

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.


145

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 ...


144

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? Do ...


131

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 ...


131

Ok, here goes my take on this big and complicated topic. Pros for keeping your coding style: Things like x = x || 10 are idiomatic in JavaScript development and offer a form of consistency between your code and the code of external resources you use. Higher level of code is often more expressive, you know what you get and it's easier to read across ...


123

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.


113

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 ...


110

Looking back at old things I wrote and realizing just how bad they were.


105

When I hear “Senior Developer” I think of someone who has mastered programming. I think of a person who can design, code and test a system. They can talk to system architecture or component design. They understand and use design patterns. This person can anticipate the performance bottlenecks, but knows not to pre-optimize. This person will leverage ...


104

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.


96

Run away, and run away quickly. Unless you're desperate for a job and are very hungry, this is a situation you want to steer clear of. I have experience with a company that did this, and the only reason that they did so was so that their employees wouldn't gain meaningful, transferable experience. It really was all about control. Others who said here ...


96

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 ...



Only top voted, non community-wiki answers of a minimum length are eligible