DEV Community

Cover image for 10 lessons from a software engineer & freelancer

10 lessons from a software engineer & freelancer

Fabio Zammit on December 28, 2018

In recent weeks, I wanted to share some of the lessons I learnt throughout my career as a software engineer, freelancer and now running a software ...
Collapse
 
mohdule profile image
Mohannad Salah • Edited

Awesome post πŸ‘

I was just talking to a colleague of mine about that UX knowledge point yesterday.

When running a start-up with no designer or a UX guy at least having a "good enough" product UX is really vital to market penetration.

This adds up to what you pointed out earlier about "putting yourself in other people's shoes", this is a part of that, IMO developers must put themselves in the end user shoes and use the product, they would notice a lot of improvements that could be made, UX wise, and feature wise as well.

Collapse
 
adrienjoly profile image
Adrien Joly

Very good advice! As an ex-freelancer who is very curious and loves to experiment and learn through side projects, the only advice I don't 100% agree with is "Showcase EVERYTHING".
I did that and it attracted a too wide array of customers and projects, mostly on topics that I didn't want to work on anymore.
As replying to potential clients takes time and saying no is not easy nor fun, I would recommend to pick a speciality / area of focus and/or a clear set of technologies you want to work with, and only share a portfolio that is related to that.
Also keep in mind that the projects that you take will influence the kind of potential clients that will contact you => only accept the kind of missions that you would accept to do again in the future.

Collapse
 
fzammit profile image
Fabio Zammit

Thank you :) glad you found it useful.

Yes, and that is also part of being a start-up where you have to wear multiple hats in order to get the product out there.

"IMO developers must put themselves in the end user shoes and use the product" - that my friend is the holy grail. Keep repeating this to everyone!

Collapse
 
ericlortie profile image
Eric Lortie

Good points, and well written.

I used to freelance years ago, and then I worked at a couple startups as they progressed, eventually working dev team manager, project manager and product manager roles. I also spent a couple years teaching at university and college programs.

I'm now back to freelancing and the quality of my work and experience is completely different than it was before, mainly because I learned all of the lessons you've included here.

Collapse
 
fzammit profile image
Fabio Zammit

Thank you for your comments πŸ™‚

β€œthe quality of my work and experience is completely...”....that is very true and I can relate to this.

In fact I would recommend anyone to try working for companies/startups even when a freelancer.

Collapse
 
lexuantrung8 profile image
Le Xuan Trung • Edited

Thank you for your post.
I'm trying to be a freelancer, but I don't have more experience with this position, too hard to get the first job among developers when I just started
Do you have any idea with mine case?
Thank you.

Collapse
 
fzammit profile image
Fabio Zammit • Edited

I suggest you put together a portfolio of what you did even if they are projects you did for yourself.

Once you are done open a profile on Elance and Upwork. That should give you a good start but the most important is perseverance, never give up, as cliche as that sounds. Wish you all the best of luck 😊

Collapse
 
ngryman profile image
Nicolas Gryman

Haha I've made the exact same rm -rf / in my first job... Hopefully SVN saved us back then. God, SVN...

Anyway, great post especially about ego!

Collapse
 
fzammit profile image
Fabio Zammit

Haha, damn...... Thanks for taking me down memory lane.

SVN rocked at the time, then Mercurial was kind of the new kid on the block.

Thanks for the comments πŸ™‚

Collapse
 
freewayz profile image
Peter Edache

Awesome man

Collapse
 
fzammit profile image
Fabio Zammit

Thanks πŸ™‚

Collapse
 
torajk profile image
Toraj Khavari

Good and valued inputs. Very true. Happy new year. Thank you.

Collapse
 
fzammit profile image
Fabio Zammit

Thank you for your comments, same to you!

Collapse
 
keziahmoselle profile image
Keziah

Great post !
I would love to see a list of ideas of this point : Lesson 1 - Showcase EVERYTHING

Collapse
 
fzammit profile image
Fabio Zammit

Thank you :) Sure I will write a new post about this in the coming days.

Collapse
 
keziahmoselle profile image
Keziah

Great ! Thank's

Collapse
 
sduduzog profile image
Sdu

Ahh, might as well say it. While trying to configure lamp on my machine I removed root privileges from root. I couldn't fix that because I no longer had permission as root

Collapse
 
fzammit profile image
Fabio Zammit

Thanks and well done for sharing, it will only make you stronger πŸ™‚

Collapse
 
joruch profile image
Joris

Yes! and especially on point 3! I've been meaning to write an article on this subject for a while now. You should always pick the language that suits your application, never the other way around!

Collapse
 
fzammit profile image
Fabio Zammit

Write the article, the more awareness we raise, the more we grow πŸ™‚

Collapse
 
5456qwe profile image
1214586

Lesson 10 is the hardest ;_;

Collapse
 
fzammit profile image
Fabio Zammit

Yes, however the best way to go around it, is to put yourself out there. Post articles, tell everyone what you do, what you enjoy and get very involved on Twitter.

I can see you have some Github repos, promote what you did :) I am convinced that your work will be appreciated!

Collapse
 
sfarkas1988 profile image
Sandor Farkas

Great post, I agree with all your points 100%!

Collapse
 
fzammit profile image
Fabio Zammit

Thank you πŸ™‚

Collapse
 
godfreytech profile image
Godfrey Muiruri

Nice post.

Collapse
 
fzammit profile image
Fabio Zammit

Thanks πŸ™‚

Collapse
 
kgkk416 profile image
GANESH

Nice post

Collapse
 
fzammit profile image
Fabio Zammit

Thank you

Collapse
 
ben profile image
Ben Halpern

Fabulous post, great advice.

Collapse
 
fzammit profile image
Fabio Zammit

Thank you :) Highly appreciate your comments

Collapse
 
nicolasguzca profile image
Nick

Thank you for this post Fabio! Great advice

Collapse
 
fzammit profile image
Fabio Zammit

Thank you, glad you found it useful :)

Collapse
 
steelwolf180 profile image
Max Ong Zong Bao

Awesome post I find that the jargon part is always something I had problems with.

Which turns out to be really bad whenever I explain it in a none technical way.

Collapse
 
fzammit profile image
Fabio Zammit

Don’t worry awareness is the most important, plus this still happens to most of us.

The most important is trying!

Thanks for the comments πŸ™‚

Collapse
 
elvin profile image
elvin

Great post!

Collapse
 
fzammit profile image
Fabio Zammit

Thanks

Collapse
 
abdurrahmaanj profile image
Abdur-Rahmaan Janhangeer

haha dev.to actually helps according to this article πŸ‘agree