Web development is probably one of the most interesting industries to be in right now. Whether you’re thinking about the Silicon Valley, the startup scenes or any new 1 billion dollar idea. It’s most likely that it has something to do with web development or at least with software in a more general sense.
Web development left the niche of geeks and nerds a while ago and many people – especially younger generations – are thinking about getting into web development.
Well, yes. That’s absolutely a great idea. Do it.
However, there are a couple of things you need to know when starting in web development.
Learn how to express yourself
It came to me a couple of weeks ago while talking with SaaS founders and CTOs. Again – the one thing every technology-orientated company keeps telling you: One of the most important skill in web development is communication!
Working as a developer, software engineer or no matter how you call it, require strong skills in expressing yourself and building trust. Creating goods which are not really tangible requires you to make your ideas clear and plain.
Learn how to say no
Saying “no” sounds pretty harsh. And it’s probably one of the hardest things for us as developers. Saying no to ideas, features or even products. Especially if they are great.
Nevertheless, we have to learn how to “say no” (even to great ideas) in order to not forget about the bigger picture we aim for.
Do not waste time on “nice ideas”.
Code changes & so do you
I guess it happens quite a lot. We are completely convinced that the website/app/product someone else built lacks some quality. I stumbled upon this conversation about how developers think about other developer’s code, and about their own code too 🙂
It’s always easy looking back at someone else’s code. Don’t forget that every one of us evolves and so does our code.
Create – don’t build
A lot of developers – and their environment as well – see themselves as makers or builders. Building things the product managers dreamed up and the designers made esthetically.That’s kind of a narrow perspective since it basically states: quality of developer = quality of code
I’ve recently read this piece about software engineers and I completely agree with the following quote:
“Software engineers aren’t builders. Software engineers are creators”
Building means that the instructions are laid out and you work step by step in order built what you’ve designed beforehand.
Creating is different. Creating means starting with a plain page and painting a masterpiece. Developers don’t code because someone tells them what & how to do. They create something useful. Something people find useful & use.
Developers are part of the creative process.
Ask questions. Ask a lot of questions.
I’ve experienced a couple of situations where I felt uncomfortable while people were talking about all kind of “complex and magical” things and basically everyone was nodding. Later I’ve discovered that most people didn’t had a clue what the person was talking about, but agreed because “it sounded so complex and great”.
Well, here’s my point: Ask questions. Ask a lot of questions until you get behind “the magic”. Focus on the common goal and bring everyone up-to-speed. You won’t believe how easy it is to create that situation by simply asking.
Show passion, but don’t show ego.
I guess most developers are passionate about the work they do. It’s not only common amongst developers but in other creative industries too.
And to be honest it’s a scenario which a lot of us aim to achieve. Being passionate about your work is great. However, it can be seen as shellfish from the outside.
The simplest abstractions are usually best
I discovered an interesting Quora thread on how to be more productive as a developer. Jonathan Blow’s talk highlights the mind of the programmer as the real time killer. Reducing the complexity of your tasks will also help you to be more productive.
As he states:
“If you can keep it all in your head, you will be faster. You can’t keep it all in your head if there is this ton of complexity”.
With every new class/method you add to your code, the complexity will increase exponentially. Keep it simple!
Consider your code’s future
Considering the future of your code is key regarding the sustainability of your work. Maintenance is an important area as well as Nic stated in his post too. Not only regarding costs, but also regarding your successors which may follow. Make your code easy to read.
And as Karan wrote in his essay about “the 7 rules for writing software that won’t die when you do” I’d like to finish with this awesome quote:
“Learning to make software is a skill. Anyone can do it. Learning to make good software is an art.”
What other advice would you give to someone starting out in web developments? Let us know in the comments.
This article was brought to you by Usersnap – a visual bug tracking and screenshot tool for every web project.